1Compress::Raw::Zlib::gzFile		T_PTROBJ
2Compress::Raw::Zlib::deflateStream	T_PTROBJ
3Compress::Raw::Zlib::inflateStream	T_PTROBJ
4Compress::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
11Bytef *				T_PV
12#uInt				T_IV
13#uLongf				T_IV
14const char *			T_PV
15char *			        T_PV
16uLong				T_UV
17z_off_t				T_UV
18STRLEN				T_UV
19DualType            T_DUAL
20int_undef           T_IV_undef
21
22
23#############################################################################
24INPUT
25T_UV
26	$var = (unsigned long)SvUV($arg)
27T_IV_undef
28	if (SvOK($arg))
29        $var = SvIV($arg);
30    else
31        $var = 0 ;
32T_PV
33	if (SvOK($arg))
34            $var = ($type)SvPVbyte_nolen($arg);
35	else
36            $var = NULL ;
37
38T_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        else
46            croak(\"$var is not of type ${ntype}\")
47
48
49
50#############################################################################
51OUTPUT
52T_UV
53	sv_setuv($arg, (IV)$var);
54
55T_DUAL
56        setDUALstatus($arg, $var) ;
57
58T_PV
59        sv_setpv((SV*)$arg, $var);
60