X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/mLib-python/blobdiff_plain/5b1830f325c55c70d65fd020f08dd958493e528d..704500e11c6a7e240acc047607d34bc6db520f15:/defs.pxi diff --git a/defs.pxi b/defs.pxi index c0b304a..bfb4dcc 100644 --- a/defs.pxi +++ b/defs.pxi @@ -23,7 +23,8 @@ ### along with mLib/Python; if not, write to the Free Software Foundation, ### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -###----- C library ---------------------------------------------------------- +###-------------------------------------------------------------------------- +### C library. cdef extern from 'errno.h': int errno @@ -42,7 +43,8 @@ cdef extern from 'string.h': char *strerror(int err) size_t strlen(char *p) -###----- Unix interface ----------------------------------------------------- +###-------------------------------------------------------------------------- +### Unix interface. cdef extern from 'sys/types.h': pass @@ -52,6 +54,7 @@ cdef extern from 'sys/time.h': int tv_usec cdef extern from 'sys/socket.h': + ctypedef int socklen_t struct sockaddr: int sa_family enum: @@ -82,7 +85,8 @@ cdef extern from 'netdb.h': char *h_addr int h_errno -###----- Python ------------------------------------------------------------- +###-------------------------------------------------------------------------- +### Python. cdef extern from 'Python.h': @@ -91,9 +95,9 @@ cdef extern from 'Python.h': ctypedef struct PyTypeObject: pass - object PyString_FromStringAndSize(char *p, int len) - int PyString_AsStringAndSize(obj, char **p, int *len) except -1 - int PyObject_AsReadBuffer(obj, void **buf, int *len) except -1 + object PyString_FromStringAndSize(char *p, Py_ssize_t len) + int PyString_AsStringAndSize(obj, char **p, Py_ssize_t *len) except -1 + int PyObject_AsReadBuffer(obj, void **buf, Py_ssize_t *len) except -1 int PyObject_TypeCheck(obj, ty) object PyInt_FromLong(long i) object PyLong_FromUnsignedLong(unsigned long i) @@ -103,7 +107,8 @@ cdef extern from 'Python.h': void Py_INCREF(PyObject *obj) void Py_DECREF(PyObject *obj) -###----- mLib basic stuff --------------------------------------------------- +###-------------------------------------------------------------------------- +### mLib basic stuff. cdef extern from 'mLib/alloc.h': char *xstrdup(char *p) @@ -120,12 +125,14 @@ cdef extern from 'mLib/dstr.h': void DCREATE(dstr *d) void dstr_destroy(dstr *d) -###----- CRC32 -------------------------------------------------------------- +###-------------------------------------------------------------------------- +### CRC32. cdef extern from 'mLib/crc32.h': uint32 c_crc32 "crc32" (uint32 a, void *p, int sz) -###----- Universal hashing -------------------------------------------------- +###-------------------------------------------------------------------------- +### Universal hashing. cdef extern from 'mLib/unihash.h': ctypedef struct unihash_info: @@ -135,7 +142,8 @@ cdef extern from 'mLib/unihash.h': uint32 unihash_hash(unihash_info *i, uint32 a, void *p, int sz) unihash_info unihash_global -###----- Symbol tables ------------------------------------------------------ +###-------------------------------------------------------------------------- +### Symbol tables. cdef extern from 'mLib/sym.h': ctypedef struct sym_table: @@ -153,7 +161,8 @@ cdef extern from 'mLib/sym.h': void sym_mkiter(sym_iter *i, sym_table *t) void *sym_next(sym_iter *i) -###----- String utilities --------------------------------------------------- +###-------------------------------------------------------------------------- +### String utilities. cdef extern from 'mLib/str.h': enum: @@ -167,7 +176,8 @@ cdef extern from 'mLib/str.h': cdef extern from 'mLib/versioncmp.h': int _versioncmp "versioncmp"(char *va, char *vb) -###----- Form-urlencoding functions ----------------------------------------- +###-------------------------------------------------------------------------- +### Form-urlencoding functions. cdef extern from 'mLib/url.h': struct url_ectx: @@ -184,7 +194,8 @@ cdef extern from 'mLib/url.h': void url_initdec(url_dctx *ctx, char *p) int url_dec(url_dctx *ctx, dstr *n, dstr *v) -###----- Atom stuff --------------------------------------------------------- +###-------------------------------------------------------------------------- +### Atom stuff. ## Atoms. ## @@ -221,14 +232,16 @@ cdef extern from 'mLib/assoc.h': void assoc_mkiter(assoc_iter *i, assoc_table *t) void *assoc_next(assoc_iter *i) -###----- Double-ended arrays ------------------------------------------------ +###-------------------------------------------------------------------------- +### Double-ended arrays. cdef extern from 'array.h': void da_pysetup() PyTypeObject da_pytype PyTypeObject daiter_pytype -###----- Line buffer -------------------------------------------------------- +###-------------------------------------------------------------------------- +### Line buffer. cdef extern from 'mLib/lbuf.h': cdef struct lbuf: @@ -249,7 +262,8 @@ cdef extern from 'mLib/lbuf.h': void (*func)(char *s, size_t len, void *arg), void *arg) void lbuf_destroy(lbuf *b) -###----- Packet buffer ------------------------------------------------------ +###-------------------------------------------------------------------------- +### Packet buffer. cdef extern from 'mLib/pkbuf.h': ctypedef struct pkbuf: @@ -267,7 +281,8 @@ cdef extern from 'mLib/pkbuf.h': void *arg) void pkbuf_destroy(pkbuf *b) -###----- Select stuff ------------------------------------------------------- +###-------------------------------------------------------------------------- +### Select stuff. ## Basics. cdef extern from 'mLib/sel.h': @@ -373,7 +388,8 @@ cdef extern from 'mLib/ident.h': void *arg) void ident_abort(ident_request *rq) -###----- Error reporting ---------------------------------------------------- +###-------------------------------------------------------------------------- +### Error reporting. cdef extern from 'mLib/quis.h': void _ego "ego"(char *prog) @@ -382,7 +398,8 @@ cdef extern from 'mLib/quis.h': cdef extern from 'mLib/report.h': void _moan "moan"(char *f, char *msg) -###----- File comparison ---------------------------------------------------- +###-------------------------------------------------------------------------- +### File comparison. cdef extern from 'mLib/fwatch.h': ctypedef struct fwatch: @@ -392,7 +409,8 @@ cdef extern from 'mLib/fwatch.h': int fwatch_update(fwatch *f, char *name) int fwatch_updatefd(fwatch *f, int fd) -###----- File descriptor hacking -------------------------------------------- +###-------------------------------------------------------------------------- +### File descriptor hacking. cdef extern from 'mLib/fdflags.h': int _fdflags "fdflags"(int fd, @@ -409,15 +427,18 @@ cdef extern from 'mLib/mdup.h': int want int _mdup "mdup"(mdup_fd *v, size_t n) -###----- Daemon utilities --------------------------------------------------- +###-------------------------------------------------------------------------- +### Daemon utilities. cdef extern from 'mLib/daemonize.h': int _daemonize "daemonize"() void _detachtty "detachtty"() -###----- Internal utilities ------------------------------------------------- +###-------------------------------------------------------------------------- +### Internal utilities. cdef extern from 'grim.h': int PSIZEOF(void *x) + ctypedef void *cvp ###----- That's all, folks --------------------------------------------------