X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-perl/blobdiff_plain/f9952aec1cf6c64a5681308eea817b6113a37433..fcd15e0b7a3d0f0ca2f30953573f8d1f6b8e8bd2:/catacomb.xs diff --git a/catacomb.xs b/catacomb.xs index 0f010b4..5bcc441 100644 --- a/catacomb.xs +++ b/catacomb.xs @@ -28,39 +28,58 @@ #include "catacomb-perl.h" +const struct consttab ct[] = { +#define C(x) { #x, x } + C(GRAND_CRYPTO), + C(PGEN_BEGIN), C(PGEN_TRY), C(PGEN_FAIL), C(PGEN_PASS), + C(PGEN_DONE), C(PGEN_ABORT), + C(DH_SUBGROUP), + C(KF_ENCMASK), C(KENC_BINARY), C(KENC_MP), C(KENC_STRUCT), + C(KENC_ENCRYPT), C(KENC_STRING), C(KENC_EC), + C(KF_CATMASK), C(KCAT_SYMM), C(KCAT_PRIV), C(KCAT_PUB), + C(KCAT_SHARE), C(KF_NONSECRET), + C(KF_BURN), C(KF_TEMP), C(KF_OPT), + C(KOPEN_READ), C(KOPEN_WRITE), C(KOPEN_MASK), C(KOPEN_NOFILE), + C(KEXP_FOREVER), C(KEXP_EXPIRE), + C(KERR_OK), C(KERR_BADTAG), C(KERR_BADTYPE), C(KERR_BADCOMMENT), + C(KERR_DUPID), C(KERR_DUPTAG), C(KERR_READONLY), + C(KERR_WILLEXPIRE), C(KERR_EXPIRED), C(KERR_BADFLAGS), + C(KERR_BADPASS), C(KERR_WRONGTYPE), C(KERR_NOTFOUND), + C(KERR_NOTFOUND), C(KERR_BADATTR), C(KERR_MALFORMED), + C(KERR_IO), + C(KWRITE_OK), C(KWRITE_FAIL), C(KWRITE_BROKEN), + C(FTY_PRIME), C(FTY_BINARY), +#undef C + { 0, 0 }, +}; + MODULE = Catacomb PACKAGE = Catacomb U32 -const(name) +_const(name) char *name PREINIT: - const struct consttab ct[] = { -#define C(x) { #x, x } - C(GRAND_CRYPTO), - C(PGEN_BEGIN), C(PGEN_TRY), C(PGEN_FAIL), C(PGEN_PASS), - C(PGEN_DONE), C(PGEN_ABORT), - C(KF_ENCMASK), C(KENC_BINARY), C(KENC_MP), C(KENC_STRUCT), - C(KENC_ENCRYPT), C(KENC_STRING), C(KENC_EC), - C(KF_CATMASK), C(KCAT_SYMM), C(KCAT_PRIV), C(KCAT_PUB), - C(KCAT_SHARE), C(KF_NONSECRET), - C(KF_BURN), C(KF_TEMP), C(KF_OPT), - C(KOPEN_READ), C(KOPEN_WRITE), C(KOPEN_MASK), C(KOPEN_NOFILE), - C(KEXP_FOREVER), C(KEXP_EXPIRE), - C(KERR_OK), C(KERR_BADTAG), C(KERR_BADTYPE), C(KERR_BADCOMMENT), - C(KERR_DUPID), C(KERR_DUPTAG), C(KERR_READONLY), - C(KERR_WILLEXPIRE), C(KERR_EXPIRED), C(KERR_BADFLAGS), - C(KERR_BADPASS), C(KERR_WRONGTYPE), C(KERR_NOTFOUND), - C(KERR_NOTFOUND), C(KERR_BADATTR), - C(KWRITE_OK), C(KWRITE_FAIL), C(KWRITE_BROKEN), - C(FTY_PRIME), C(FTY_BINARY), -#undef C - { 0, 0 }, - }; CODE: RETVAL = findconst(ct, "Catacomb", name); OUTPUT: RETVAL +void +_constants() + PREINIT: + int i; + PPCODE: + for (i = 0; ct[i].name; i++) + XPUSHs(sv_2mortal(newSVpv(ct[i].name, 0))); + +void +list(name) + const char *name + PPCODE: + PUTBACK; + names(name); + SPAGAIN; + PROTOTYPES: DISABLE INCLUDE: algorithms.xs @@ -68,6 +87,8 @@ INCLUDE: mp.xs INCLUDE: gf.xs INCLUDE: field.xs INCLUDE: ec.xs +INCLUDE: group.xs +INCLUDE: pubkey.xs INCLUDE: misc.xs INCLUDE: pgen.xs INCLUDE: key.xs