1BOOL			T_BOOL
2LONG			T_IV
3HKEY			T_UV
4HANDLE			T_UV
5DWORD			T_UV
6oDWORD			O_UV
7UINT			T_UV
8REGSAM			T_UV
9SECURITY_INFORMATION	T_UV
10char *			T_BUF
11WCHAR *			T_BUF
12BYTE *			T_BUF
13void *			T_BUF
14ValEntA *		T_BUF
15ValEntW *		T_BUF
16SECURITY_DESCRIPTOR *	T_BUF
17SECURITY_ATTRIBUTES *	T_BUF
18LPOVERLAPPED		T_BUF
19LONG *			T_IVBUF
20DWORD *			T_UVBUF
21LPDWORD			T_UVBUF
22oDWORD *		O_UVBUF
23HKEY *			T_UVBUFP
24oHKEY *			O_UVBUFP
25FILETIME *		T_SBUF
26
27#############################################################################
28INPUT
29T_BOOL
30	$var= null_arg($arg)||!SvTRUE($arg) ? ($type)0 : looks_like_number($arg) ? ($type)SvIV($arg) : ($type)1
31T_BUF
32	if(  null_arg($arg)  )
33	    $var= NULL;
34	else
35	    $var= ($type) SvPV_nolen( $arg )
36T_SBUF
37	grow_buf( $var,$arg, $type )
38T_IV
39	$var= null_arg($arg) ? ($type)0 : INT2PTR($type,SvIV($arg))
40T_UV
41	$var= null_arg($arg) ? ($type)0 : INT2PTR($type,SvUV($arg))
42O_IV
43	$var= optIV($arg)
44O_UV
45	$var= optUV($arg)
46T_IVBUF
47	if(  null_arg($arg)  )
48	    $var= NULL;
49	else
50	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )= SvIV($arg)
51T_UVBUF
52	if(  null_arg($arg)  )
53	    $var= NULL;
54	else
55	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )= SvUV($arg)
56O_IVBUF
57	if(  null_arg($arg)  )
58	    $var= NULL;
59	else
60	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )=
61	      SvOK($arg) ? SvIV($arg) : 0;
62O_UVBUF
63	if(  null_arg($arg)  )
64	    $var= NULL;
65	else
66	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )=
67	      SvOK($arg) ? SvUV($arg) : 0;
68T_IVBUFP
69	if(  null_arg($arg)  )
70	    $var= NULL;
71	else
72	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )= (void *)SvIV($arg)
73T_UVBUFP
74	if(  null_arg($arg)  )
75	    $var= NULL;
76	else
77	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )= (void *)SvUV($arg)
78O_IVBUFP
79	if(  null_arg($arg)  )
80	    $var= NULL;
81	else
82	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )=
83	      SvOK($arg) ? (void *)SvIV($arg) : 0;
84O_UVBUFP
85	if(  null_arg($arg)  )
86	    $var= NULL;
87	else
88	    *( $var= ($type) TempAlloc( sizeof(*($var)) ) )=
89	      SvOK($arg) ? (void *)SvUV($arg) : 0;
90
91#############################################################################
92OUTPUT
93T_BOOL
94	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  ) {
95	    if(  $var  ) {
96		sv_setiv( $arg, (IV)$var );
97	    } else {
98		sv_setsv( $arg, &PL_sv_no );
99	    }
100	}
101T_BUF
102	;
103T_SBUF
104	trunc_buf( RETVAL, $var,$arg );
105T_IV
106	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
107	    sv_setiv( $arg, PTR2IV($var) );
108T_UV
109	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
110	    sv_setuv( $arg, PTR2UV($var) );
111O_IV
112	if(  ! null_arg($arg)  )
113	    sv_setiv( $arg, PTR2IV($var) );
114O_UV
115	if(  ! null_arg($arg)  )
116	    sv_setuv( $arg, PTR2UV($var) );
117T_IVBUF
118	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
119	    sv_setiv( $arg, (IV)*($var) );
120T_UVBUF
121	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
122	    sv_setuv( $arg, (UV)*($var) );
123O_IVBUF
124	if(  ! null_arg($arg)  )
125	    sv_setiv( $arg, (IV)*($var) );
126O_UVBUF
127	if(  ! null_arg($arg)  )
128	    sv_setuv( $arg, (UV)*($var) );
129T_IVBUFP
130	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
131	    sv_setiv( $arg, (IV)*($var) );
132T_UVBUFP
133	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
134	    sv_setuv( $arg, (UV)*($var) );
135O_IVBUFP
136	if(  ! null_arg($arg)  )
137	    sv_setiv( $arg, (IV)*($var) );
138O_UVBUFP
139	if(  ! null_arg($arg)  )
140	    sv_setuv( $arg, (UV)*($var) );
141