BOOL			T_BOOL
LONG			T_NIV
HANDLE			T_NIV
UINT			T_NUV
DWORD			T_NUV
char *			T_BUF
WCHAR *			T_BUF
BYTE *			T_BUF
void *			T_BUF

#############################################################################
INPUT
T_BOOL
	$var = null_arg($arg) || !SvTRUE($arg) ? ($type)0 : ($type)SvIV($arg)
T_NIV
	$var = null_arg($arg) ? ($type)0 : ($type)SvIV($arg)
T_NUV
	$var = null_arg($arg) ? ($type)0 : ($type)SvUV($arg)
T_UV
	$var = ($type)SvUV($arg)
T_BUF
	$var= null_arg($arg) ? ($type)NULL : ($type)SvPV($arg,na)
T_IVBUF
	if(  null_arg($arg)  )
	    $var= NULL;
	else
	    *( $var= ($type) _alloca( sizeof(*($var)) ) )= SvIV($arg)
T_IVBUFP
	if(  null_arg($arg)  )
	    $var= NULL;
	else
	    *( $var= ($type) _alloca( sizeof(*($var)) ) )= (void *)SvIV($arg)

#############################################################################
OUTPUT
T_BOOL
	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  ) {
	    if(  $var  ) {
		sv_setiv( $arg, (IV)$var );
	    } else {
		sv_setsv( $arg, &sv_no );
	    }
	}
T_NIV
	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
	    sv_setiv( $arg, (IV)$var );
T_NUV
	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
	    sv_setuv( $arg, (UV)$var );
T_UV
	sv_setuv($arg, (UV)$var);
T_BUF
	;
T_IVBUF
	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
	    sv_setiv( $arg, (IV)*($var) );
T_IVBUFP
	if(  ! null_arg($arg)  &&  ! SvREADONLY($arg)  )
	    sv_setiv( $arg, (IV)*($var) );
