#include <catacomb/gmac.h>
#include <catacomb/md5.h>
#include <catacomb/md5-hmac.h>
+#include <catacomb/poly1305.h>
#include <catacomb/sha.h>
#include <catacomb/sha-mgf.h>
#include <catacomb/sha-hmac.h>
#define root_pytype 0
#define type_pytype &PyType_Type
-#define INITTYPE(ty, base) do { \
+#define INITTYPE_META(ty, base, meta) do { \
ty##_pytype_skel.tp_base = base##_pytype; \
- ty##_pytype = inittype(&ty##_pytype_skel); \
+ ty##_pytype = inittype(&ty##_pytype_skel, meta##_pytype); \
} while (0)
+#define INITTYPE(ty, base) INITTYPE_META(ty, base, type)
#define INSERT(name, ob) do { \
PyObject *_o = (PyObject *)(ob); \
extern PyObject *mkexc(PyObject *, PyObject *, const char *, PyMethodDef *);
extern void typeready(PyTypeObject *);
-extern PyTypeObject *inittype(PyTypeObject *);
+extern PyTypeObject *inittype(PyTypeObject *, PyTypeObject *);
extern void addmethods(const PyMethodDef *);
extern PyMethodDef *donemethods(void);