* (c) 2004 Straylight/Edgeware
*/
-/*----- Licensing notice --------------------------------------------------*
+/*----- Licensing notice --------------------------------------------------*
*
* This file is part of the Python interface to Catacomb.
*
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* Catacomb/Python is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with Catacomb/Python; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
return (0); \
}
+#if PY_VERSION_HEX < 0x02050000 /* Compatibility hack */
+# define ht_name name
+# define ht_type type
+#endif
+
#define root_pytype 0
#define type_pytype &PyType_Type
#define INITTYPE(ty, base) do { \
#define INSERT(name, ob) do { \
PyObject *_o = (PyObject *)(ob); \
- Py_INCREF(_o); \
+ Py_INCREF(_o); \
PyModule_AddObject(mod, name, _o); \
} while (0)
_(bytestring) _(buffer) \
_(rand) _(algorithms) _(pubkey) _(pgen) \
_(mp) _(field) _(ec) _(group) \
- _(passphrase) _(share) _(key)
+ _(passphrase) _(share) _(key) \
+ _(util)
#define DOMODINIT(m) m##_pyinit();
#define DOMODINSERT(m) m##_pyinsert(mod);
#define INIT_MODULES do { MODULES(DOMODINIT) } while (0)
extern int convbool(PyObject *, void *);
extern PyObject *abstract_pynew(PyTypeObject *, PyObject *, PyObject *);
extern PyObject *getbool(int);
-#define DECL_GETU_(n) extern PyObject *getu##n(uint##n);
-DOUINTSZ(DECL_GETU_)
+extern PyObject *getulong(unsigned long);
extern void *newtype(PyTypeObject *, const PyTypeObject *, const char *);
extern PyObject * mkexc(PyObject *, PyObject *, const char *, PyMethodDef *);
METH (items, "D.items() -> LIST") \
METH (iterkeys, "D.iterkeys() -> ITER") \
METH (itervalues, "D.itervalues() -> ITER") \
- METH (iteritems, "D.iteritems() -> ITER") \
+ METH (iteritems, "D.iteritems() -> ITER") \
KWMETH(get, "D.get(KEY, [default = None]) -> VALUE") \
#define GMAP_DOMETHODS(METH, KWMETH) \
field *f;
mp *x;
} fe_pyobj;
-
+
extern PyTypeObject *field_pytype;
extern PyTypeObject *primefield_pytype;
extern PyTypeObject *niceprimefield_pytype;
ec_info ei;
PyObject *cobj;
} ecinfo_pyobj;
-
+
extern PyTypeObject *ecinfo_pytype;
#define ECINFO_PYCHECK(o) PyObject_TypeCheck((o), ecinfo_pytype)
#define ECINFO_EI(o) (&((ecinfo_pyobj *)(o))->ei)
extern int convgmac(PyObject *, void *);
/*----- Key generation ----------------------------------------------------*/
-
+
typedef struct pfilt_pyobj {
PyObject_HEAD
pfilt f;