TXml						T_OPAQUE_STRUCT
TXml *						T_PTROBJ
XmlNode						T_OPAQUE_STRUCT
XmlNode *					T_PTROBJ
XmlNodeAttribute				T_OPAQUE_STRUCT
XmlNodeAttribute *				T_PTROBJ
XmlNamespace					T_OPAQUE_STRUCT
XmlNamespace *					T_PTROBJ
XmlErr						T_IV
struct __XmlNode *				T_PTROBJ
#############################################################################
INPUT
T_OPAQUE_STRUCT
	if (sv_derived_from($arg, \"${ntype}\")) {
	    STRLEN len;
	    char  *s = SvPV((SV*)SvRV($arg), len);

	    if (len != sizeof($var))
		croak(\"Size %d of packed data != expected %d\",
			len, sizeof($var));
	    $var = *($type *)s;
	}
	else
	    croak(\"$var is not of type ${ntype}\")
#############################################################################
OUTPUT
T_OPAQUE_STRUCT
	sv_setref_pvn($arg, \"${ntype}\", (char *)&$var, sizeof($var));
