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