23 lines
		
	
	
		
			849 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			849 B
		
	
	
	
		
			Factor
		
	
	
USING: alien.syntax ;
 | 
						|
IN: unix.kqueue
 | 
						|
 | 
						|
C-STRUCT: kevent
 | 
						|
    { "ulong"    "ident"  } ! identifier for this event
 | 
						|
    { "uint"     "filter" } ! filter for event
 | 
						|
    { "uint"     "flags"  } ! action flags for kqueue
 | 
						|
    { "uint"     "fflags" } ! filter flag value
 | 
						|
    { "longlong" "data"   } ! filter data value
 | 
						|
    { "void*"    "udata"  } ! opaque user data identifier
 | 
						|
;
 | 
						|
 | 
						|
FUNCTION: int kevent ( int kq, kevent* changelist, size_t nchanges, kevent* eventlist, size_t nevents, timespec* timeout ) ;
 | 
						|
 | 
						|
CONSTANT: EVFILT_READ     0
 | 
						|
CONSTANT: EVFILT_WRITE    1
 | 
						|
CONSTANT: EVFILT_AIO      2 ! attached to aio requests
 | 
						|
CONSTANT: EVFILT_VNODE    3 ! attached to vnodes
 | 
						|
CONSTANT: EVFILT_PROC     4 ! attached to struct proc
 | 
						|
CONSTANT: EVFILT_SIGNAL   5 ! attached to struct proc
 | 
						|
CONSTANT: EVFILT_TIMER    6 ! timers
 | 
						|
CONSTANT: EVFILT_SYSCOUNT 7 ! Filesystem events
 |