return (PyInt_FromLong(x));
}
-static PyMemberDef keysz_pymembers[] = {
+static const PyMemberDef keysz_pymembers[] = {
#define MEMBERSTRUCT keysz_pyobj
#define default dfl /* ugh! */
MEMBER(default, T_INT, READONLY, "KSZ.default -> default key size")
{ 0 }
};
-static PyGetSetDef keyszany_pygetset[] = {
+static const PyGetSetDef keyszany_pygetset[] = {
#define GETSETNAME(op, name) ka##op##_##name
GET (min, "KSZ.min -> smallest allowed key size")
GET (max, "KSZ.max -> largest allowed key size")
{ 0 }
};
-static PyMemberDef keyszrange_pymembers[] = {
+static const PyMemberDef keyszrange_pymembers[] = {
#define MEMBERSTRUCT keyszrange_pyobj
MEMBER(min, T_INT, READONLY, "KSZ.min -> smallest allowed key size")
MEMBER(max, T_INT, READONLY, "KSZ.max -> largest allowed key size")
{ 0 }
};
-static PyGetSetDef keyszset_pygetset[] = {
+static const PyGetSetDef keyszset_pygetset[] = {
#define GETSETNAME(op, name) ks##op##_##name
GET (min, "KSZ.min -> smallest allowed key size")
GET (max, "KSZ.max -> largest allowed key size")
{ 0 }
};
-static PyMemberDef keyszset_pymembers[] = {
+static const PyMemberDef keyszset_pymembers[] = {
#define MEMBERSTRUCT keyszset_pyobj
MEMBER(set, T_OBJECT, READONLY, "KSZ.set -> allowed key sizes")
#undef MEMBERSTRUCT
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
0, /* @tp_methods@ */
- keysz_pymembers, /* @tp_members@ */
+ PYMEMBERS(keysz), /* @tp_members@ */
0, /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_iternext@ */
0, /* @tp_methods@ */
0, /* @tp_members@ */
- keyszany_pygetset, /* @tp_getset@ */
+ PYGETSET(keyszany), /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_descr_get@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
0, /* @tp_methods@ */
- keyszrange_pymembers, /* @tp_members@ */
+ PYMEMBERS(keyszrange), /* @tp_members@ */
0, /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
0, /* @tp_methods@ */
- keyszset_pymembers, /* @tp_members@ */
- keyszset_pygetset, /* @tp_getset@ */
+ PYMEMBERS(keyszset), /* @tp_members@ */
+ PYGETSET(keyszset), /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_descr_get@ */
return (0);
}
-static PyGetSetDef gccipher_pygetset[] = {
+static const PyGetSetDef gccipher_pygetset[] = {
#define GETSETNAME(op, name) gcc##op##_##name
GET (keysz, "CC.keysz -> acceptable key sizes")
GET (blksz, "CC.blksz -> block size, or zero")
{ 0 }
};
-static PyMethodDef gcipher_pymethods[] = {
+static const PyMethodDef gcipher_pymethods[] = {
#define METHNAME(name) gcmeth_##name
METH (encrypt, "C.encrypt(PT) -> CT")
METH (enczero, "C.enczero(N) -> CT")
0, /* @tp_iternext@ */
0, /* @tp_methods@ */
0, /* @tp_members@ */
- gccipher_pygetset, /* @tp_getset@ */
+ PYGETSET(gccipher), /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_descr_get@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
- gcipher_pymethods, /* @tp_methods@ */
+ PYMETHODS(gcipher), /* @tp_methods@ */
0, /* @tp_members@ */
0, /* @tp_getset@ */
0, /* @tp_base@ */
static PyObject *gcaeget_flags(PyObject *me, void *hunoz)
{ return (PyInt_FromLong(GCAEAD_AEC(me)->f)); }
-static PyGetSetDef gcaead_pygetset[] = {
+static const PyGetSetDef gcaead_pygetset[] = {
#define GETSETNAME(op, name) gcae##op##_##name
GET (keysz, "AEC.keysz -> acceptable key sizes")
GET (noncesz, "AEC.noncesz -> acceptable nonce sizes")
return (rc);
}
-static PyMethodDef gaeadkey_pymethods[] = {
+static const PyMethodDef gaeadkey_pymethods[] = {
#define METHNAME(name) gaekmeth_##name
METH (aad, "KEY.aad() -> AAD")
KWMETH(enc, "KEY.enc(NONCE, [hsz], [msz], [tsz]) -> ENC")
static PyObject *gaeaget_hlen(PyObject *me, void *hunoz)
{ return (gaea_check(me) ? 0 : getulong(GAEADAAD_HLEN(me))); }
-static PyGetSetDef gaeadaad_pygetset[] = {
+static const PyGetSetDef gaeadaad_pygetset[] = {
#define GETSETNAME(op, name) gaea##op##_##name
GET (hsz, "AAD.hsz -> precommitted header length or `None'")
GET (hlen, "AAD.hlen -> header length so far")
RETURN_ME;
}
-static PyMethodDef gaeadaad_pymethods[] = {
+static const PyMethodDef gaeadaad_pymethods[] = {
#define METHNAME(name) gaeameth_##name
METH (copy, "AAD.copy() -> AAD'")
METH (hash, "AAD.hash(H)")
static PyObject *gaeeget_mlen(PyObject *me, void *hunoz)
{ return getulong(GAEADENC_MLEN(me)); }
-static PyGetSetDef gaeadenc_pygetset[] = {
+static const PyGetSetDef gaeadenc_pygetset[] = {
#define GETSETNAME(op, name) gaee##op##_##name
GET (hsz, "ENC.hsz -> precommitted header length or `None'")
GET (msz, "ENC.msz -> precommitted message length or `None'")
return (rc);
}
-static PyMethodDef gaeadenc_pymethods[] = {
+static const PyMethodDef gaeadenc_pymethods[] = {
#define METHNAME(name) gaeemeth_##name
METH (aad, "ENC.aad() -> AAD")
KWMETH(reinit, "ENC.reinit(NONCE, [hsz], [msz], [tsz])")
static PyObject *gaedget_clen(PyObject *me, void *hunoz)
{ return getulong(GAEADDEC_CLEN(me)); }
-static PyGetSetDef gaeaddec_pygetset[] = {
+static const PyGetSetDef gaeaddec_pygetset[] = {
#define GETSETNAME(op, name) gaed##op##_##name
GET (hsz, "DEC.hsz -> precommitted header length or `None'")
GET (csz, "DEC.csz -> precommitted ciphertext length or `None'")
return (rc);
}
-static PyMethodDef gaeaddec_pymethods[] = {
+static const PyMethodDef gaeaddec_pymethods[] = {
#define METHNAME(name) gaedmeth_##name
METH (aad, "DEC.aad() -> AAD")
KWMETH(reinit, "DEC.reinit(NONCE, [hsz], [csz], [tsz])")
0, /* @tp_iternext@ */
0, /* @tp_methods@ */
0, /* @tp_members@ */
- gcaead_pygetset, /* @tp_getset@ */
+ PYGETSET(gcaead), /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_descr_get@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
- gaeadkey_pymethods, /* @tp_methods@ */
+ PYMETHODS(gaeadkey), /* @tp_methods@ */
0, /* @tp_members@ */
0, /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
- gaeadaad_pymethods, /* @tp_methods@ */
+ PYMETHODS(gaeadaad), /* @tp_methods@ */
0, /* @tp_members@ */
- gaeadaad_pygetset, /* @tp_getset@ */
+ PYGETSET(gaeadaad), /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_descr_get@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
- gaeadenc_pymethods, /* @tp_methods@ */
+ PYMETHODS(gaeadenc), /* @tp_methods@ */
0, /* @tp_members@ */
- gaeadenc_pygetset, /* @tp_getset@ */
+ PYGETSET(gaeadenc), /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_descr_get@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
- gaeaddec_pymethods, /* @tp_methods@ */
+ PYMETHODS(gaeaddec), /* @tp_methods@ */
0, /* @tp_members@ */
- gaeaddec_pygetset, /* @tp_getset@ */
+ PYGETSET(gaeaddec), /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_descr_get@ */
return (rc);
}
-static PyGetSetDef gchash_pygetset[] = {
+static const PyGetSetDef gchash_pygetset[] = {
#define GETSETNAME(op, name) gch##op##_##name
GET (bufsz, "CH.bufsz -> hash buffer size, or zero")
GET (hashsz, "CH.hashsz -> hash output size")
{ 0 }
};
-static PyMethodDef ghash_pymethods[] = {
+static const PyMethodDef ghash_pymethods[] = {
#define METHNAME(name) ghmeth_##name
METH (copy, "H.copy() -> HH")
METH (hash, "H.hash(M)")
0, /* @tp_iternext@ */
0, /* @tp_methods@ */
0, /* @tp_members@ */
- gchash_pygetset, /* @tp_getset@ */
+ PYGETSET(gchash), /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_descr_get@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
- ghash_pymethods, /* @tp_methods@ */
+ PYMETHODS(ghash), /* @tp_methods@ */
0, /* @tp_members@ */
0, /* @tp_getset@ */
0, /* @tp_base@ */
static PyObject *gcmget_tagsz(PyObject *me, void *hunoz)
{ return (PyInt_FromLong(GCMAC_CM(me)->hashsz)); }
-static PyGetSetDef gcmac_pygetset[] = {
+static const PyGetSetDef gcmac_pygetset[] = {
#define GETSETNAME(op, name) gcm##op##_##name
GET (keysz, "CM.keysz -> acceptable key sizes")
GET (tagsz, "CM.tagsz -> MAC output size")
0, /* @tp_iternext@ */
0, /* @tp_methods@ */
0, /* @tp_members@ */
- gcmac_pygetset, /* @tp_getset@ */
+ PYGETSET(gcmac), /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_descr_get@ */
return (0);
}
-static PyGetSetDef poly1305cls_pygetset[] = {
+static const PyGetSetDef poly1305cls_pygetset[] = {
#define GETSETNAME(op, name) poly1305cls##op##_##name
GET (keysz, "PC.keysz -> acceptable key sizes")
GET (masksz, "PC.masksz -> mask size")
{ 0 }
};
-static PyMethodDef poly1305hash_pymethods[] = {
+static const PyMethodDef poly1305hash_pymethods[] = {
#define METHNAME(name) polymeth_##name
METH (copy, "P.copy() -> PP")
METH (hash, "P.hash(M)")
0, /* @tp_iternext@ */
0, /* @tp_methods@ */
0, /* @tp_members@ */
- poly1305cls_pygetset, /* @tp_getset@ */
+ PYGETSET(poly1305cls), /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_descr_get@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
- poly1305hash_pymethods, /* @tp_methods@ */
+ PYMETHODS(poly1305hash), /* @tp_methods@ */
0, /* @tp_members@ */
0, /* @tp_getset@ */
0, /* @tp_base@ */
return (rc);
}
-static PyGetSetDef kxvik_pygetset[] = {
+static const PyGetSetDef kxvik_pygetset[] = {
#define GETSETNAME(op, name) kxvik##op##_##name
GETSET(nround, "KECCAK.nround -> number of rounds")
#undef GETSETNAME
{ 0 }
};
-static PyMethodDef kxvik_pymethods[] = {
+static const PyMethodDef kxvik_pymethods[] = {
#define METHNAME(func) kxvikmeth_##func
METH (copy, "KECCAK.copy() -> KECCAK'")
METH (mix, "KECCAK.mix(DATA)")
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
- kxvik_pymethods, /* @tp_methods@ */
+ PYMETHODS(kxvik), /* @tp_methods@ */
0, /* @tp_members@ */
- kxvik_pygetset, /* @tp_getset@ */
+ PYGETSET(kxvik), /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_descr_get@ */
st == 1 ? "squeeze" : "dead"));
}
-static PyGetSetDef shake_pygetset[] = {
+static const PyGetSetDef shake_pygetset[] = {
#define GETSETNAME(op, name) shake##op##_##name
GET (rate, "S.rate -> rate, in bytes")
GET (buffered, "S.buffered -> amount currently buffered")
{ 0 }
};
-static PyMethodDef shake_pymethods[] = {
+static const PyMethodDef shake_pymethods[] = {
#define METHNAME(func) shakemeth_##func
METH (copy, "S.copy() -> SS")
METH (hash, "S.hash(M)")
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
- shake_pymethods, /* @tp_methods@ */
+ PYMETHODS(shake), /* @tp_methods@ */
0, /* @tp_members@ */
- shake_pygetset, /* @tp_getset@ */
+ PYGETSET(shake), /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_descr_get@ */
return (rc);
}
-static PyGetSetDef gcprp_pygetset[] = {
+static const PyGetSetDef gcprp_pygetset[] = {
#define GETSETNAME(op, name) gcp##op##_##name
GET (keysz, "CP.keysz -> acceptable key sizes")
GET (blksz, "CP.blksz -> block size")
{ 0 }
};
-static PyMethodDef gprp_pymethods[] = {
+static const PyMethodDef gprp_pymethods[] = {
#define METHNAME(name) gpmeth_##name
METH (encrypt, "P.encrypt(PT) -> CT")
METH (decrypt, "P.decrypt(CT) -> PT")
0, /* @tp_iternext@ */
0, /* @tp_methods@ */
0, /* @tp_members@ */
- gcprp_pygetset, /* @tp_getset@ */
+ PYGETSET(gcprp), /* @tp_getset@ */
0, /* @tp_base@ */
0, /* @tp_dict@ */
0, /* @tp_descr_get@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
- gprp_pymethods, /* @tp_methods@ */
+ PYMETHODS(gprp), /* @tp_methods@ */
0, /* @tp_members@ */
0, /* @tp_getset@ */
0, /* @tp_base@ */
/*----- Main code ---------------------------------------------------------*/
-static PyMethodDef methods[] = {
+static const PyMethodDef methods[] = {
#define METHNAME(func) meth_##func
METH (_KeySZ_fromdl, "fromdl(N) -> M: "
"convert integer discrete log field size to work factor")