Types
- KEvent {...}{.importc: "struct kevent", header: """#include <sys/types.h> #include <sys/event.h> #include <sys/time.h>""", pure, final.} = object ident*: uint ## identifier for this event (uintptr_t) filter*: cshort ## filter for event flags*: cushort ## general flags fflags*: cuint ## filter-specific flags data*: int ## filter-specific data (intptr_t) udata*: pointer ## opaque user data identifier 
- Source Edit
Consts
- EV_ADD = 0x00000001 
- Add event to queue (implies enable). Re-adding an existing element modifies it. Source Edit
- EV_DELETE = 0x00000002 
- Delete event from queue. Source Edit
- EV_ENABLE = 0x00000004 
- Enable event. Source Edit
- EV_DISABLE = 0x00000008 
- Disable event (not reported). Source Edit
- EV_ONESHOT = 0x00000010 
- Only report one occurrence. Source Edit
- EV_CLEAR = 0x00000020 
- Clear event state after reporting. Source Edit
- EV_RECEIPT = 0x00000040 
- Force EV_ERROR on success, data == 0 Source Edit
- EV_DISPATCH = 0x00000080 
- Disable event after reporting. Source Edit
- EV_SYSFLAGS = 0x0000F000 
- Reserved by system Source Edit
- EV_DROP = 0x00001000 
- Not should be dropped Source Edit
- EV_FLAG1 = 0x00002000 
- Filter-specific flag Source Edit
- EV_EOF = 0x00008000 
- EOF detected Source Edit
- EV_ERROR = 0x00004000 
- Error, data contains errno Source Edit
- EV_NODATA = 0x00001000 
- EOF and no more data Source Edit
- NOTE_LOWAT = 0x00000001 
- low water mark Source Edit
- NOTE_DELETE = 0x00000001 
- vnode was removed Source Edit
- NOTE_WRITE = 0x00000002 
- data contents changed Source Edit
- NOTE_EXTEND = 0x00000004 
- size increased Source Edit
- NOTE_ATTRIB = 0x00000008 
- attributes changed Source Edit
- NOTE_LINK = 0x00000010 
- link count changed Source Edit
- NOTE_RENAME = 0x00000020 
- vnode was renamed Source Edit
- NOTE_REVOKE = 0x00000040 
- vnode access was revoked Source Edit
- NOTE_EXIT = 0x80000000'u32 
- process exited Source Edit
- NOTE_FORK = 0x40000000'u32 
- process forked Source Edit
- NOTE_EXEC = 0x20000000'u32 
- process exec'd Source Edit
- NOTE_PCTRLMASK = 0xF0000000'u32 
- mask for hint bits Source Edit
- NOTE_PDATAMASK = 0x000FFFFF'u32 
- mask for pid Source Edit
- NOTE_TRACK = 0x00000001'u32 
- follow across forks Source Edit
- NOTE_TRACKERR = 0x00000002'u32 
- could not track child Source Edit
- NOTE_CHILD = 0x00000004'u32 
- am a child process Source Edit
- NOTE_MSECONDS = 0x00000000'u32 
- Source Edit
Procs
- proc kqueue(): cint {...}{.importc: "kqueue", header: "<sys/event.h>".} 
- Creates new queue and returns its descriptor. Source Edit
- proc kevent(kqFD: cint; changelist: ptr KEvent; nchanges: cint; eventlist: ptr KEvent; nevents: cint; timeout: ptr Timespec): cint {...}{.importc: "kevent", header: "<sys/event.h>".} 
- Manipulates queue for given kqFD descriptor. Source Edit
- proc EV_SET(event: ptr KEvent; ident: uint; filter: cshort; flags: cushort; fflags: cuint; data: int; udata: pointer) {...}{.importc: "EV_SET", header: "<sys/event.h>".} 
- Fills event with given data. Source Edit