Much wider support for Catacomb in all its glory.
[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);