chiark / gitweb /
Fix key error variable.
[catacomb-perl] / typemap
1 TYPEMAP
2 const char *                    T_PV
3
4 mp *                            T_MP
5 gf *                            T_MP
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 fe *                            T_FIELDELT
20 ec *                            T_ECPT
21 ge *                            T_GROUPELT
22
23 Rand_True *                     T_CATSTRUCT
24 Rand_DSA *                      T_CATSTRUCT
25
26 Share_GF *                      T_CATSTRUCT
27 Share_Prime *                   T_CATSTRUCT
28
29 PRP *                           T_CATSTRUCT
30 PRPClass *                      T_CATSTRUCT
31
32 MP_Mont *                       T_CATSTRUCT
33 MP_Barrett *                    T_CATSTRUCT
34 MP_Mul *                        T_CATSTRUCT
35 MP_CRT *                        T_CATSTRUCT
36 MP_Reduce *                     T_CATSTRUCT
37 GF_Reduce *                     T_CATSTRUCT
38 MP_Prime_Filter *               T_CATSTRUCT
39 MP_Prime_Rabin *                T_CATSTRUCT
40 MP_Prime_Gen_Event *            T_CATSTRUCT
41 MP_Prime_Gen_Proc *             T_PGENPROC
42 MP_Prime_Gen_NullProc *         T_NULLPGENPROC
43 MP_Prime_Gen_MagicProc *        T_CATSTRUCT
44 MP_Prime_Gen_FilterStepper *    T_CATSTRUCT
45 MP_Prime_Gen_JumpStepper *      T_CATSTRUCT
46 MP_Prime_Gen_RabinTester *      T_CATSTRUCT
47
48 Key_File *                      T_CATSTRUCT
49 Key_DataImpl *                  T_CATSTRUCT
50 Key_AttrIter *                  T_CATSTRUCT
51 Key_StructIter *                T_CATSTRUCT
52 Key_FileIter *                  T_CATSTRUCT
53 Key_Filter *                    T_CATSTRUCTUNDEF
54 Key *                           T_CATSTRUCT
55 KeyErr                          T_KEYERR
56
57 RSA_Public *                    T_CATSTRUCT
58 RSA_Private *                   T_CATSTRUCT
59
60 INPUT
61 T_MP
62         $var = mp_fromsv($arg, \"$var\", 0, 0)
63 T_CATSTRUCT
64         $var = ptrfromsv($arg, \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::$1/; $ntt =~ s/_/::/g; \$ntt}\", \"$var\")
65 T_CATSTRUCTUNDEF
66         $var = SvOK($arg) ? ptrfromsv($arg, \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::$1/; $ntt =~ s/_/::/g; \$ntt}\", \"$var\") : 0
67 T_FIELDELT
68         $var = fieldelt($arg, \"$var\")
69 T_GROUPELT
70         $var = groupelt($arg, \"$var\")
71 T_ECPT
72         $var = ecpt($arg, \"$var\")
73 T_GALG
74         $var = ptrfromsv($arg, \"${my $ntt = $ntype; $ntt =~ s/^g(.*)Ptr$/Catacomb::\u$1/; \$ntt}\", \"$var\")
75 T_GCALG
76         $var = ptrfromsv($arg, \"${my $ntt = $ntype; $ntt =~ s/^gc(.*)Ptr$/Catacomb::\u$1Class/; \$ntt}\", \"$var\")
77 T_KEYSZ
78         $var = ptrfromsv($arg, \"Catacomb::KeySize\", \"$var\")
79 T_PGENPROC
80         if (sv_derived_from($arg, \"Catacomb::MP::Prime::Gen::Proc\"))
81           $var = $arg;
82         else
83           croak(\"$var is not of type Catacomb::MP::Prime::Gen::Proc\");
84 T_NULLPGENPROC
85         if (!SvOK($arg) || 
86             sv_derived_from($arg, \"Catacomb::MP::Prime::Gen::Proc\"))
87           $var = $arg;
88         else
89           croak(\"$var is not of type Catacomb::MP::Prime::Gen::Proc\");
90
91 OUTPUT
92 T_MP
93         ptrtosv(&$arg, $var, \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::\U$1/; $ntt =~ s/_/::/g; \$ntt}\");
94 T_CATSTRUCT
95         ptrtosv(&$arg, $var, \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::$1/; $ntt =~ s/_/::/g; \$ntt}\");
96 T_CATSTRUCTUNDEF
97         ptrtosv(&$arg, $var, \"${my $ntt = $ntype; $ntt =~ s/^(.*)Ptr$/Catacomb::$1/; $ntt =~ s/_/::/g; \$ntt}\");
98 T_FIELDELT
99         ptrtosv(&$arg, $var, \"Catacomb::MP\");
100 T_GROUPELT
101         ptrtosv(&$arg, $var, \"Catacomb::Group::Element\");
102 T_ECPT
103         ptrtosv(&$arg, $var, \"Catacomb::EC::Point\");
104 T_GALG
105         ptrtosv(&$arg, $var, \"${my $ntt = $ntype; $ntt =~ s/^g(.*)Ptr$/Catacomb::\u$1/; \$ntt}\");
106 T_GCALG
107         ptrtosv(&$arg, $var, \"${my $ntt = $ntype; $ntt =~ s/^gc(.*)Ptr$/Catacomb::\u$1Class/; \$ntt}\");
108 T_KEYSZ
109         ptrtosv(&$arg, (octet *)$var, \"Catacomb::KeySize\");
110 T_PGENPROC
111         $arg = $var;
112 T_KEYERR
113         $arg = keyerr($var);