bytestring.c: Implement indexing, slicing, concatenation and repeating.
[pyke] / catacomb-python.h
index 3b9d8f7..364a3c9 100644 (file)
@@ -70,6 +70,7 @@
 #include <catacomb/sha-mgf.h>
 #include <catacomb/sha-hmac.h>
 #include <catacomb/keccak1600.h>
+#include <catacomb/sha3.h>
 
 #include <catacomb/mp.h>
 #include <catacomb/mpint.h>
@@ -91,6 +92,7 @@
 #include <catacomb/x25519.h>
 #include <catacomb/x448.h>
 #include <catacomb/ed25519.h>
+#include <catacomb/ed448.h>
 
 #include <catacomb/gf.h>
 #include <catacomb/gfreduce.h>
 } while (0)
 #define VALERR(str) EXCERR(PyExc_ValueError, str)
 #define TYERR(str) EXCERR(PyExc_TypeError, str)
+#define IXERR(str) EXCERR(PyExc_IndexError, str)
 #define ZDIVERR(str) EXCERR(PyExc_ZeroDivisionError, str)
 #define SYSERR(str) EXCERR(PyExc_SystemError, str)
 #define NIERR(str) EXCERR(PyExc_NotImplementedError, str)
@@ -229,6 +232,8 @@ MODULES(DO)
     return (d);                                                                \
   }
 
+#define KWLIST (/*unconst*/ char **)kwlist
+
 struct nameval { const char *name; unsigned long value; };
 extern void setconstants(PyObject *, const struct nameval *);
 
@@ -501,7 +506,6 @@ extern PyTypeObject *gccipher_pytype;
 #define GCCIPHER_F(o) (((gccipher_pyobj *)(o))->f)
 extern PyObject *gccipher_pywrap(gccipher *);
 extern int convgccipher(PyObject *, void *);
-extern int convgcipher(PyObject *, void *);
 
 typedef struct gcipher_pyobj {
   PyObject_HEAD