static PyObject *keyszany_pynew(PyTypeObject *ty,
PyObject *arg, PyObject *kw)
{
- char *kwlist[] = { "default", 0 };
+ static const char *const kwlist[] = { "default", 0 };
int dfl;
keysz_pyobj *o;
- if (!PyArg_ParseTupleAndKeywords(arg, kw, "i:new", kwlist, &dfl))
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, "i:new", KWLIST, &dfl))
goto end;
if (dfl < 0) VALERR("key size cannot be negative");
o = (keysz_pyobj *)ty->tp_alloc(ty, 0);
static PyObject *keyszrange_pynew(PyTypeObject *ty,
PyObject *arg, PyObject *kw)
{
- char *kwlist[] = { "default", "min", "max", "mod", 0 };
+ static const char *const kwlist[] = { "default", "min", "max", "mod", 0 };
int dfl, min = 0, max = 0, mod = 1;
keyszrange_pyobj *o;
- if (!PyArg_ParseTupleAndKeywords(arg, kw, "i|iii:new", kwlist,
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, "i|iii:new", KWLIST,
&dfl, &min, &max, &mod))
goto end;
- if (dfl < 0 || min < 0 || max < 0)
- VALERR("key size cannot be negative");
- if (min > dfl || (max && dfl > max))
- VALERR("bad key size bounds");
- if (mod <= 0 || dfl % mod || min % mod || max % mod)
+ if (dfl < 0 || min < 0) VALERR("key size cannot be negative");
+ if (min > dfl || (max && dfl > max)) VALERR("bad key size bounds");
+ if (mod <= 0 || dfl%mod || min%mod || max%mod)
VALERR("bad key size modulus");
o = (keyszrange_pyobj *)ty->tp_alloc(ty, 0);
o->dfl = dfl;
static PyObject *keyszset_pynew(PyTypeObject *ty,
PyObject *arg, PyObject *kw)
{
- char *kwlist[] = { "default", "set", 0 };
+ static const char *const kwlist[] = { "default", "set", 0 };
int dfl, i, n, xx;
PyObject *set = 0;
PyObject *x = 0, *l = 0;
keyszset_pyobj *o = 0;
- if (!PyArg_ParseTupleAndKeywords(arg, kw, "i|O:new", kwlist,
- &dfl, &set))
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, "i|O:new", KWLIST, &dfl, &set))
goto end;
if (!set) set = PyTuple_New(0);
else Py_INCREF(set);
Py_TPFLAGS_BASETYPE,
/* @tp_doc@ */
-"Key size constraints.",
+"Key size constraints. Abstract.",
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
Py_TPFLAGS_BASETYPE,
/* @tp_doc@ */
-"Key size constraints. This object imposes no constraints on size.",
+"KeySZAny(DEFAULT)\n\
+ Key size constraints. This object imposes no constraints on size.",
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
Py_TPFLAGS_BASETYPE,
/* @tp_doc@ */
-"Key size constraints. This object asserts minimum and maximum (if\n\
-sizes, and requires the key length to be a multiple of some value.",
+"KeySZRange(DEFAULT, [min = 0], [max = 0], [mod = 1])\n\
+ Key size constraints. Key size must be between MIN and MAX inclusive,\n\
+ and be a multiple of MOD.",
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
Py_TPFLAGS_BASETYPE,
/* @tp_doc@ */
-"Key size constraints. This object requires the key to be one of a\n\
-few listed sizes.",
+"KeySZSet(DEFAULT, SEQ)\n\
+ Key size constraints. Key size must be DEFAULT or one in SEQ.",
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
static PyObject *gcipher_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw)
{
- char *kwlist[] = { "k", 0 };
+ static const char *const kwlist[] = { "k", 0 };
char *k;
Py_ssize_t sz;
- if (!PyArg_ParseTupleAndKeywords(arg, kw, "s#:new", kwlist, &k, &sz))
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, "s#:new", KWLIST, &k, &sz))
goto end;
if (keysz(sz, GCCIPHER_CC(ty)->keysz) != sz) VALERR("bad key length");
return (gcipher_pywrap((PyObject *)ty,
static PyObject *ghash_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw)
{
- char *kwlist[] = { 0 };
- if (!PyArg_ParseTupleAndKeywords(arg, kw, ":new", kwlist))
+ static const char *const kwlist[] = { 0 };
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, ":new", KWLIST))
goto end;
return (ghash_pywrap((PyObject *)ty, GH_INIT(GCHASH_CH(ty)), f_freeme));
end:
static PyObject *gmac_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw)
{
- char *kwlist[] = { "k", 0 };
+ static const char *const kwlist[] = { "k", 0 };
char *k;
Py_ssize_t sz;
- if (!PyArg_ParseTupleAndKeywords(arg, kw, "s#:new", kwlist, &k, &sz))
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, "s#:new", KWLIST, &k, &sz))
goto end;
if (keysz(sz, GCMAC_CM(ty)->keysz) != sz) VALERR("bad key length");
return (gmac_pywrap((PyObject *)ty,
static PyObject *gmhash_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw)
{
- char *kwlist[] = { 0 };
+ static const char *const kwlist[] = { 0 };
ghash_pyobj *g;
- if (!PyArg_ParseTupleAndKeywords(arg, kw, ":new", kwlist)) return (0);
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, ":new", KWLIST)) return (0);
g = PyObject_NEW(ghash_pyobj, ty);
g->h = GM_INIT(GMAC_M(ty));
g->f = f_freeme;
static PyObject *poly1305hash_pynew(PyTypeObject *ty,
PyObject *arg, PyObject *kw)
{
- char *kwlist[] = { "mask", 0 };
+ static const char *const kwlist[] = { "mask", 0 };
poly1305key_pyobj *pk = (poly1305key_pyobj *)ty;
poly1305hash_pyobj *ph;
char *m = 0;
Py_ssize_t sz;
- if (!PyArg_ParseTupleAndKeywords(arg, kw, "|s#:new", kwlist, &m, &sz))
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, "|s#:new", KWLIST, &m, &sz))
return (0);
if (m && sz != POLY1305_MASKSZ) VALERR("bad mask length");
ph = PyObject_NEW(poly1305hash_pyobj, ty);
static PyObject *poly1305key_pynew(PyTypeObject *ty,
PyObject *arg, PyObject *kw)
{
- char *kwlist[] = { "k", 0 };
+ static const char *const kwlist[] = { "k", 0 };
poly1305key_pyobj *pk;
char *k;
Py_ssize_t sz;
- if (!PyArg_ParseTupleAndKeywords(arg, kw, "s#:new", kwlist, &k, &sz))
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, "s#:new", KWLIST, &k, &sz))
goto end;
if (keysz(sz, poly1305_keysz) != sz) VALERR("bad key length");
Py_TPFLAGS_BASETYPE,
/* @tp_doc@ */
-"Poly1305 key.",
+"poly1305(K): Poly1305 key.",
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
{
unsigned n = 24;
kxvik_pyobj *rc = 0;
- char *kwlist[] = { "nround", 0 };
- if (!PyArg_ParseTupleAndKeywords(arg, kw, "|O&:new", kwlist,
+ static const char *const kwlist[] = { "nround", 0 };
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, "|O&:new", KWLIST,
convuint, &n))
goto end;
rc = (kxvik_pyobj *)ty->tp_alloc(ty, 0);
Py_TPFLAGS_BASETYPE,
/* @tp_doc@ */
-"Keccak-p[1600, n] state.",
+"Keccak1600([nround = 24]): Keccak-p[1600, n] state.",
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
shake_pyobj *rc = 0;
char *p = 0, *f = 0;
Py_ssize_t psz = 0, fsz = 0;
- char *kwlist[] = { "perso", "func", 0 };
+ static const char *const kwlist[] = { "perso", "func", 0 };
- if (!PyArg_ParseTupleAndKeywords(arg, kw, "|s#s#:new", kwlist,
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, "|s#s#:new", KWLIST,
&p, &psz, &f, &fsz))
goto end;
rc = (shake_pyobj *)ty->tp_alloc(ty, 0);
Py_TPFLAGS_BASETYPE,
/* @tp_doc@ */
-"SHAKE128/cSHAKE128 XOF.",
+"Shake128([perso = STR], [func = STR]): SHAKE128/cSHAKE128 XOF.",
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
Py_TPFLAGS_BASETYPE,
/* @tp_doc@ */
-"SHAKE256/cSHAKE256 XOF.",
+"Shake256([perso = STR], [func = STR]): SHAKE256/cSHAKE256 XOF.",
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
static PyObject *gprp_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw)
{
- char *kwlist[] = { "key", 0 };
+ static const char *const kwlist[] = { "key", 0 };
char *k;
Py_ssize_t sz;
const prpinfo *prp = GCPRP_PRP(ty);
PyObject *me;
- if (!PyArg_ParseTupleAndKeywords(arg, kw, "s#:new", kwlist, &k, &sz))
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, "s#:new", KWLIST, &k, &sz))
goto end;
if (keysz(sz, prp->keysz) != sz) VALERR("bad key length");
me = (PyObject *)ty->tp_alloc(ty, 0);