- struct _select {
- u_int32_t *ibits, *obits; /* bits to select on */
- uint nbytes; /* number of bytes in ibits and obits */
- u_int64_t abstime;
- int poll;
- int error;
- int count;
- int nfcount;
- char * wql;
- int allocsize; /* select allocated size */
- } ss_select; /* saved state for select() */
- struct _wait {
- int f;
- } ss_wait; /* saved state for wait?() */
- struct _owait {
- int pid;
- int *status;
- int options;
- struct rusage *rusage;
- } ss_owait;
- int uu_nfs_myiod; /* saved state for nfsd */
+ int uu_nfs_myiod; /* saved state for nfsd */
+ struct _kevent_scan {
+ kevent_callback_t call; /* per-event callback */
+ kevent_continue_t cont; /* whole call continuation */
+ uint64_t deadline; /* computed deadline for operation */
+ void *data; /* caller's private data */
+ } ss_kevent_scan; /* saved state for kevent_scan() */
+ struct _kevent {
+ struct _kevent_scan scan;/* space for the generic data */
+ struct fileproc *fp; /* fileproc we hold iocount on */
+ int fd; /* filedescriptor for kq */
+ register_t *retval; /* place to store return val */
+ user_addr_t eventlist; /* user-level event list address */
+ int eventcount; /* user-level event count */
+ int eventout; /* number of events output */
+ } ss_kevent; /* saved state for kevent() */