1WB_UTINY *    T_PV
2WBXMLAttribute *				T_PTROBJ
3WBXMLAttribute **				T_PTROBJ
4WBXMLAttributeName *				T_PTROBJ
5WBXMLBuffer *					T_PTROBJ
6WBXMLBuffer **					T_PTROBJ
7WBXMLContentHandler *				T_PTROBJ
8WBXMLConvWBXML2XMLParams *			T_PTROBJ
9WBXMLConvXML2WBXMLParams *			T_PTROBJ
10WBXMLEncoder *					T_PTROBJ
11WBXMLEncoderXMLGenType				T_PTROBJ
12WBXMLError					T_PTROBJ
13WBXMLLanguage					T_PTROBJ
14WBXMLList *					T_PTROBJ
15WBXMLListEltCleaner * destructor		T_PTROBJ
16WBXMLParser *					T_PTROBJ
17WBXMLTag *					T_PTROBJ
18WBXMLTree *					T_PTROBJ
19WBXMLTree **					T_PTROBJ
20WBXMLTreeAttribute *				T_PTROBJ
21WBXMLTreeNode *					T_PTROBJ
22WBXMLTreeNodeType				T_PTROBJ
23WBXMLValueType					T_PTROBJ
24WBXMLVersion					T_PTROBJ
25char * const *					T_PTROBJ
26const WBXMLAttrEntry *				T_PTROBJ
27const WBXMLExtValueEntry *			T_PTROBJ
28const WBXMLLangEntry *				T_PTROBJ
29const WBXMLNameSpaceEntry *			T_PTROBJ
30const WBXMLTagEntry *				T_PTROBJ
31const char *					T_PTROBJ
32const fpos_t *					T_PTROBJ
33const struct rlimit *				T_PTROBJ
34const unsigned char *				T_PTROBJ
35const unsigned char **				T_PTROBJ
36const void *					T_PTROBJ
37const wchar_t *					T_PTROBJ
38dev_t						T_IV
39div_t						T_OPAQUE_STRUCT
40double [ ]					T_PTROBJ
41fpos_t						T_NV
42fpos_t ( * ) ( void *, fpos_t, int )		T_PTROBJ
43fpos_t *					T_PTROBJ
44id_t						T_UV
45idtype_t					T_PTROBJ
46int ( * ) ( const void *, const void * )	T_PTROBJ
47int ( * ) ( void * )				T_PTROBJ
48int ( * ) ( void *, char *, int )		T_PTROBJ
49int ( * ) ( void *, const char *, int )		T_PTROBJ
50int ( * ) ( void *, const void *, const void * )	T_PTROBJ
51int *						T_PTROBJ
52ldiv_t						T_OPAQUE_STRUCT
53lldiv_t						T_OPAQUE_STRUCT
54long *						T_PTROBJ
55long long					T_NV
56mode_t						T_UV
57pid_t						T_IV
58siginfo_t *					T_PTROBJ
59size_t *					T_PTROBJ
60struct rlimit *					T_PTROBJ
61struct rusage *					T_PTROBJ
62u_int32_t					T_UV
63unsigned *					T_PTROBJ
64unsigned char **				T_PTROBJ
65unsigned int *					T_PTROBJ
66unsigned long long				T_NV
67unsigned short *				T_PTROBJ
68unsigned short [ 3 ]				T_PTROBJ
69unsigned short [ 7 ]				T_PTROBJ
70void ( * ) ( void )				T_PTROBJ
71#############################################################################
72INPUT
73T_OPAQUE_STRUCT
74	if (sv_derived_from($arg, \"${ntype}\")) {
75	    STRLEN len;
76	    char  *s = SvPV((SV*)SvRV($arg), len);
77
78	    if (len != sizeof($var))
79		croak(\"Size %d of packed data != expected %d\",
80			len, sizeof($var));
81	    $var = *($type *)s;
82	}
83	else
84	    croak(\"$var is not of type ${ntype}\")
85#############################################################################
86OUTPUT
87T_OPAQUE_STRUCT
88	sv_setref_pvn($arg, \"${ntype}\", (char *)&$var, sizeof($var));
89