darling-libkqueue/kqlite
mheily e6dd660153 Checkpoint for more kqlite work
git-svn-id: svn://svn.code.sf.net/p/libkqueue/code/trunk@659 fb4e3144-bc1c-4b72-a658-5bcd248dd7f7
2013-10-18 01:27:07 +00:00
..
kqlite.c Checkpoint for more kqlite work 2013-10-18 01:27:07 +00:00
lite.h More work on kqlite 2013-10-18 00:03:02 +00:00
Makefile Move code out of lite.h 2013-10-17 00:05:57 +00:00
README More work on kqlite 2013-10-18 00:03:02 +00:00
test-lite.c More work on kqlite 2013-10-18 00:03:02 +00:00
utarray.h Checkpoint for more kqlite work 2013-10-18 01:27:07 +00:00

kqlite has the following goals:

 * be lightweight and efficient
 * provide a strict subset of the functionality of kqueue(2) and kevent(2)
 * closely resemble the kqueue API, but not guarantee 100% compatibility
 * support modern POSIX operating systems 

It should be possible to switch between kqlite and the full libkqueue
using a few preprocessor macros:

    #if LIBKQUEUE
    #define kqueue_t    int
    #define kq_init     kqueue
    #define kq_event    kevent
    #define kq_free     close
    #endif

Here are the differences between kqlite and kqueue:

 * Function names are different:

        kqueue()        ==      kq_init()
        kevent()        ==      kq_event()
        close()         ==      kq_free()

 * kqueue() returns an int, while kq_init returns an opaque kqueue_t type.