-cdef extern from 'mLib/unihash.h':
- ctypedef int uint32
- ctypedef struct unihash_info:
- pass
- void unihash_setkey(unihash_info *i, uint32 k)
- uint32 UNIHASH_INIT(unihash_info *i)
- uint32 unihash_hash(unihash_info *i, uint32 a, void *p, int sz)
- unihash_info unihash_global
-
-cdef extern from 'limits.h':
- enum:
- LONG_MAX
-
-cdef extern from 'Python.h':
- int PyObject_AsReadBuffer(obj, void **buf, int *len) except -1
- PyInt_FromLong(long i)
- PyLong_FromUnsignedLong(unsigned long i)
-
-cdef _u32(uint32 x):
- if x < LONG_MAX:
- return PyInt_FromLong(x)
- else:
- return PyLong_FromUnsignedLong(x)
-