#include <catacomb/gmac.h>
#include <catacomb/md5.h>
#include <catacomb/md5-hmac.h>
#include <catacomb/gmac.h>
#include <catacomb/md5.h>
#include <catacomb/md5-hmac.h>
#include <catacomb/sha.h>
#include <catacomb/sha-mgf.h>
#include <catacomb/sha-hmac.h>
#include <catacomb/sha.h>
#include <catacomb/sha-mgf.h>
#include <catacomb/sha-hmac.h>
#include <catacomb/ptab.h>
#include <catacomb/bintab.h>
#include <catacomb/dsa.h>
#include <catacomb/ptab.h>
#include <catacomb/bintab.h>
#include <catacomb/dsa.h>
#define INSERT(name, ob) do { \
PyObject *_o = (PyObject *)(ob); \
#define INSERT(name, ob) do { \
PyObject *_o = (PyObject *)(ob); \
struct nameval { const char *name; unsigned long value; };
extern void setconstants(PyObject *, const struct nameval *);
struct nameval { const char *name; unsigned long value; };
extern void setconstants(PyObject *, const struct nameval *);
extern PyObject *mkexc(PyObject *, PyObject *, const char *, PyMethodDef *);
extern void typeready(PyTypeObject *);
extern PyObject *mkexc(PyObject *, PyObject *, const char *, PyMethodDef *);
extern void typeready(PyTypeObject *);
extern mp *mp_frompyobject(PyObject *, int);
extern PyObject *mp_topystring(mp *, int,
const char *, const char *, const char *);
extern mp *mp_frompyobject(PyObject *, int);
extern PyObject *mp_topystring(mp *, int,
const char *, const char *, const char *);
#define GCCIPHER_F(o) (((gccipher_pyobj *)(o))->f)
extern PyObject *gccipher_pywrap(gccipher *);
extern int convgccipher(PyObject *, void *);
#define GCCIPHER_F(o) (((gccipher_pyobj *)(o))->f)
extern PyObject *gccipher_pywrap(gccipher *);
extern int convgccipher(PyObject *, void *);