|
|
1.1 root 1: /*
2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * The contents of this file constitute Original Code as defined in and
7: * are subject to the Apple Public Source License Version 1.1 (the
8: * "License"). You may not use this file except in compliance with the
9: * License. Please obtain a copy of the License at
10: * http://www.apple.com/publicsource and read it before using this file.
11: *
12: * This Original Code and all software distributed under the License are
13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17: * License for the specific language governing rights and limitations
18: * under the License.
19: *
20: * @APPLE_LICENSE_HEADER_END@
21: */
22: /* Copyright (c) 1998 Apple Computer, Inc. All rights reserved */
23:
24: #ifndef _SYS_EV_H_
25: #define _SYS_EV_H_
26:
27: #include <sys/queue.h>
28:
29: struct eventreq {
30: int er_type;
31: #define EV_FD 1 // file descriptor
32: int er_handle;
33: void *er_data;
34: int er_rcnt;
35: int er_wcnt;
36: int er_ecnt;
37: int er_eventbits;
38: #define EV_RE 1
39: #define EV_WR 2
40: #define EV_EX 4
41: #define EV_RM 8
42: #define EV_MASK 0xf
43: };
44:
45: typedef struct eventreq *er_t;
46:
47: #define EV_RBYTES 0x100
48: #define EV_WBYTES 0x200
49: #define EV_RWBYTES (EV_RBYTES|EV_WBYTES)
50: #define EV_RCLOSED 0x400
51: #define EV_RCONN 0x800
52: #define EV_WCLOSED 0x1000
53: #define EV_WCONN 0x2000
54: #define EV_OOB 0x4000
55: #define EV_FIN 0x8000
56: #define EV_RESET 0x10000
57: #define EV_TIMEOUT 0x20000
58: #define EV_DMASK 0xffffff00
59:
60: #ifdef KERNEL
61:
62: struct eventqelt {
63: TAILQ_ENTRY(eventqelt) ee_slist;
64: TAILQ_ENTRY(eventqelt) ee_plist;
65: struct eventreq ee_req;
66: struct proc * ee_proc;
67: u_int ee_flags;
68: #define EV_QUEUED 1
69: u_int ee_eventmask;
70: struct socket *ee_sp;
71: };
72:
73: #endif /* KERNEL */
74:
75: #endif /* _SYS_EV_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.