TYPEMAP const char * T_PV mp * T_MP gf * T_MP EC_Curve * T_CATSTRUCT EC_Info * T_CATSTRUCT Field * T_CATSTRUCT Group * T_CATSTRUCT gccipher * T_GCALG gchash * T_GCALG gcMAC * T_GCALG gcipher * T_GALG ghash * T_GALG gMAC * T_GALG grand * T_GALG keysize * T_KEYSZ fe * T_FIELDELT ec * T_ECPT ge * T_GROUPELT Rand_True * T_CATSTRUCT Rand_DSA * T_CATSTRUCT Share_GF * T_CATSTRUCT Share_Prime * T_CATSTRUCT PRP * T_CATSTRUCT PRPClass * T_CATSTRUCT MP_Mont * T_CATSTRUCT MP_Barrett * T_CATSTRUCT MP_Mul * T_CATSTRUCT MP_CRT * T_CATSTRUCT MP_Reduce * T_CATSTRUCT GF_Reduce * T_CATSTRUCT MP_Prime_Filter * T_CATSTRUCT MP_Prime_Rabin * T_CATSTRUCT MP_Prime_Gen_Event * T_CATSTRUCT MP_Prime_Gen_Proc * T_PGENPROC MP_Prime_Gen_NullProc * T_NULLPGENPROC MP_Prime_Gen_MagicProc * T_CATSTRUCT MP_Prime_Gen_FilterStepper * T_CATSTRUCT MP_Prime_Gen_JumpStepper * T_CATSTRUCT MP_Prime_Gen_RabinTester * T_CATSTRUCT Key_File * T_CATSTRUCT Key_Data * T_KEYDATA Key_AttrIter * T_CATSTRUCT Key_StructIter * T_CATSTRUCT Key_FileIter * T_CATSTRUCT Key_Filter * T_CATSTRUCTUNDEF Key * T_CATSTRUCT KeyErr T_KEYERR RSA_Public * T_CATSTRUCT RSA_Private * T_CATSTRUCT INPUT T_MP $var = mp_fromsv($arg, \"$var\", 0, 0) T_CATSTRUCT $var = ptrfromsv($arg, \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::$1/; $ntt =~ s/_/::/g; \$ntt}\", \"$var\") T_CATSTRUCTUNDEF $var = SvOK($arg) ? ptrfromsv($arg, \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::$1/; $ntt =~ s/_/::/g; \$ntt}\", \"$var\") : 0 T_FIELDELT $var = fieldelt($arg, \"$var\") T_GROUPELT $var = groupelt($arg, \"$var\") T_ECPT $var = ecpt($arg, \"$var\") T_GALG $var = ptrfromsv($arg, \"${my $ntt = $ntype; $ntt =~ s/^g(.*)Ptr$/Catacomb::\u$1/; \$ntt}\", \"$var\") T_GCALG $var = ptrfromsv($arg, \"${my $ntt = $ntype; $ntt =~ s/^gc(.*)Ptr$/Catacomb::\u$1Class/; \$ntt}\", \"$var\") T_KEYSZ $var = ptrfromsv($arg, \"Catacomb::KeySize\", \"$var\") T_KEYDATA $var = ptrfromsv($arg, \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::$1/; $ntt =~ s/_/::/g; \$ntt}\", \"$var\") T_PGENPROC if (sv_derived_from($arg, \"Catacomb::MP::Prime::Gen::Proc\")) $var = $arg; else croak(\"$var is not of type Catacomb::MP::Prime::Gen::Proc\"); T_NULLPGENPROC if (!SvOK($arg) || sv_derived_from($arg, \"Catacomb::MP::Prime::Gen::Proc\")) $var = $arg; else croak(\"$var is not of type Catacomb::MP::Prime::Gen::Proc\"); OUTPUT T_MP ptrtosv(&$arg, $var, \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::\U$1/; $ntt =~ s/_/::/g; \$ntt}\"); T_CATSTRUCT ptrtosv(&$arg, $var, \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::$1/; $ntt =~ s/_/::/g; \$ntt}\"); T_CATSTRUCTUNDEF ptrtosv(&$arg, $var, \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::$1/; $ntt =~ s/_/::/g; \$ntt}\"); T_FIELDELT ptrtosv(&$arg, $var, \"Catacomb::MP\"); T_GROUPELT ptrtosv(&$arg, $var, \"Catacomb::Group::Element\"); T_ECPT ptrtosv(&$arg, $var, \"Catacomb::EC::Point\"); T_GALG ptrtosv(&$arg, $var, \"${my $ntt = $ntype; $ntt =~ s/^g(.*)Ptr$/Catacomb::\u$1/; \$ntt}\"); T_GCALG ptrtosv(&$arg, $var, \"${my $ntt = $ntype; $ntt =~ s/^gc(.*)Ptr$/Catacomb::\u$1Class/; \$ntt}\"); T_KEYSZ ptrtosv(&$arg, (octet *)$var, \"Catacomb::KeySize\"); T_PGENPROC $arg = $var; T_KEYERR $arg = keyerr($var); T_KEYDATA ptrtosv(&$arg, $var, keydata_type($var));