Lab::Zhinst          T_PTROBJ
Lab::Zhinst::ZIEvent T_PTROBJ
HV *                 T_HVREF_REFCOUNT_FIXED
uint16_t             T_UV
uint32_t             T_UV

ZIResult_enum        T_IV
ZIDoubleData         T_DOUBLE
ZIIntegerData        T_IV
##########################
INPUT
T_HVREF_REFCOUNT_FIXED
	STMT_START {
		SV* const xsub_tmp_sv = $arg;
		SvGETMAGIC(xsub_tmp_sv);
		if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVHV){
		    $var = (HV*)SvRV(xsub_tmp_sv);
		}
		else{
		    Perl_croak_nocontext(\"%s: %s is not a HASH reference\",
				${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
				\"$var\");
		}
	} STMT_END


###########################
OUTPUT
T_HVREF_REFCOUNT_FIXED
	$arg = newRV_noinc((SV*)$var);