Mode_t T_NV
pid_t T_NV
Uid_t T_NV
Time_t T_NV
Gid_t T_NV
Uid_t T_NV
Off_t T_NV
Dev_t T_NV
NV T_NV
fd T_IV
speed_t T_IV
tcflag_t T_IV
cc_t T_IV
POSIX::SigSet T_OPAQUEPTROBJ
POSIX::Termios T_OPAQUEPTROBJ
POSIX::SigAction T_HVREF
POSIX::SigNo T_SIGNO
POSIX::Fd T_FD
INPUT
T_OPAQUEPTROBJ
{
SV * sv = $arg;
if (SvROK(sv) && sv_derived_from(sv, \"${ntype}\"))
$var = ($type)SvPV_nolen(SvRV(sv));
else
croak(\"%s: %s is not of type %s\",
${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
\"$var\", \"$ntype\");
}
T_SIGNO
if ((sig = SvIV($arg)) < 0) {
croak(\"%s: Negative signals are not allowed %d\",
${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
sig);
}
T_FD
if ((fd = (int)SvIV($arg)) < 0) {
SETERRNO(EBADF, RMS_IFI);
XSRETURN_IV(-1);
}
OUTPUT
T_OPAQUEPTROBJ
sv_setref_pvn($arg, \"${ntype}\", (const char*)$var, sizeof(*$var));