ReactOS 0.4.16-dev-340-g0540c21
event.h File Reference
#include <stdint.h>
#include <sys/queue.h>
Include dependency graph for event.h:

Go to the source code of this file.

Classes

struct  kevent
 

Macros

#define EVFILT_READ   (-1)
 
#define EVFILT_WRITE   (-2)
 
#define EVFILT_AIO   (-3) /* attached to aio requests */
 
#define EVFILT_VNODE   (-4) /* attached to vnodes */
 
#define EVFILT_PROC   (-5) /* attached to struct proc */
 
#define EVFILT_SIGNAL   (-6) /* attached to struct proc */
 
#define EVFILT_TIMER   (-7) /* timers */
 
#define EVFILT_NETDEV   (-8) /* network devices */
 
#define EVFILT_SYSCOUNT   8
 
#define EV_SET(kevp_, a, b, c, d, e, f)
 
#define EV_ADD   0x0001 /* add event to kq (implies enable) */
 
#define EV_DELETE   0x0002 /* delete event from kq */
 
#define EV_ENABLE   0x0004 /* enable event */
 
#define EV_DISABLE   0x0008 /* disable event (not reported) */
 
#define EV_ONESHOT   0x0010 /* only report one occurrence */
 
#define EV_CLEAR   0x0020 /* clear event state after reporting */
 
#define EV_SYSFLAGS   0xF000 /* reserved by system */
 
#define EV_FLAG1   0x2000 /* filter-specific flag */
 
#define EV_EOF   0x8000 /* EOF detected */
 
#define EV_ERROR   0x4000 /* error, data contains errno */
 
#define NOTE_LOWAT   0x0001 /* low water mark */
 
#define NOTE_DELETE   0x0001 /* vnode was removed */
 
#define NOTE_WRITE   0x0002 /* data contents changed */
 
#define NOTE_EXTEND   0x0004 /* size increased */
 
#define NOTE_ATTRIB   0x0008 /* attributes changed */
 
#define NOTE_LINK   0x0010 /* link count changed */
 
#define NOTE_RENAME   0x0020 /* vnode was renamed */
 
#define NOTE_REVOKE   0x0040 /* vnode access was revoked */
 
#define NOTE_EXIT   0x80000000 /* process exited */
 
#define NOTE_FORK   0x40000000 /* process forked */
 
#define NOTE_EXEC   0x20000000 /* process exec'd */
 
#define NOTE_PCTRLMASK   0xf0000000 /* mask for hint bits */
 
#define NOTE_PDATAMASK   0x000fffff /* mask for pid */
 
#define NOTE_TRACK   0x00000001 /* follow across forks */
 
#define NOTE_TRACKERR   0x00000002 /* could not track child */
 
#define NOTE_CHILD   0x00000004 /* am a child process */
 
#define NOTE_LINKUP   0x0001 /* link is up */
 
#define NOTE_LINKDOWN   0x0002 /* link is down */
 
#define NOTE_LINKINV   0x0004 /* link state is invalid */
 

Functions

 SLIST_HEAD (klist, knote)
 
__BEGIN_DECLS int kqueue (void)
 
int kevent (int kq, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout)
 

Macro Definition Documentation

◆ EV_ADD

#define EV_ADD   0x0001 /* add event to kq (implies enable) */

Definition at line 65 of file event.h.

◆ EV_CLEAR

#define EV_CLEAR   0x0020 /* clear event state after reporting */

Definition at line 72 of file event.h.

◆ EV_DELETE

#define EV_DELETE   0x0002 /* delete event from kq */

Definition at line 66 of file event.h.

◆ EV_DISABLE

#define EV_DISABLE   0x0008 /* disable event (not reported) */

Definition at line 68 of file event.h.

◆ EV_ENABLE

#define EV_ENABLE   0x0004 /* enable event */

Definition at line 67 of file event.h.

◆ EV_EOF

#define EV_EOF   0x8000 /* EOF detected */

Definition at line 78 of file event.h.

◆ EV_ERROR

#define EV_ERROR   0x4000 /* error, data contains errno */

Definition at line 79 of file event.h.

◆ EV_FLAG1

#define EV_FLAG1   0x2000 /* filter-specific flag */

Definition at line 75 of file event.h.

◆ EV_ONESHOT

#define EV_ONESHOT   0x0010 /* only report one occurrence */

Definition at line 71 of file event.h.

◆ EV_SET

#define EV_SET (   kevp_,
  a,
  b,
  c,
  d,
  e,
  f 
)
Value:
do { \
struct kevent *kevp = (kevp_); \
(kevp)->ident = (a); \
(kevp)->filter = (b); \
(kevp)->flags = (c); \
(kevp)->fflags = (d); \
(kevp)->data = (e); \
(kevp)->udata = (f); \
} while(0)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
const GLubyte * c
Definition: glext.h:8905
GLfloat f
Definition: glext.h:7540
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
Definition: glext.h:7005
GLbitfield flags
Definition: glext.h:7161
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
#define d
Definition: ke_i.h:81
#define e
Definition: ke_i.h:82
Definition: event.h:55
void * udata
Definition: event.h:61
u_int fflags
Definition: event.h:59
_In_ ULONG _In_ ULONG_PTR ident
Definition: winddi.h:3994

