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