github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/openbsd/kqueue.txt (about)

     1  # Copyright 2018 syzkaller project authors. All rights reserved.
     2  # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
     3  
     4  include <sys/types.h>
     5  include <sys/event.h>
     6  include <sys/time.h>
     7  
     8  resource fd_kqueue[fd]
     9  
    10  kqueue() fd_kqueue
    11  kevent(kd fd_kqueue, changelist ptr[in, array[kevent]], nchanges int32, eventlist ptr[in, array[kevent]], nevents int32, timeout ptr[in, timespec])
    12  
    13  kevent_ident {
    14  	ident	fd
    15  } [size[8]]
    16  
    17  kevent {
    18  	ident	kevent_ident
    19  	filter	flags[kevent_filter, int16]
    20  	flags	flags[kevent_flags, int16]
    21  	fflags	flags[kevent_fflags, int32]
    22  	data	int64
    23  	udata	intptr
    24  }
    25  
    26  kevent_filter = EVFILT_READ, EVFILT_WRITE, EVFILT_AIO, EVFILT_VNODE, EVFILT_PROC, EVFILT_SIGNAL, EVFILT_TIMER, EVFILT_DEVICE
    27  kevent_flags = EV_ADD, EV_DELETE, EV_ENABLE, EV_DISABLE, EV_ONESHOT, EV_CLEAR, EV_RECEIPT, EV_DISPATCH
    28  kevent_fflags = NOTE_LOWAT, NOTE_EOF, NOTE_DELETE, NOTE_WRITE, NOTE_EXTEND, NOTE_ATTRIB, NOTE_LINK, NOTE_RENAME, NOTE_REVOKE, NOTE_TRUNCATE, NOTE_EXIT, NOTE_FORK, NOTE_EXEC, NOTE_PCTRLMASK, NOTE_PDATAMASK, NOTE_TRACK, NOTE_TRACKERR, NOTE_CHILD, NOTE_CHANGE