Definition at line 43 of file event.h.

◆ EV_SYSFLAGS

#define EV_SYSFLAGS   0xF000 /* reserved by system */

Definition at line 74 of file event.h.

◆ EVFILT_AIO

#define EVFILT_AIO   (-3) /* attached to aio requests */

Definition at line 34 of file event.h.

◆ EVFILT_NETDEV

#define EVFILT_NETDEV   (-8) /* network devices */

Definition at line 39 of file event.h.

◆ EVFILT_PROC

#define EVFILT_PROC   (-5) /* attached to struct proc */

Definition at line 36 of file event.h.

◆ EVFILT_READ

#define EVFILT_READ   (-1)

Definition at line 32 of file event.h.

◆ EVFILT_SIGNAL

#define EVFILT_SIGNAL   (-6) /* attached to struct proc */

Definition at line 37 of file event.h.

◆ EVFILT_SYSCOUNT

#define EVFILT_SYSCOUNT   8

Definition at line 41 of file event.h.

◆ EVFILT_TIMER

#define EVFILT_TIMER   (-7) /* timers */

Definition at line 38 of file event.h.

◆ EVFILT_VNODE

#define EVFILT_VNODE   (-4) /* attached to vnodes */

Definition at line 35 of file event.h.

◆ EVFILT_WRITE

#define EVFILT_WRITE   (-2)

Definition at line 33 of file event.h.

◆ NOTE_ATTRIB

#define NOTE_ATTRIB   0x0008 /* attributes changed */

Definition at line 92 of file event.h.

◆ NOTE_CHILD

#define NOTE_CHILD   0x00000004 /* am a child process */

Definition at line 109 of file event.h.

◆ NOTE_DELETE

#define NOTE_DELETE   0x0001 /* vnode was removed */

Definition at line 89 of file event.h.

◆ NOTE_EXEC

#define NOTE_EXEC   0x20000000 /* process exec'd */

Definition at line 102 of file event.h.

◆ NOTE_EXIT

#define NOTE_EXIT   0x80000000 /* process exited */

Definition at line 100 of file event.h.

◆ NOTE_EXTEND

#define NOTE_EXTEND   0x0004 /* size increased */

Definition at line 91 of file event.h.

◆ NOTE_FORK

#define NOTE_FORK   0x40000000 /* process forked */

Definition at line 101 of file event.h.

◆ NOTE_LINK

#define NOTE_LINK   0x0010 /* link count changed */

Definition at line 93 of file event.h.

◆ NOTE_LINKDOWN

#define NOTE_LINKDOWN   0x0002 /* link is down */

Definition at line 115 of file event.h.

◆ NOTE_LINKINV

#define NOTE_LINKINV   0x0004 /* link state is invalid */

Definition at line 116 of file event.h.

◆ NOTE_LINKUP

#define NOTE_LINKUP   0x0001 /* link is up */

Definition at line 114 of file event.h.

◆ NOTE_LOWAT

#define NOTE_LOWAT   0x0001 /* low water mark */

Definition at line 84 of file event.h.

◆ NOTE_PCTRLMASK

#define NOTE_PCTRLMASK   0xf0000000 /* mask for hint bits */

Definition at line 103 of file event.h.

◆ NOTE_PDATAMASK

#define NOTE_PDATAMASK   0x000fffff /* mask for pid */

Definition at line 104 of file event.h.

◆ NOTE_RENAME

#define NOTE_RENAME   0x0020 /* vnode was renamed */

Definition at line 94 of file event.h.

◆ NOTE_REVOKE

#define NOTE_REVOKE   0x0040 /* vnode access was revoked */

Definition at line 95 of file event.h.

◆ NOTE_TRACK

#define NOTE_TRACK   0x00000001 /* follow across forks */

Definition at line 107 of file event.h.

◆ NOTE_TRACKERR

#define NOTE_TRACKERR   0x00000002 /* could not track child */

Definition at line 108 of file event.h.

◆ NOTE_WRITE

#define NOTE_WRITE   0x0002 /* data contents changed */

Definition at line 90 of file event.h.

Function Documentation

◆ kevent()

int kevent ( int  kq,
const struct kevent changelist,
int  nchanges,
struct kevent eventlist,
int  nevents,
const struct timespec timeout 
)

◆ kqueue()

__BEGIN_DECLS int kqueue ( void  )

◆ SLIST_HEAD()

SLIST_HEAD ( klist  ,
knote   
)