# define PyVarObject_HEAD_INIT(super, sz) PyObject_HEAD_INIT(super) sz,
#endif
+/* Python 3.2 changed the type of hash values, so paper over this annoying
+ * difference.
+ */
+#if PY_VERSION_HEX < 0x03020000
+ typedef long Py_hash_t;
+#endif
+
/*----- Utilities for returning values and exceptions ---------------------*/
/* Returning values. */
/* Input conversion functions for standard kinds of objects, with overflow
* checking where applicable.
*/
+struct bin { const void *p; Py_ssize_t sz; };
extern int convulong(PyObject *, void *); /* unsigned long */
extern int convuint(PyObject *, void *); /* unsigned int */
extern int convszt(PyObject *, void *); /* size_t */
extern int convbool(PyObject *, void *); /* bool */
+extern int convbin(PyObject *, void *); /* read buffer holding bytes */
/* Output conversions. */
extern PyObject *getbool(int); /* bool */