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