Print this page
NEX-16818 Add fksmbcl development tool
NEX-17264 SMB client test tp_smbutil_013 fails after NEX-14666
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
and: (fix ref leaks)
| Split |
Close |
| Expand all |
| Collapse all |
--- old/usr/src/uts/common/sys/poll.h
+++ new/usr/src/uts/common/sys/poll.h
1 1 /*
2 2 * CDDL HEADER START
3 3 *
4 4 * The contents of this file are subject to the terms of the
5 5 * Common Development and Distribution License, Version 1.0 only
6 6 * (the "License"). You may not use this file except in compliance
7 7 * with the License.
8 8 *
9 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 10 * or http://www.opensolaris.org/os/licensing.
11 11 * See the License for the specific language governing permissions
12 12 * and limitations under the License.
13 13 *
14 14 * When distributing Covered Code, include this CDDL HEADER in each
15 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 16 * If applicable, add the following below this CDDL HEADER, with the
17 17 * fields enclosed by brackets "[]" replaced with your own identifying
18 18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 19 *
20 20 * CDDL HEADER END
21 21 */
22 22 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
23 23 /* All Rights Reserved */
24 24
25 25
26 26 /*
27 27 * Copyright 2014 Garrett D'Amore <garrett@damore.org>
28 28 *
29 29 * Copyright (c) 1995, 1998 by Sun Microsystems, Inc.
30 30 * All rights reserved.
31 31 */
32 32
33 33 /*
34 34 * Copyright 2015, Joyent, Inc.
35 35 */
36 36
37 37 #ifndef _SYS_POLL_H
38 38 #define _SYS_POLL_H
39 39
40 40 #ifdef __cplusplus
41 41 extern "C" {
42 42 #endif
43 43
44 44 /*
45 45 * Structure of file descriptor/event pairs supplied in
46 46 * the poll arrays.
47 47 */
48 48 typedef struct pollfd {
49 49 int fd; /* file desc to poll */
50 50 short events; /* events of interest on fd */
51 51 short revents; /* events that occurred on fd */
52 52 } pollfd_t;
53 53
54 54 typedef unsigned long nfds_t;
55 55
56 56 /*
57 57 * Testable select events
58 58 */
59 59 #define POLLIN 0x0001 /* fd is readable */
60 60 #define POLLPRI 0x0002 /* high priority info at fd */
61 61 #define POLLOUT 0x0004 /* fd is writeable (won't block) */
62 62 #define POLLRDNORM 0x0040 /* normal data is readable */
63 63 #define POLLWRNORM POLLOUT
64 64 #define POLLRDBAND 0x0080 /* out-of-band data is readable */
65 65 #define POLLWRBAND 0x0100 /* out-of-band data is writeable */
66 66 #define POLLRDHUP 0x4000 /* read-side hangup */
67 67
68 68 #define POLLNORM POLLRDNORM
69 69
70 70 /*
71 71 * Non-testable poll events (may not be specified in events field,
72 72 * but may be returned in revents field).
73 73 */
74 74 #define POLLERR 0x0008 /* fd has error condition */
75 75 #define POLLHUP 0x0010 /* fd has been hung up on */
76 76 #define POLLNVAL 0x0020 /* invalid pollfd entry */
77 77
78 78 /*
79 79 * These events will never be specified in revents, but may be specified in
80 80 * events to control /dev/poll behavior.
81 81 */
82 82 #define POLLREMOVE 0x0800 /* remove cached /dev/poll fd */
83 83 #define POLLONESHOT 0x1000 /* /dev/poll should one-shot this fd */
84 84 #define POLLET 0x2000 /* edge-triggered /dev/poll fd */
85 85
86 86 #ifdef _KERNEL
87 87
88 88 /*
|
↓ open down ↓ |
88 lines elided |
↑ open up ↑ |
89 89 * Additional private poll flags supported only by strpoll().
90 90 * Must be bit-wise distinct from the above POLL flags.
91 91 */
92 92 #define POLLRDDATA 0x0200 /* Wait for M_DATA; ignore M_PROTO only msgs */
93 93 #define POLLNOERR 0x0400 /* Ignore POLLERR conditions */
94 94
95 95 #define POLLCLOSED 0x8000 /* a (cached) poll fd has been closed */
96 96
97 97 #endif /* _KERNEL */
98 98
99 -#if defined(_KERNEL) || defined(_KMEMUSER)
99 +#if defined(_KERNEL) || defined(_FAKE_KERNEL) || defined(_KMEMUSER)
100 100
101 101 #include <sys/thread.h>
102 102
103 103 /*
104 104 * XXX We are forced to use a forward reference here because including
105 105 * file.h here will break i386 build. The real solution is to fix the
106 106 * broken parts in usr/src/stand/lib/fs.
107 107 */
108 108 struct fpollinfo;
109 109
110 110 /*
111 111 * Poll list head structure. A pointer to this is passed to
112 112 * pollwakeup() from the caller indicating an event has occurred.
113 113 * Only the ph_list field is used, but for DDI compliance, we can't
114 114 * change the size of the structure.
115 115 */
116 116 typedef struct pollhead {
117 117 struct polldat *ph_list; /* list of pollers */
118 118 void *ph_pad1; /* unused -- see above */
119 119 short ph_pad2; /* unused -- see above */
120 120 } pollhead_t;
121 121
122 122 #if defined(_KERNEL)
123 123
124 124 /*
125 125 * Routine called to notify a process of the occurrence
126 126 * of an event.
127 127 */
128 128 extern void pollwakeup(pollhead_t *, short);
129 129
130 130 /*
131 131 * Internal routines.
132 132 */
133 133 extern int polllock(pollhead_t *, kmutex_t *);
134 134 extern int pollunlock(int *);
135 135 extern void pollrelock(int);
136 136 extern void pollcleanup(void);
137 137 extern void pollblockexit(struct fpollinfo *);
138 138 extern void pollcacheclean(struct fpollinfo *, int);
139 139
140 140 /*
141 141 * public poll head interface:
142 142 *
143 143 * pollhead_clean clean up all polldats on a pollhead list
144 144 */
145 145 extern void pollhead_clean(pollhead_t *);
146 146
147 147 #endif /* defined(_KERNEL) */
148 148
149 149 #endif /* defined(_KERNEL) || defined(_KMEMUSER) */
150 150
151 151 #if !defined(_KERNEL)
152 152 int poll(struct pollfd *, nfds_t, int);
153 153 #endif /* !_KERNEL */
154 154
155 155 #ifdef __cplusplus
156 156 }
157 157 #endif
158 158
159 159 #endif /* _SYS_POLL_H */
|
↓ open down ↓ |
50 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX