|
|
1.1 ! root 1: /* (-lgl ! 2: * COHERENT Version 4.0 ! 3: * Copyright (c) 1983, 1992 by Mark Williams Company. ! 4: * All rights reserved. May not be copied without permission. ! 5: -lgl) */ ! 6: #ifndef __POLL_H__ ! 7: #define __POLL_H__ ! 8: /* ! 9: * This is a temporary file, and will NOT be binary compatible with System V. ! 10: */ ! 11: ! 12: /* ! 13: * Polling structure. ! 14: */ ! 15: struct pollfd { ! 16: int fd; /* file descriptor */ ! 17: short events; /* requested events */ ! 18: short revents; /* returned events */ ! 19: }; ! 20: ! 21: /* ! 22: * Stream oriented events. ! 23: */ ! 24: #define POLLIN 000001 /* input data is available */ ! 25: #define POLLPRI 000002 /* priority message is available */ ! 26: #define POLLOUT 000004 /* output can be sent */ ! 27: #define POLLERR 000010 /* a fatal error has occurred */ ! 28: #define POLLHUP 000020 /* a hangup condition exists */ ! 29: #define POLLNVAL 000040 /* fd does not access an open stream */ ! 30: ! 31: /* ! 32: * Each pollable event in the system has an associated event queue. ! 33: * An polled event will be ! 34: * on a singularly-linked list throuch cprocp->p_polls, and ! 35: * on a circularly-linked list through an event queue on the device. ! 36: */ ! 37: typedef ! 38: struct event { ! 39: struct event * e_pnext; /* next polled event on proc */ ! 40: struct event * e_dnext; /* next polled event on device */ ! 41: struct event * e_dlast; /* prev polled event on device */ ! 42: struct proc * e_procp; /* pointer to polling process */ ! 43: } event_t; ! 44: ! 45: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.