__const char * T_PTROBJ
__const char * __restrict T_PTROBJ
__const struct itimerspec * __restrict T_PTROBJ
__const struct timespec * T_PTROBJ
__const struct tm * T_PTROBJ
__const struct tm * __restrict T_PTROBJ
__const time_t * T_PTROBJ
__const time_t * __restrict T_PTROBJ
__locale_t T_PTROBJ
char * __restrict T_PTROBJ
clock_t T_PTROBJ
clockid_t T_IV
clockid_t * T_PTROBJ
pid_t T_IV
struct VSL_data * T_PTROBJ
struct itimerspec * T_PTROBJ
struct itimerspec * __restrict T_OPAQUE_STRUCT
struct sigevent * __restrict T_OPAQUE_STRUCT
struct timespec * T_PTROBJ
struct tm * T_PTROBJ
struct tm * __restrict T_OPAQUE_STRUCT
struct varnish_stats * T_PTROBJ
time_t * T_PTROBJ
timer_t T_PTR
timer_t * __restrict T_PTROBJ
unsigned char ** T_PTROBJ
vsl_handler * 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));