{ #name, ty, offsetof(MEMBERSTRUCT, name), f, doc },
#define MODULES(_) \
{ #name, ty, offsetof(MEMBERSTRUCT, name), f, doc },
#define MODULES(_) \
_(bytestring) _(buffer) \
_(rand) _(algorithms) _(pubkey) _(pgen) \
_(mp) _(field) _(ec) _(group) \
_(bytestring) _(buffer) \
_(rand) _(algorithms) _(pubkey) _(pgen) \
_(mp) _(field) _(ec) _(group) \
#define DOMODINIT(m) m##_pyinit();
#define DOMODINSERT(m) m##_pyinsert(mod);
#define INIT_MODULES do { MODULES(DOMODINIT) } while (0)
#define DOMODINIT(m) m##_pyinit();
#define DOMODINSERT(m) m##_pyinsert(mod);
#define INIT_MODULES do { MODULES(DOMODINIT) } while (0)
extern void *newtype(PyTypeObject *, const PyTypeObject *, const char *);
extern PyObject *mkexc(PyObject *, PyObject *, const char *, PyMethodDef *);
extern void *newtype(PyTypeObject *, const PyTypeObject *, const char *);
extern PyObject *mkexc(PyObject *, PyObject *, const char *, PyMethodDef *);
extern PyTypeObject *inittype(PyTypeObject *);
extern void addmethods(const PyMethodDef *);
extern PyMethodDef *donemethods(void);
extern PyTypeObject *inittype(PyTypeObject *);
extern void addmethods(const PyMethodDef *);
extern PyMethodDef *donemethods(void);