return (rc);
}
-static PyObject *dsameth_beginhash(PyObject *me, PyObject *arg)
-{
- if (!PyArg_ParseTuple(arg, ":beginhash")) return (0);
- return (ghash_pywrap(DSA_HASH(me), gdsa_beginhash(DSA_D(me))));
-}
+static PyObject *dsameth_beginhash(PyObject *me)
+ { return (ghash_pywrap(DSA_HASH(me), gdsa_beginhash(DSA_D(me)))); }
static PyObject *dsameth_endhash(PyObject *me, PyObject *arg)
{
static const PyMethodDef dsapub_pymethods[] = {
#define METHNAME(name) dsameth_##name
- METH (beginhash, "D.beginhash() -> hash object")
+ NAMETH(beginhash, "D.beginhash() -> hash object")
METH (endhash, "D.endhash(H) -> BYTES")
METH (verify, "D.verify(MSG, (R, S)) -> true/false")
#undef METHNAME
{ 0 }
};
-static PyTypeObject dsapub_pytype_skel = {
+static const PyTypeObject dsapub_pytype_skel = {
PyObject_HEAD_INIT(0) 0, /* Header */
"DSAPub", /* @tp_name@ */
sizeof(dsa_pyobj), /* @tp_basicsize@ */
0 /* @tp_is_gc@ */
};
-static PyTypeObject dsapriv_pytype_skel = {
+static const PyTypeObject dsapriv_pytype_skel = {
PyObject_HEAD_INIT(0) 0, /* Header */
"DSAPriv", /* @tp_name@ */
sizeof(dsa_pyobj), /* @tp_basicsize@ */
return (rc);
}
-static PyObject *kcdsameth_beginhash(PyObject *me, PyObject *arg)
-{
- if (!PyArg_ParseTuple(arg, ":beginhash")) return (0);
- return (ghash_pywrap(DSA_HASH(me), gkcdsa_beginhash(DSA_D(me))));
-}
+static PyObject *kcdsameth_beginhash(PyObject *me)
+ { return (ghash_pywrap(DSA_HASH(me), gkcdsa_beginhash(DSA_D(me)))); }
static PyObject *kcdsameth_endhash(PyObject *me, PyObject *arg)
{
static const PyMethodDef kcdsapub_pymethods[] = {
#define METHNAME(name) kcdsameth_##name
- METH (beginhash, "D.beginhash() -> hash object")
+ NAMETH(beginhash, "D.beginhash() -> hash object")
METH (endhash, "D.endhash(H) -> BYTES")
METH (verify, "D.verify(MSG, (R, S)) -> true/false")
#undef METHNAME
{ 0 }
};
-static PyTypeObject kcdsapub_pytype_skel = {
+static const PyTypeObject kcdsapub_pytype_skel = {
PyObject_HEAD_INIT(0) 0, /* Header */
"KCDSAPub", /* @tp_name@ */
sizeof(dsa_pyobj), /* @tp_basicsize@ */
0 /* @tp_is_gc@ */
};
-static PyTypeObject kcdsapriv_pytype_skel = {
+static const PyTypeObject kcdsapriv_pytype_skel = {
PyObject_HEAD_INIT(0) 0, /* Header */
"KCDSAPriv", /* @tp_name@ */
sizeof(dsa_pyobj), /* @tp_basicsize@ */
static const PyMethodDef rsapriv_pymethods[] = {
#define METHNAME(name) rsameth_##name
- KWMETH(privop, "R.privop(X, [rng = None]) -> X^D (mod N)")
+ KWMETH(privop, "R.privop(X, [rng = None]) -> X^D (mod N)")
KWSMTH(generate, "generate(NBITS, [event = pgen_nullev], [rng = rand], "
"[nsteps = 0]) -> R")
#undef METHNAME
{ 0 }
};
-static PyTypeObject rsapub_pytype_skel = {
+static const PyTypeObject rsapub_pytype_skel = {
PyObject_HEAD_INIT(0) 0, /* Header */
"RSAPub", /* @tp_name@ */
sizeof(rsapub_pyobj), /* @tp_basicsize@ */
0 /* @tp_is_gc@ */
};
-static PyTypeObject rsapriv_pytype_skel = {
+static const PyTypeObject rsapriv_pytype_skel = {
PyObject_HEAD_INIT(0) 0, /* Header */
"RSAPriv", /* @tp_name@ */
sizeof(rsapriv_pyobj), /* @tp_basicsize@ */
/*----- Global stuff ------------------------------------------------------*/
+static const struct nameval consts[] = {
+ CONST(X25519_KEYSZ), CONST(X25519_PUBSZ), CONST(X25519_OUTSZ),
+ CONST(X448_KEYSZ), CONST(X448_PUBSZ), CONST(X448_OUTSZ),
+ CONST(ED25519_KEYSZ), CONST(ED25519_PUBSZ), CONST(ED25519_SIGSZ),
+ CONST(ED25519_MAXPERSOSZ),
+ CONST(ED448_KEYSZ), CONST(ED448_PUBSZ), CONST(ED448_SIGSZ),
+ CONST(ED448_MAXPERSOSZ),
+ { 0 }
+};
+
static const PyMethodDef methods[] = {
#define METHNAME(name) meth_##name
KWMETH(_p1crypt_encode, 0)
INSERT("KCDSAPriv", kcdsapriv_pytype);
INSERT("RSAPub", rsapub_pytype);
INSERT("RSAPriv", rsapriv_pytype);
+ setconstants(mod, consts);
}
/*----- That's all, folks -------------------------------------------------*/