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));