{
gccipher_pyobj *g = newtype(gccipher_pytype, 0, cc->name);
g->cc = cc;
- g->ty.type.tp_basicsize = sizeof(gcipher_pyobj);
- g->ty.type.tp_base = gcipher_pytype;
+ g->ty.ht_type.tp_basicsize = sizeof(gcipher_pyobj);
+ g->ty.ht_type.tp_base = gcipher_pytype;
Py_INCREF(gcipher_pytype);
- g->ty.type.tp_flags = (Py_TPFLAGS_DEFAULT |
- Py_TPFLAGS_BASETYPE |
- Py_TPFLAGS_HEAPTYPE);
- g->ty.type.tp_alloc = PyType_GenericAlloc;
- g->ty.type.tp_free = 0;
- g->ty.type.tp_new = gcipher_pynew;
- PyType_Ready(&g->ty.type);
+ g->ty.ht_type.tp_flags = (Py_TPFLAGS_DEFAULT |
+ Py_TPFLAGS_BASETYPE |
+ Py_TPFLAGS_HEAPTYPE);
+ g->ty.ht_type.tp_alloc = PyType_GenericAlloc;
+ g->ty.ht_type.tp_free = 0;
+ g->ty.ht_type.tp_new = gcipher_pynew;
+ PyType_Ready(&g->ty.ht_type);
return ((PyObject *)g);
}
{
gchash_pyobj *g = newtype(gchash_pytype, 0, ch->name);
g->ch = ch;
- g->ty.type.tp_basicsize = sizeof(ghash_pyobj);
- g->ty.type.tp_base = ghash_pytype;
+ g->ty.ht_type.tp_basicsize = sizeof(ghash_pyobj);
+ g->ty.ht_type.tp_base = ghash_pytype;
Py_INCREF(ghash_pytype);
- g->ty.type.tp_flags = (Py_TPFLAGS_DEFAULT |
- Py_TPFLAGS_BASETYPE |
- Py_TPFLAGS_HEAPTYPE);
- g->ty.type.tp_alloc = PyType_GenericAlloc;
- g->ty.type.tp_free = 0;
- g->ty.type.tp_new = ghash_pynew;
- PyType_Ready(&g->ty.type);
+ g->ty.ht_type.tp_flags = (Py_TPFLAGS_DEFAULT |
+ Py_TPFLAGS_BASETYPE |
+ Py_TPFLAGS_HEAPTYPE);
+ g->ty.ht_type.tp_alloc = PyType_GenericAlloc;
+ g->ty.ht_type.tp_free = 0;
+ g->ty.ht_type.tp_new = ghash_pynew;
+ PyType_Ready(&g->ty.ht_type);
return ((PyObject *)g);
}
{
gcmac_pyobj *g = newtype(gcmac_pytype, 0, cm->name);
g->cm = cm;
- g->ty.type.tp_basicsize = sizeof(gmac_pyobj);
- g->ty.type.tp_base = gmac_pytype;
+ g->ty.ht_type.tp_basicsize = sizeof(gmac_pyobj);
+ g->ty.ht_type.tp_base = gmac_pytype;
Py_INCREF(gmac_pytype);
- g->ty.type.tp_flags = (Py_TPFLAGS_DEFAULT |
- Py_TPFLAGS_BASETYPE |
- Py_TPFLAGS_HEAPTYPE);
- g->ty.type.tp_alloc = PyType_GenericAlloc;
- g->ty.type.tp_free = 0;
- g->ty.type.tp_new = gmac_pynew;
- PyType_Ready(&g->ty.type);
+ g->ty.ht_type.tp_flags = (Py_TPFLAGS_DEFAULT |
+ Py_TPFLAGS_BASETYPE |
+ Py_TPFLAGS_HEAPTYPE);
+ g->ty.ht_type.tp_alloc = PyType_GenericAlloc;
+ g->ty.ht_type.tp_free = 0;
+ g->ty.ht_type.tp_new = gmac_pynew;
+ PyType_Ready(&g->ty.ht_type);
return ((PyObject *)g);
}
if (!cobj) cobj = gcmac_pywrap((/*unconst*/ gcmac *)GM_CLASS(m));
else Py_INCREF(cobj);
g = newtype((PyTypeObject *)cobj, 0, 0);
- g->ty.name = PyString_FromFormat("%s(keyed)", m->ops->c->name);
- g->ty.type.tp_name = PyString_AS_STRING(g->ty.name);
- g->ty.type.tp_base = gmhash_pytype;
+ g->ty.ht_name = PyString_FromFormat("%s(keyed)", m->ops->c->name);
+ g->ty.ht_type.tp_name = PyString_AS_STRING(g->ty.ht_name);
+ g->ty.ht_type.tp_base = gmhash_pytype;
Py_INCREF(gmac_pytype);
- g->ty.type.tp_flags = (Py_TPFLAGS_DEFAULT |
- Py_TPFLAGS_BASETYPE |
- Py_TPFLAGS_HEAPTYPE);
- g->ty.type.tp_alloc = PyType_GenericAlloc;
- g->ty.type.tp_free = 0;
- g->ty.type.tp_new = gmhash_pynew;
- PyType_Ready(&g->ty.type);
+ g->ty.ht_type.tp_flags = (Py_TPFLAGS_DEFAULT |
+ Py_TPFLAGS_BASETYPE |
+ Py_TPFLAGS_HEAPTYPE);
+ g->ty.ht_type.tp_alloc = PyType_GenericAlloc;
+ g->ty.ht_type.tp_free = 0;
+ g->ty.ht_type.tp_new = gmhash_pynew;
+ PyType_Ready(&g->ty.ht_type);
g->m = m;
g->f = f;
return ((PyObject *)g);
{
gcprp_pyobj *g = newtype(gcprp_pytype, 0, prp->name);
g->prp = prp;
- g->ty.type.tp_basicsize = sizeof(gprp_pyobj) + prp->ctxsz;
- g->ty.type.tp_base = gprp_pytype;
+ g->ty.ht_type.tp_basicsize = sizeof(gprp_pyobj) + prp->ctxsz;
+ g->ty.ht_type.tp_base = gprp_pytype;
Py_INCREF(gprp_pytype);
- g->ty.type.tp_flags = (Py_TPFLAGS_DEFAULT |
- Py_TPFLAGS_BASETYPE |
- Py_TPFLAGS_HEAPTYPE);
- g->ty.type.tp_alloc = PyType_GenericAlloc;
- g->ty.type.tp_free = 0;
- g->ty.type.tp_new = gprp_pynew;
- PyType_Ready(&g->ty.type);
+ g->ty.ht_type.tp_flags = (Py_TPFLAGS_DEFAULT |
+ Py_TPFLAGS_BASETYPE |
+ Py_TPFLAGS_HEAPTYPE);
+ g->ty.ht_type.tp_alloc = PyType_GenericAlloc;
+ g->ty.ht_type.tp_free = 0;
+ g->ty.ht_type.tp_new = gprp_pynew;
+ PyType_Ready(&g->ty.ht_type);
return ((PyObject *)g);
}
INITTYPE(gprp, root);
}
-#define GEN(func, base) \
- static PyObject *func(void) \
- { \
- PyObject *d = PyDict_New(); \
- PyObject *o; \
- int i; \
- \
- for (i = 0; g##base##tab[i]; i++) { \
- o = gc##base##_pywrap((/*unconst*/ gc##base *)g##base##tab[i]); \
- PyDict_SetItemString(d, \
- (/*unconst*/ char *)g##base##tab[i]->name, \
- o); \
- Py_DECREF(o); \
- } \
- return (d); \
- }
GEN(gcciphers, cipher)
GEN(gchashes, hash)
GEN(gcmacs, mac)