TYPEMAP
Signal::Info	T_OPAQUEOBJ

INPUT
T_OPAQUEOBJ
    {
		SV * sv = $arg;
		if (SvROK(sv) && sv_derived_from(sv, \"$ntype\"))
			$var = ($type)SvPV_nolen(SvRV(sv));
		else
			croak(\"%s: %s is not of type %s\", ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]}, \"$var\", \"$ntype\");
    }


OUTPUT
T_OPAQUEOBJ
	{
		sv_setref_pvn($arg, \"$ntype\", (const char*)$var, sizeof(*$var));
		SvREADONLY_on(SvRV($arg));
	}

