|
|
1.1 root 1: /* (-lgl
2: * COHERENT Version 3.0
3: * Copyright (c) 1982, 1990 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.