X-Git-Url: https://git.distorted.org.uk/~mdw/mLib-python/blobdiff_plain/704500e11c6a7e240acc047607d34bc6db520f15..HEAD:/fdutils.pyx?ds=sidebyside diff --git a/fdutils.pyx b/fdutils.pyx index bb28188..71135e6 100644 --- a/fdutils.pyx +++ b/fdutils.pyx @@ -26,13 +26,28 @@ def fdflags(file, unsigned fbic = 0, unsigned fxor = 0, unsigned fdbic = 0, unsigned fdxor = 0): + """ + fdflags(FILE, [fbic = 0], [fxor = 0], [fdbic = 0], [fdxor = 0]) + + Set fcntl(2) file and descriptor flags. If these are FL and FD, then + update: + + * FL = (FL & ~FBIC) ^ FXOR + * FD = (FD & ~FDBIC) ^ FDXOR + + FILE may be integer file descriptor or an object with `fileno' method. + """ cdef int rc - rc = _fdflags(_getfd(fd), fbix, fxor, fdbic, fdxor) + rc = _fdflags(_getfd(file), fbic, fxor, fdbic, fdxor) if rc < 0: _oserror() return rc def fdsend(sock, file, buffer): + """ + fdsend(SOCK, FILE, BUFFER) -> RC: + send FILE over Unix-domain socket SOCK, along with BUFFER + """ cdef void *p cdef Py_ssize_t len cdef int rc @@ -43,6 +58,10 @@ def fdsend(sock, file, buffer): return rc def fdrecv(sock, unsigned size): + """ + fdrecv(SOCK, SIZE) -> FD, BUFFER + receive file FD and BUFFER of length up to SIZE from Unix-domain SOCK + """ cdef void *p cdef buf cdef Py_ssize_t len