version 1.28, 2017/06/02 19:44:06 |
version 1.28.2.1, 2017/07/05 20:04:40 |
|
|
TAILQ_ENTRY(knote) kn_tqe; /* q: for struct kqueue */ |
TAILQ_ENTRY(knote) kn_tqe; /* q: for struct kqueue */ |
struct kqueue *kn_kq; /* q: which queue we are on */ |
struct kqueue *kn_kq; /* q: which queue we are on */ |
struct kevent kn_kevent; |
struct kevent kn_kevent; |
uint32_t kn_status; |
uint32_t kn_status; /* q: flags below */ |
uint32_t kn_sfflags; /* saved filter flags */ |
uint32_t kn_sfflags; /* saved filter flags */ |
uintptr_t kn_sdata; /* saved data field */ |
uintptr_t kn_sdata; /* saved data field */ |
void *kn_obj; /* pointer to monitored obj */ |
void *kn_obj; /* monitored obj */ |
const struct filterops *kn_fop; |
const struct filterops *kn_fop; |
struct kfilter *kn_kfilter; |
struct kfilter *kn_kfilter; |
void *kn_hook; |
void *kn_hook; |
|
|
#define KN_DISABLED 0x04U /* event is disabled */ |
#define KN_DISABLED 0x04U /* event is disabled */ |
#define KN_DETACHED 0x08U /* knote is detached */ |
#define KN_DETACHED 0x08U /* knote is detached */ |
#define KN_MARKER 0x10U /* is a marker */ |
#define KN_MARKER 0x10U /* is a marker */ |
#define KN_BUSY 0x20U /* is being scanned */ |
#define KN_BUSY 0x20U /* is being scanned */ |
|
/* Toggling KN_BUSY also requires kn_kq->kq_fdp->fd_lock. */ |
|
|
#define kn_id kn_kevent.ident |
#define kn_id kn_kevent.ident |
#define kn_filter kn_kevent.filter |
#define kn_filter kn_kevent.filter |