TYPEMAP VileBuf * T_VileBuf INPUT T_VileBuf if (sv_isa($arg, \"Vile::Buffer\")) { IV tmp = SvIV((SV*)GvSV((GV*)SvRV($arg))); $var = ($type) tmp; if (!tmp) croak(\"buffer no longer exists\"); } else croak(\"$var is not of type ${ntype}\") OUTPUT T_VileBuf if ($var != 0) newVBrv($arg, $var); else sv_setsv($arg, &sv_undef);