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