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

Mode_t T_IV
pid_t T_IV
Uid_t T_UV
Time_t T_IV
Gid_t T_UV
Off_t T_NV
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 (($var = SvIV($arg)) < 0) {
croak(\"%s: Negative signals are not allowed %d\",
${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
$var);
}
T_FD
if (($var = (int)SvIV($arg)) < 0) {
SETERRNO(EBADF, RMS_IFI);
XSRETURN_IV(-1);
}
OUTPUT
T_OPAQUEPTROBJ
sv_setref_pvn($arg, \"${ntype}\", (const char*)$var, sizeof(*$var));