1Mode_t T_IV 2pid_t T_IV 3Uid_t T_UV 4Time_t T_IV 5Gid_t T_UV 6Off_t T_NV 7speed_t T_IV 8tcflag_t T_IV 9cc_t T_IV 10POSIX::SigSet T_OPAQUEPTROBJ 11POSIX::Termios T_OPAQUEPTROBJ 12POSIX::SigAction T_HVREF 13POSIX::SigNo T_SIGNO 14POSIX::Fd T_FD 15 16INPUT 17T_OPAQUEPTROBJ 18 { 19 SV * sv = $arg; 20 if (SvROK(sv) && sv_derived_from(sv, \"${ntype}\")) 21 $var = ($type)SvPV_nolen(SvRV(sv)); 22 else 23 croak(\"%s: %s is not of type %s\", 24 ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]}, 25 \"$var\", \"$ntype\"); 26 } 27 28T_SIGNO 29 if (($var = SvIV($arg)) < 0) { 30 croak(\"%s: Negative signals are not allowed %d\", 31 ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]}, 32 $var); 33 } 34 35T_FD 36 if (($var = (int)SvIV($arg)) < 0) { 37 SETERRNO(EBADF, RMS_IFI); 38 XSRETURN_IV(-1); 39 } 40 41OUTPUT 42T_OPAQUEPTROBJ 43 sv_setref_pvn($arg, \"${ntype}\", (const char*)$var, sizeof(*$var)); 44