source: for-distributions/trunk/bin/windows/perl/lib/XS/Typemap.pm@ 14489

Last change on this file since 14489 was 14489, checked in by oranfry, 17 years ago

upgrading to perl 5.8

File size: 2.1 KB
Line 
1package XS::Typemap;
2
3=head1 NAME
4
5XS::Typemap - module to test the XS typemaps distributed with perl
6
7=head1 SYNOPSIS
8
9 use XS::Typemap;
10
11 $output = T_IV( $input );
12 $output = T_PV( $input );
13 @output = T_ARRAY( @input );
14
15=head1 DESCRIPTION
16
17This module is used to test that the XS typemaps distributed
18with perl are working as advertised. A function is available
19for each typemap definition (eventually). In general each function
20takes a variable, processes it through the OUTPUT typemap and then
21returns it using the INPUT typemap.
22
23A test script can then compare the input and output to make sure they
24are the expected values. When only an input or output function is
25provided the function will be named after the typemap entry and have
26either '_IN' or '_OUT' appended.
27
28All the functions are exported. There is no reason not to do this since
29the entire purpose is for testing Perl. Namespace pollution will be limited
30to the test script.
31
32=cut
33
34use base qw/ DynaLoader Exporter /;
35
36
37use vars qw/ $VERSION @EXPORT /;
38
39$VERSION = '0.02';
40
41@EXPORT = (qw/
42 T_SV
43 T_SVREF
44 T_AVREF
45 T_HVREF
46 T_CVREF
47 T_SYSRET_fail T_SYSRET_pass
48 T_UV
49 T_IV
50 T_INT
51 T_ENUM
52 T_BOOL
53 T_U_INT
54 T_SHORT
55 T_U_SHORT
56 T_LONG
57 T_U_LONG
58 T_CHAR
59 T_U_CHAR
60 T_FLOAT
61 T_NV
62 T_DOUBLE
63 T_PV
64 T_PTR_IN T_PTR_OUT
65 T_PTRREF_IN T_PTRREF_OUT
66 T_REF_IV_REF
67 T_REF_IV_PTR_IN T_REF_IV_PTR_OUT
68 T_PTROBJ_IN T_PTROBJ_OUT
69 T_OPAQUE_IN T_OPAQUE_OUT T_OPAQUE_array
70 T_OPAQUEPTR_IN T_OPAQUEPTR_OUT T_OPAQUEPTR_OUT_short
71 T_OPAQUEPTR_IN_struct T_OPAQUEPTR_OUT_struct
72 T_ARRAY
73 T_STDIO_open T_STDIO_close T_STDIO_print
74 /);
75
76
77bootstrap XS::Typemap;
78
79=head1 NOTES
80
81This module is for testing only and should not normally be installed.
82
83=head1 AUTHOR
84
85Tim Jenness E<lt>[email protected]<gt>
86
87Copyright (C) 2001 Tim Jenness All Rights Reserved. This program is
88free software; you can redistribute it and/or modify it under the same
89terms as Perl itself.
90
91=cut
92
93
941;
95
Note: See TracBrowser for help on using the repository browser.