# ---?---
#
-# $Id: algorithms.xs,v 1.2 2004/04/08 01:36:21 mdw Exp $
+# $Id$
#
# Interface to crypto algorithms
#
find(me, name)
SV *me
char *name
- PREINIT:
- const gccipher **cc;
- CODE:
- RETVAL = 0;
- for (cc = ciphertab; *cc; cc++) {
- if (strcmp((*cc)->name, name) == 0) {
- RETVAL = (gccipher *)*cc;
- break;
- }
- }
+ CODE:
+ RETVAL = (gccipher *)gcipher_byname(name);
OUTPUT:
RETVAL
list(me)
SV *me
PREINIT:
- const gccipher **cc;
+ const gccipher *const *cc;
SV *sv;
PPCODE:
- for (cc = ciphertab; *cc; cc++)
- XPUSHs(RET(*cc, "Catacomb::CipherClass"));
+ for (cc = gciphertab; *cc; cc++)
+ XPUSHs(RET((gccipher *)*cc, "Catacomb::CipherClass"));
keysize *
keysz(cc)
find(me, name)
SV *me
char *name
- PREINIT:
- const gchash **hc;
- CODE:
- RETVAL = 0;
- for (hc = hashtab; *hc; hc++) {
- if (strcmp((*hc)->name, name) == 0) {
- RETVAL = (gchash *)*hc;
- break;
- }
- }
+ CODE:
+ RETVAL = (gchash *)ghash_byname(name);
OUTPUT:
RETVAL
list(me)
SV *me
PREINIT:
- const gchash **hc;
+ const gchash *const *hc;
SV *sv;
PPCODE:
- for (hc = hashtab; *hc; hc++)
- XPUSHs(RET(*hc, "Catacomb::HashClass"));
+ for (hc = ghashtab; *hc; hc++)
+ XPUSHs(RET((gchash *)*hc, "Catacomb::HashClass"));
size_t
hashsz(hc)
find(me, name)
SV *me
char *name
- PREINIT:
- const gcMAC **mc;
- CODE:
- RETVAL = 0;
- for (mc = mactab; *mc; mc++) {
- if (strcmp((*mc)->name, name) == 0) {
- RETVAL = (gcMAC *)*mc;
- break;
- }
- }
+ CODE:
+ RETVAL = (gcMAC *)gmac_byname(name);
OUTPUT:
RETVAL
list(me)
SV *me
PREINIT:
- const gcMAC **mc;
+ const gcMAC *const *mc;
SV *sv;
PPCODE:
- for (mc = mactab; *mc; mc++)
- XPUSHs(RET(*mc, "Catacomb::MACClass"));
+ for (mc = gmactab; *mc; mc++)
+ XPUSHs(RET((gcMAC *)*mc, "Catacomb::MACClass"));
size_t
hashsz(mc)