Fix typemap for older Perls.
[catacomb-perl] / typemap
CommitLineData
660b443c 1TYPEMAP
ef3af890 2const char * T_PV
3
660b443c 4mp * T_MP
a1a90aaf 5gf * T_MP
6GE * T_CATSTRUCT
7EC_Point * T_CATSTRUCT
8EC_Curve * T_CATSTRUCT
9EC_Info * T_CATSTRUCT
10Field * T_CATSTRUCT
11Group * T_CATSTRUCT
660b443c 12gccipher * T_GCALG
13gchash * T_GCALG
14gcMAC * T_GCALG
15gcipher * T_GALG
16ghash * T_GALG
17gMAC * T_GALG
18grand * T_GALG
19keysize * T_KEYSZ
20
21Rand_True * T_CATSTRUCT
22Rand_DSA * T_CATSTRUCT
23
24MP_Mont * T_CATSTRUCT
25MP_Barrett * T_CATSTRUCT
26MP_Mul * T_CATSTRUCT
27MP_CRT * T_CATSTRUCT
a1a90aaf 28MP_Reduce * T_CATSTRUCT
29GF_Reduce * T_CATSTRUCT
660b443c 30MP_Prime_Filter * T_CATSTRUCT
31MP_Prime_Rabin * T_CATSTRUCT
32MP_Prime_Gen_Event * T_CATSTRUCT
33MP_Prime_Gen_Proc * T_PGENPROC
34MP_Prime_Gen_NullProc * T_NULLPGENPROC
35MP_Prime_Gen_MagicProc * T_CATSTRUCT
36MP_Prime_Gen_FilterStepper * T_CATSTRUCT
37MP_Prime_Gen_JumpStepper * T_CATSTRUCT
38MP_Prime_Gen_RabinTester * T_CATSTRUCT
39
40Key_File * T_CATSTRUCT
41Key_Data * T_CATSTRUCT
42Key * T_CATSTRUCT
43
44KeyErr T_KEYERR
45
46INPUT
47T_MP
a1a90aaf 48 $var = mp_fromsv($arg, \"$var\", \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::\U$1/; $ntt =~ s/_/::/g; \$ntt}\", 0, 0)
660b443c 49T_CATSTRUCT
ef3af890 50 $var = ptrfromsv($arg, \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::$1/; $ntt =~ s/_/::/g; \$ntt}\", \"$var\")
660b443c 51T_GALG
ef3af890 52 $var = ptrfromsv($arg, \"${my $ntt = $ntype; $ntt =~ s/^g(.*)Ptr$/Catacomb::\u$1/; \$ntt}\", \"$var\")
660b443c 53T_GCALG
ef3af890 54 $var = ptrfromsv($arg, \"${my $ntt = $ntype; $ntt =~ s/^gc(.*)Ptr$/Catacomb::\u$1Class/; \$ntt}\", \"$var\")
660b443c 55T_KEYSZ
ef3af890 56 $var = ptrfromsv($arg, \"Catacomb::KeySize\", \"$var\")
660b443c 57T_PGENPROC
58 if (sv_derived_from($arg, \"Catacomb::MP::Prime::Gen::Proc\"))
59 $var = $arg;
60 else
ef3af890 61 croak(\"$var is not of type Catacomb::MP::Prime::Gen::Proc\");
660b443c 62T_NULLPGENPROC
63 if (!SvOK($arg) ||
64 sv_derived_from($arg, \"Catacomb::MP::Prime::Gen::Proc\"))
65 $var = $arg;
66 else
ef3af890 67 croak(\"$var is not of type Catacomb::MP::Prime::Gen::Proc\");
660b443c 68
69OUTPUT
70T_MP
a1a90aaf 71 ptrtosv(&$arg, $var, \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::\U$1/; $ntt =~ s/_/::/g; \$ntt}\");
660b443c 72T_CATSTRUCT
a1a90aaf 73 ptrtosv(&$arg, $var, \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::$1/; $ntt =~ s/_/::/g; \$ntt}\");
660b443c 74T_GALG
a1a90aaf 75 ptrtosv(&$arg, $var, \"${my $ntt = $ntype; $ntt =~ s/^g(.*)Ptr$/Catacomb::\u$1/; \$ntt}\");
660b443c 76T_GCALG
a1a90aaf 77 ptrtosv(&$arg, $var, \"${my $ntt = $ntype; $ntt =~ s/^g(.*)Ptr$/Catacomb::\u$1Class/; \$ntt}\");
660b443c 78T_KEYSZ
a1a90aaf 79 ptrtosv(&$arg, (octet *)$var, \"Catacomb::KeySize\");
660b443c 80T_PGENPROC
81 $arg = $var;
660b443c 82T_KEYERR
83 $arg = keyerr($var);