X-Git-Url: https://git.distorted.org.uk/~mdw/pyke/blobdiff_plain/1bcbe4ff20bfc18eaafc7ec305ea6ebf12d729aa..418f92ba4381a52e6ab83142bbe64b8923261870:/catacomb-python.h diff --git a/catacomb-python.h b/catacomb-python.h index a384097..bed97d5 100644 --- a/catacomb-python.h +++ b/catacomb-python.h @@ -44,6 +44,7 @@ #include #include #include +#include #include @@ -75,6 +76,7 @@ #include #include #include +#include #include #include @@ -126,7 +128,6 @@ #define VALERR(str) EXCERR(PyExc_ValueError, str) #define TYERR(str) EXCERR(PyExc_TypeError, str) #define ZDIVERR(str) EXCERR(PyExc_ZeroDivisionError, str) -#define SYNERR(str) EXCERR(PyExc_SyntaxError, str) #define SYSERR(str) EXCERR(PyExc_SystemError, str) #define NIERR(str) EXCERR(PyExc_NotImplementedError, str) #define INDEXERR(idx) do { \ @@ -186,11 +187,11 @@ { #name, ty, offsetof(MEMBERSTRUCT, name), f, doc }, #define MODULES(_) \ + _(util) \ _(bytestring) _(buffer) \ _(rand) _(algorithms) _(pubkey) _(pgen) \ _(mp) _(field) _(ec) _(group) \ - _(passphrase) _(share) _(key) \ - _(util) + _(passphrase) _(share) _(key) #define DOMODINIT(m) m##_pyinit(); #define DOMODINSERT(m) m##_pyinsert(mod); #define INIT_MODULES do { MODULES(DOMODINIT) } while (0) @@ -244,7 +245,8 @@ extern PyObject *getbool(int); extern PyObject *getulong(unsigned long); extern void *newtype(PyTypeObject *, const PyTypeObject *, const char *); -extern PyObject * mkexc(PyObject *, PyObject *, const char *, PyMethodDef *); +extern PyObject *mkexc(PyObject *, PyObject *, const char *, PyMethodDef *); +extern void typeready(PyTypeObject *); extern PyTypeObject *inittype(PyTypeObject *); extern void addmethods(const PyMethodDef *); extern PyMethodDef *donemethods(void); @@ -280,7 +282,7 @@ extern PyMethodDef *donemethods(void); GMAP_DOMETHODS(GMAP_METHDECL, GMAP_KWMETHDECL) #define GMAP_ROMETHODS GMAP_DOROMETHODS(GMAP_METH, GMAP_KWMETH) #define GMAP_METHODS GMAP_DOMETHODS(GMAP_METH, GMAP_KWMETH) -extern int gmap_pysize(PyObject *); +extern Py_ssize_t gmap_pysize(PyObject *); extern PySequenceMethods gmap_pysequence; extern PyMethodDef gmap_pymethods[]; @@ -315,7 +317,7 @@ extern PyObject *gf_pywrap(mp *); extern mp *mp_frompyobject(PyObject *, int); extern PyObject *mp_topystring(mp *, int, const char *, const char *, const char *); -extern int mp_tolong_checked(mp *, long *); +extern int mp_tolong_checked(mp *, long *, int); /*----- Abstract fields ---------------------------------------------------*/