--- /dev/null
+Compress::Raw::Zlib::gzFile T_PTROBJ
+Compress::Raw::Zlib::deflateStream T_PTROBJ
+Compress::Raw::Zlib::inflateStream T_PTROBJ
+Compress::Raw::Zlib::inflateScanStream T_PTROBJ
+
+#Compress::Raw::Zlib::gzFile T_PTROBJ_AV
+#Compress::Raw::Zlib::Deflate T_PTROBJ_AV
+#Compress::Raw::Zlib::Inflate T_PTROBJ_AV
+#Compress::Raw::Zlib::InflateScan T_PTROBJ_AV
+
+Bytef * T_PV
+#uInt T_IV
+#uLongf T_IV
+const char * T_PV
+char * T_PV
+uLong T_UV
+z_off_t T_UV
+DualType T_DUAL
+int_undef T_IV_undef
+
+
+#############################################################################
+INPUT
+T_UV
+ $var = (unsigned long)SvUV($arg)
+T_IV_undef
+ if (SvOK($arg))
+ $var = SvIV($arg);
+ else
+ $var = 0 ;
+T_PV
+ if (SvOK($arg))
+ $var = ($type)SvPVbyte_nolen($arg);
+ else
+ $var = NULL ;
+
+T_PTROBJ_AV
+ if ($arg == &PL_sv_undef || $arg == NULL)
+ $var = NULL ;
+ else if (sv_derived_from($arg, \"${ntype}\")) {
+ IV tmp = SvIV(getInnerObject($arg)) ;
+ $var = INT2PTR($type, tmp);
+
+ }
+ else
+ croak(\"$var is not of type ${ntype}\")
+
+
+
+#############################################################################
+OUTPUT
+T_UV
+ sv_setuv($arg, (IV)$var);
+
+T_DUAL
+ setDUALstatus($arg, $var) ;
+
+T_PV
+ sv_setpv((SV*)$arg, $var);
+
+