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