The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

BOOL T_BOOL
LONG T_IV
HKEY T_UV
HANDLE T_UV
DWORD T_UV
oDWORD O_UV
UINT T_UV
REGSAM T_UV
SECURITY_INFORMATION T_UV
char * T_BUF
WCHAR * T_BUF
BYTE * T_BUF
void * T_BUF
ValEntA * T_BUF
ValEntW * T_BUF
SECURITY_DESCRIPTOR * T_BUF
SECURITY_ATTRIBUTES * T_BUF
LPOVERLAPPED T_BUF
LONG * T_IVBUF
DWORD * T_UVBUF
LPDWORD T_UVBUF
oDWORD * O_UVBUF
HKEY * T_UVBUFP
oHKEY * O_UVBUFP
FILETIME * T_SBUF
#############################################################################
INPUT
T_BOOL
$var= null_arg($arg)||!SvTRUE($arg) ? ($type)0 : looks_like_number($arg) ? ($type)SvIV($arg) : ($type)1
T_BUF
if( null_arg($arg) )
$var= NULL;
else
$var= ($type) SvPV_nolen( $arg )
T_SBUF
grow_buf( $var,$arg, $type )
T_IV
$var= null_arg($arg) ? ($type)0 : INT2PTR($type,SvIV($arg))
T_UV
$var= null_arg($arg) ? ($type)0 : INT2PTR($type,SvUV($arg))
O_IV
$var= optIV($arg)
O_UV
$var= optUV($arg)
T_IVBUF
if( null_arg($arg) )
$var= NULL;
else
*( $var= ($type) TempAlloc( sizeof(*($var)) ) )= SvIV($arg)
T_UVBUF
if( null_arg($arg) )
$var= NULL;
else
*( $var= ($type) TempAlloc( sizeof(*($var)) ) )= SvUV($arg)
O_IVBUF
if( null_arg($arg) )
$var= NULL;
else
*( $var= ($type) TempAlloc( sizeof(*($var)) ) )=
SvOK($arg) ? SvIV($arg) : 0;
O_UVBUF
if( null_arg($arg) )
$var= NULL;
else
*( $var= ($type) TempAlloc( sizeof(*($var)) ) )=
SvOK($arg) ? SvUV($arg) : 0;
T_IVBUFP
if( null_arg($arg) )
$var= NULL;
else
*( $var= ($type) TempAlloc( sizeof(*($var)) ) )= (void *)SvIV($arg)
T_UVBUFP
if( null_arg($arg) )
$var= NULL;
else
*( $var= ($type) TempAlloc( sizeof(*($var)) ) )= (void *)SvUV($arg)
O_IVBUFP
if( null_arg($arg) )
$var= NULL;
else
*( $var= ($type) TempAlloc( sizeof(*($var)) ) )=
SvOK($arg) ? (void *)SvIV($arg) : 0;
O_UVBUFP
if( null_arg($arg) )
$var= NULL;
else
*( $var= ($type) TempAlloc( sizeof(*($var)) ) )=
SvOK($arg) ? (void *)SvUV($arg) : 0;
#############################################################################
OUTPUT
T_BOOL
if( ! null_arg($arg) && ! SvREADONLY($arg) ) {
if( $var ) {
sv_setiv( $arg, (IV)$var );
} else {
sv_setsv( $arg, &PL_sv_no );
}
}
T_BUF
;
T_SBUF
trunc_buf( RETVAL, $var,$arg );
T_IV
if( ! null_arg($arg) && ! SvREADONLY($arg) )
sv_setiv( $arg, PTR2IV($var) );
T_UV
if( ! null_arg($arg) && ! SvREADONLY($arg) )
sv_setuv( $arg, PTR2UV($var) );
O_IV
if( ! null_arg($arg) )
sv_setiv( $arg, PTR2IV($var) );
O_UV
if( ! null_arg($arg) )
sv_setuv( $arg, PTR2UV($var) );
T_IVBUF
if( ! null_arg($arg) && ! SvREADONLY($arg) )
sv_setiv( $arg, (IV)*($var) );
T_UVBUF
if( ! null_arg($arg) && ! SvREADONLY($arg) )
sv_setuv( $arg, (UV)*($var) );
O_IVBUF
if( ! null_arg($arg) )
sv_setiv( $arg, (IV)*($var) );
O_UVBUF
if( ! null_arg($arg) )
sv_setuv( $arg, (UV)*($var) );
T_IVBUFP
if( ! null_arg($arg) && ! SvREADONLY($arg) )
sv_setiv( $arg, (IV)*($var) );
T_UVBUFP
if( ! null_arg($arg) && ! SvREADONLY($arg) )
sv_setuv( $arg, (UV)*($var) );
O_IVBUFP
if( ! null_arg($arg) )
sv_setiv( $arg, (IV)*($var) );
O_UVBUFP
if( ! null_arg($arg) )
sv_setuv( $arg, (UV)*($var) );