TYPEMAP char * T_PV unsigned char * T_PV const char * T_PV AV * T_AVREF time_t T_TIME_T size_t T_SIZE_T long T_LONG SSH2 * O_SESSION SSH2_CHANNEL * O_CHANNEL SSH2_LISTENER * O_LISTENER SSH2_SFTP * O_SFTP SSH2_FILE * O_FILE SSH2_DIR * O_DIR SSH2_PUBLICKEY* O_PUBLICKEY SSH2_KNOWNHOSTS* O_KNOWNHOSTS SSH2_RC T_SSH2_RC SSH2_ERROR T_SSH2_ERROR SSH2_NERROR T_SSH2_NERROR SSH2_BYTES T_SSH2_BYTES SSH2_BYTES64 T_SSH2_BYTES64 SSH2_BYTESU64 T_SSH2_BYTESU64 SSH2_BOOL T_SSH2_BOOL SSH2_METHOD T_SSH2_METHOD SSH2_FLAG T_SSH2_FLAG SSH2_CALLBACK T_SSH2_CALLBACK SSH2_HOSTKEY_HASH T_SSH2_HOSTKEY_HASH SSH2_CHANNEL_EXTENDED_DATA T_SSH2_CHANNEL_EXTENDED_DATA SSH2_CHARP T_SSH2_CHARP SSH2_CHARP_OR_NULL T_SSH2_CHARP_OR_NULL OUTPUT T_PV sv_setpv((SV*)$arg, $var); T_AVREF $arg = newRV((SV*)$var); T_SSH2_BYTES $arg = ( (($var) < 0) ? &PL_sv_undef : newSVuv($var) ); T_SSH2_BYTES64 $arg = ( (($var) < 0) ? &PL_sv_undef : ((IVSIZE >= 8) ? newSVuv($var) : newSVnv($var)) ); T_SSH2_BYTESU64 $arg = ((IVSIZE >= 8) ? newSVuv($var) : newSVnv($var)); T_SSH2_BOOL $arg = (($var) ? &PL_sv_yes : &PL_sv_no); T_SSH2_RC $arg = (($var) ? &PL_sv_yes : &PL_sv_undef); T_SSH2_ERROR $arg = newSViv($var); T_SSH2_NERROR $arg = ( (($var) < 0) ? &PL_sv_undef : &PL_sv_yes ); T_SSH2_CHARP_OR_NULL $arg = ($var ? newSVpv($var, 0) : &PL_sv_undef); O_SESSION sv_setref_pv($arg, "Net::SSH2", (void *)$var); O_CHANNEL wrap_tied_into($arg, "Net::SSH2::Channel", (void *)$var); O_LISTENER sv_setref_pv($arg, "Net::SSH2::Listener", (void *)$var); O_SFTP sv_setref_pv($arg, "Net::SSH2::SFTP", (void *)$var); O_FILE wrap_tied_into($arg, "Net::SSH2::File", (void *)$var); O_DIR sv_setref_pv($arg, "Net::SSH2::Dir", (void *)$var); O_PUBLICKEY sv_setref_pv($arg, "Net::SSH2::PublicKey", (void *)$var); O_KNOWNHOSTS sv_setref_pv($arg, "Net::SSH2::KnownHosts", (void *)$var); INPUT T_PV $var = ($type)SvPV_nolen($arg) T_AVREF if(SvROK($arg) && SvTYPE(SvRV($arg)) == SVt_PVAV) $var = (AV*)SvRV($arg); else croak(\"$var is not an array reference\"); O_SESSION $var = INT2PTR($type, unwrap($arg, \"$Package\", \"$func_name\")); O_CHANNEL $var = INT2PTR($type, unwrap_tied($arg, \"$Package\", \"$func_name\")); O_LISTENER $var = INT2PTR($type, unwrap($arg, \"$Package\", \"$func_name\")); O_SFTP $var = INT2PTR($type, unwrap($arg, \"$Package\", \"$func_name\")); O_FILE $var = INT2PTR($type, unwrap_tied($arg, \"$Package\", \"$func_name\")); O_DIR $var = INT2PTR($type, unwrap($arg, \"$Package\", \"$func_name\")); O_PUBLICKEY $var = INT2PTR($type, unwrap($arg, \"$Package\", \"$func_name\")); O_KNOWNHOSTS $var = INT2PTR($type, unwrap($arg, \"$Package\", \"$func_name\")); T_SSH2_BOOL $var = SvTRUE($arg); T_SSH2_METHOD $var = sv2iv_constant_or_croak(\"METHOD\", $arg); T_SSH2_FLAG $var = sv2iv_constant_or_croak(\"FLAG\", $arg); T_SSH2_CALLBACK $var = sv2iv_constant_or_croak(\"CALLBACK\", $arg); T_SSH2_HOSTKEY_HASH $var = sv2iv_constant_or_croak(\"HOSTKEY_HASH\", $arg); T_SSH2_CHANNEL_EXTENDED_DATA $var = sv2iv_constant_or_croak(\"CHANNEL_EXTENDED_DATA\", $arg); T_SSH2_CHARP $var = SvPVbyte_nolen($arg); T_SSH2_CHARP_OR_NULL $var = (SvOK($arg) ? SvPVbyte_nolen($arg) : NULL); T_TIME_T $var = SV2TYPE($arg, time_t); T_SIZE_T $var = SV2TYPE($arg, size_t); T_INT $var = my_sv2int($arg); T_LONG $var = SV2TYPE($arg, long); T_SSH2_BYTES64 $var = SV2TYPE($arg, SSH2_BYTES64); T_SSH2_BYTESU64 $var = SV2UTYPE($arg, SSH2_BYTESU64);