+###--------------------------------------------------------------------------
+### File comparison.
+
+cdef extern from 'mLib/fwatch.h':
+ ctypedef struct fwatch:
+ pass
+ void fwatch_init(fwatch *f, char *name)
+ void fwatch_initfd(fwatch *f, int fd)
+ int fwatch_update(fwatch *f, char *name)
+ int fwatch_updatefd(fwatch *f, int fd)
+
+###--------------------------------------------------------------------------
+### File descriptor hacking.
+
+cdef extern from 'mLib/fdflags.h':
+ int _fdflags "fdflags"(int fd,
+ unsigned fbic, unsigned fxor,
+ unsigned fdbic, unsigned fdxor)
+
+cdef extern from 'mLib/fdpass.h':
+ int fdpass_send(int sock, int fd, void *p, size_t sz)
+ int fdpass_recv(int sock, int *fd, void *p, size_t sz)
+
+cdef extern from 'mLib/mdup.h':
+ ctypedef struct mdup_fd:
+ int cur
+ int want
+ int _mdup "mdup"(mdup_fd *v, size_t n)
+
+###--------------------------------------------------------------------------
+### Daemon utilities.
+
+cdef extern from 'mLib/daemonize.h':
+ int _daemonize "daemonize"()
+ void _detachtty "detachtty"()
+
+###--------------------------------------------------------------------------
+### Internal utilities.