This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Encode: synch with CPAN version 3.04
[perl5.git] / cpan / Compress-Raw-Zlib / typemap
1 Compress::Raw::Zlib::gzFile             T_PTROBJ
2 Compress::Raw::Zlib::deflateStream      T_PTROBJ
3 Compress::Raw::Zlib::inflateStream      T_PTROBJ
4 Compress::Raw::Zlib::inflateScanStream  T_PTROBJ
5
6 #Compress::Raw::Zlib::gzFile            T_PTROBJ_AV
7 #Compress::Raw::Zlib::Deflate           T_PTROBJ_AV
8 #Compress::Raw::Zlib::Inflate   T_PTROBJ_AV
9 #Compress::Raw::Zlib::InflateScan       T_PTROBJ_AV
10
11 Bytef *                         T_PV
12 #uInt                           T_IV
13 #uLongf                         T_IV
14 const char *                    T_PV
15 char *                          T_PV
16 uLong                           T_UV
17 z_off_t                         T_UV
18 STRLEN                          T_UV
19 DualType            T_DUAL
20 int_undef           T_IV_undef
21
22
23 #############################################################################
24 INPUT
25 T_UV
26         $var = (unsigned long)SvUV($arg)
27 T_IV_undef
28         if (SvOK($arg))
29         $var = SvIV($arg);
30     else
31         $var = 0 ;
32 T_PV
33         if (SvOK($arg))
34             $var = ($type)SvPVbyte_nolen($arg);
35         else
36             $var = NULL ;
37
38 T_PTROBJ_AV
39         if ($arg == &PL_sv_undef || $arg == NULL)
40             $var = NULL ;
41         else if (sv_derived_from($arg, \"${ntype}\")) {
42             IV tmp = SvIV(getInnerObject($arg)) ;
43             $var = INT2PTR($type, tmp);
44             
45         }
46         else
47             croak(\"$var is not of type ${ntype}\")
48
49
50
51 #############################################################################
52 OUTPUT
53 T_UV
54         sv_setuv($arg, (IV)$var);
55
56 T_DUAL
57         setDUALstatus($arg, $var) ;
58
59 T_PV
60         sv_setpv((SV*)$arg, $var);
61
62