--- IO-AIO/typemap 2006/10/22 00:19:05 1.3 +++ IO-AIO/typemap 2009/06/17 01:14:48 1.7 @@ -1,15 +1,39 @@ aio_req T_AIO aio_req_ornot T_AIO_ORNOT +SV8 * T_SV8 + +size_t T_VAL64 +ssize_t T_VAL64 +off_t T_VAL64 + +aio_rfd T_AIO_RFD +aio_wfd T_AIO_WFD INPUT T_AIO - $var = SvAIO_REQ ($arg); - if (!$var) - croak (\"busy \" AIO_REQ_KLASS \" object expected\"); + if (!($var = SvAIO_REQ ($arg))) + croak (\"busy \" AIO_REQ_KLASS \" object expected\") T_AIO_ORNOT - $var = SvAIO_REQ ($arg); - if (!$var) - XSRETURN_EMPTY; + if (!($var = SvAIO_REQ ($arg))) + XSRETURN_EMPTY + +T_SV8 + ($var) = $arg; + if (SvPOKp ($var) && !sv_utf8_downgrade ($var, 1)) + croak (\"\\\"%s\\\" argument must be byte/octet-encoded\", \"$var\") + +T_VAL64 + $var = ($type)SvVAL64 ($arg); + +T_AIO_RFD + $var = extract_fd ($arg, 0); + +T_AIO_WFD + $var = extract_fd ($arg, 1); + +OUTPUT +T_VAL64 + $arg = newSVval64 ($var);