-
-typedef struct gcipher_pyobj {
- PyObject_HEAD
- gcipher *c;
-} gcipher_pyobj;
-
-extern PyTypeObject *gcipher_pytype;
-#define GCIPHER_PYCHECK(o) PyObject_TypeCheck((o), gcipher_pytype)
-#define GCIPHER_C(o) (((gcipher_pyobj *)(o))->c)
-extern PyObject *gcipher_pywrap(PyObject *, gcipher *);
-extern int convgcipher(PyObject *, void *);
-
-typedef struct gcaead_pyobj {
- PyHeapTypeObject ty;
- gcaead *aec;
- struct gcaeadaad_pyobj *aad;
- struct gcaeadenc_pyobj *enc;
- struct gcaeaddec_pyobj *dec;
-} gcaead_pyobj;
-
-extern PyTypeObject *gcaead_pytype;
-#define GCAEAD_PYCHECK(o) PyObject_TypeCheck((o), gcaead_pytype)
-#define GCAEAD_AEC(o) (((gcaead_pyobj *)(o))->aec)
-#define GCAEAD_AAD(o) (((gcaead_pyobj *)(o))->aad)
-#define GCAEAD_ENC(o) (((gcaead_pyobj *)(o))->enc)
-#define GCAEAD_DEC(o) (((gcaead_pyobj *)(o))->dec)
-extern PyObject *gcaead_pywrap(gcaead *);
-extern int convgcaead(PyObject *, void *);
-
-typedef struct gaeadkey_pyobj {
- PyObject_HEAD
- gaead_key *k;
-} gaeadkey_pyobj;
-
-extern PyTypeObject *gaeadkey_pytype;
-#define GAEADKEY_PYCHECK(o) PyObject_TypeCheck((o), gaeadkey_pytype)
-#define GAEADKEY_K(o) (((gaeadkey_pyobj *)(o))->k)
-extern PyObject *gaeadkey_pywrap(PyObject *, gaead_key *);
-extern int convgaeadkey(PyObject *, void *);
-
-typedef struct gcaeadaad_pyobj {
- PyHeapTypeObject ty;
- gcaead_pyobj *key;
-} gcaeadaad_pyobj;
-#define GCAEADAAD_KEY(o) (((gcaeadaad_pyobj *)(o))->key)
-extern PyTypeObject *gcaeadaad_pytype;
-
-typedef struct gaeadaad_pyobj {
- PyObject_HEAD
- gaead_aad *a;
- unsigned f;
-#define AEADF_DEAD 32768u
- size_t hsz, hlen;
-} gaeadaad_pyobj;
-
-extern PyTypeObject *gaeadaad_pytype;
-#define GAEADAAD_PYCHECK(o) PyObject_TypeCheck((o), gaeadaad_pytype)
-#define GAEADAAD_A(o) (((gaeadaad_pyobj *)(o))->a)
-#define GAEADAAD_F(o) (((gaeadaad_pyobj *)(o))->f)
-#define GAEADAAD_HSZ(o) (((gaeadaad_pyobj *)(o))->hsz)
-#define GAEADAAD_HLEN(o) (((gaeadaad_pyobj *)(o))->hlen)
-extern PyObject *gaeadaad_pywrap(PyObject *, gaead_aad *, unsigned, size_t);
-extern int convgaeadaad(PyObject *, void *);
-
-typedef struct gcaeadenc_pyobj {
- PyHeapTypeObject ty;
- gcaead_pyobj *key;
-} gcaeadenc_pyobj;
-#define GCAEADENC_KEY(o) (((gcaeadenc_pyobj *)(o))->key)
-extern PyTypeObject *gcaeadenc_pytype;
-
-typedef struct gaeadenc_pyobj {
- PyObject_HEAD
- gaead_enc *e;
- gaeadaad_pyobj *aad;
- unsigned f;
- size_t hsz, msz, tsz;
- size_t mlen;
-} gaeadenc_pyobj;
-
-extern PyTypeObject *gaeadenc_pytype;
-#define GAEADENC_PYCHECK(o) PyObject_TypeCheck((o), gaeadenc_pytype)
-#define GAEADENC_AAD(o) (((gaeadenc_pyobj *)(o))->aad)
-#define GAEADENC_E(o) (((gaeadenc_pyobj *)(o))->e)
-#define GAEADENC_F(o) (((gaeadenc_pyobj *)(o))->f)
-#define GAEADENC_HSZ(o) (((gaeadenc_pyobj *)(o))->hsz)
-#define GAEADENC_MSZ(o) (((gaeadenc_pyobj *)(o))->msz)
-#define GAEADENC_TSZ(o) (((gaeadenc_pyobj *)(o))->tsz)
-#define GAEADENC_MLEN(o) (((gaeadenc_pyobj *)(o))->mlen)
-extern PyObject *gaeadenc_pywrap(PyObject *, gaead_enc *, unsigned,
- size_t, size_t, size_t);
-extern int convgaeadenc(PyObject *, void *);
-
-typedef struct gcaeaddec_pyobj {
- PyHeapTypeObject ty;
- gcaead_pyobj *key;
-} gcaeaddec_pyobj;
-#define GCAEADDEC_KEY(o) (((gcaeaddec_pyobj *)(o))->key)
-extern PyTypeObject *gcaeaddec_pytype;
-
-typedef struct gaeaddec_pyobj {
- PyObject_HEAD
- gaead_dec *d;
- gaeadaad_pyobj *aad;
- unsigned f;
- size_t hsz, csz, tsz;
- size_t clen;
-} gaeaddec_pyobj;
-
-extern PyTypeObject *gaeaddec_pytype;
-#define GAEADDEC_PYCHECK(o) PyObject_TypeCheck((o), gaeaddec_pytype)
-#define GAEADDEC_AAD(o) (((gaeaddec_pyobj *)(o))->aad)
-#define GAEADDEC_D(o) (((gaeaddec_pyobj *)(o))->d)
-#define GAEADDEC_F(o) (((gaeaddec_pyobj *)(o))->f)
-#define GAEADDEC_HSZ(o) (((gaeaddec_pyobj *)(o))->hsz)
-#define GAEADDEC_CSZ(o) (((gaeaddec_pyobj *)(o))->csz)
-#define GAEADDEC_TSZ(o) (((gaeaddec_pyobj *)(o))->tsz)
-#define GAEADDEC_CLEN(o) (((gaeaddec_pyobj *)(o))->clen)
-extern PyObject *gaeaddec_pywrap(PyObject *, gaead_dec *, unsigned,
- size_t, size_t, size_t);
-extern int convgaeaddec(PyObject *, void *);