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