1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
|
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
* All Rights Reserved
*
*/
/*
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
* WARNING: This is an implementation-specific header,
* its contents are not guaranteed. Applications
* should include <unistd.h> and not this header.
*/
#ifndef _SYS_UNISTD_H
#define _SYS_UNISTD_H
#pragma ident "%Z%%M% %I% %E% SMI" /* From SVR4.0 1.3 */
#include <sys/feature_tests.h>
#ifdef __cplusplus
extern "C" {
#endif
/* command names for confstr */
#define _CS_PATH 65
/*
* command names for large file configuration information
*/
/* large file compilation environment configuration */
#define _CS_LFS_CFLAGS 68
#define _CS_LFS_LDFLAGS 69
#define _CS_LFS_LIBS 70
#define _CS_LFS_LINTFLAGS 71
/* transitional large file interface configuration */
#define _CS_LFS64_CFLAGS 72
#define _CS_LFS64_LDFLAGS 73
#define _CS_LFS64_LIBS 74
#define _CS_LFS64_LINTFLAGS 75
/* UNIX 98 */
#define _CS_XBS5_ILP32_OFF32_CFLAGS 700
#define _CS_XBS5_ILP32_OFF32_LDFLAGS 701
#define _CS_XBS5_ILP32_OFF32_LIBS 702
#define _CS_XBS5_ILP32_OFF32_LINTFLAGS 703
#define _CS_XBS5_ILP32_OFFBIG_CFLAGS 705
#define _CS_XBS5_ILP32_OFFBIG_LDFLAGS 706
#define _CS_XBS5_ILP32_OFFBIG_LIBS 707
#define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS 708
#define _CS_XBS5_LP64_OFF64_CFLAGS 709
#define _CS_XBS5_LP64_OFF64_LDFLAGS 710
#define _CS_XBS5_LP64_OFF64_LIBS 711
#define _CS_XBS5_LP64_OFF64_LINTFLAGS 712
#define _CS_XBS5_LPBIG_OFFBIG_CFLAGS 713
#define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS 714
#define _CS_XBS5_LPBIG_OFFBIG_LIBS 715
#define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS 716
/* UNIX 03 */
#define _CS_POSIX_V6_ILP32_OFF32_CFLAGS 800
#define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS 801
#define _CS_POSIX_V6_ILP32_OFF32_LIBS 802
#define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS 803
#define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS 804
#define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS 805
#define _CS_POSIX_V6_ILP32_OFFBIG_LIBS 806
#define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS 807
#define _CS_POSIX_V6_LP64_OFF64_CFLAGS 808
#define _CS_POSIX_V6_LP64_OFF64_LDFLAGS 809
#define _CS_POSIX_V6_LP64_OFF64_LIBS 810
#define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS 811
#define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS 812
#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS 813
#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS 814
#define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS 815
#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS 816
/* command names for POSIX sysconf */
/* POSIX.1 names */
#define _SC_ARG_MAX 1
#define _SC_CHILD_MAX 2
#define _SC_CLK_TCK 3
#define _SC_NGROUPS_MAX 4
#define _SC_OPEN_MAX 5
#define _SC_JOB_CONTROL 6
#define _SC_SAVED_IDS 7
#define _SC_VERSION 8
/* SVR4 names */
#define _SC_PASS_MAX 9
#define _SC_LOGNAME_MAX 10
#define _SC_PAGESIZE 11
#define _SC_XOPEN_VERSION 12
/* 13 reserved for SVr4-ES/MP _SC_NACLS_MAX */
#define _SC_NPROCESSORS_CONF 14
#define _SC_NPROCESSORS_ONLN 15
#define _SC_STREAM_MAX 16
#define _SC_TZNAME_MAX 17
/* POSIX.4 names */
#define _SC_AIO_LISTIO_MAX 18
#define _SC_AIO_MAX 19
#define _SC_AIO_PRIO_DELTA_MAX 20
#define _SC_ASYNCHRONOUS_IO 21
#define _SC_DELAYTIMER_MAX 22
#define _SC_FSYNC 23
#define _SC_MAPPED_FILES 24
#define _SC_MEMLOCK 25
#define _SC_MEMLOCK_RANGE 26
#define _SC_MEMORY_PROTECTION 27
#define _SC_MESSAGE_PASSING 28
#define _SC_MQ_OPEN_MAX 29
#define _SC_MQ_PRIO_MAX 30
#define _SC_PRIORITIZED_IO 31
#define _SC_PRIORITY_SCHEDULING 32
#define _SC_REALTIME_SIGNALS 33
#define _SC_RTSIG_MAX 34
#define _SC_SEMAPHORES 35
#define _SC_SEM_NSEMS_MAX 36
#define _SC_SEM_VALUE_MAX 37
#define _SC_SHARED_MEMORY_OBJECTS 38
#define _SC_SIGQUEUE_MAX 39
#define _SC_SIGRT_MIN 40
#define _SC_SIGRT_MAX 41
#define _SC_SYNCHRONIZED_IO 42
#define _SC_TIMERS 43
#define _SC_TIMER_MAX 44
/* XPG4 names */
#define _SC_2_C_BIND 45
#define _SC_2_C_DEV 46
#define _SC_2_C_VERSION 47
#define _SC_2_FORT_DEV 48
#define _SC_2_FORT_RUN 49
#define _SC_2_LOCALEDEF 50
#define _SC_2_SW_DEV 51
#define _SC_2_UPE 52
#define _SC_2_VERSION 53
#define _SC_BC_BASE_MAX 54
#define _SC_BC_DIM_MAX 55
#define _SC_BC_SCALE_MAX 56
#define _SC_BC_STRING_MAX 57
#define _SC_COLL_WEIGHTS_MAX 58
#define _SC_EXPR_NEST_MAX 59
#define _SC_LINE_MAX 60
#define _SC_RE_DUP_MAX 61
#define _SC_XOPEN_CRYPT 62
#define _SC_XOPEN_ENH_I18N 63
#define _SC_XOPEN_SHM 64
/* additional XSH4/XCU4 command names for sysconf */
#define _SC_2_CHAR_TERM 66
#define _SC_XOPEN_XCU_VERSION 67
/* additional XPG4v2 (UNIX 95) command names */
#define _SC_ATEXIT_MAX 76
#define _SC_IOV_MAX 77
#define _SC_XOPEN_UNIX 78
#define _SC_PAGE_SIZE _SC_PAGESIZE
/* defined for XTI (XNS Issue 5) */
#ifndef _SC_T_IOV_MAX
#define _SC_T_IOV_MAX 79 /* Must be same in <xti.h> */
#endif /* T_IOV_MAX must be <= IOV_MAX */
#define _SC_PHYS_PAGES 500
#define _SC_AVPHYS_PAGES 501
/*
* Hardware specific items
* Note that not all items are supported on all architectures
*/
#define _SC_COHER_BLKSZ 503 /* Coherence block size */
#define _SC_SPLIT_CACHE 504 /* != 0 iff a split cache */
#define _SC_ICACHE_SZ 505 /* Instruction cache size (bytes) */
#define _SC_DCACHE_SZ 506 /* Data cache size (bytes) */
#define _SC_ICACHE_LINESZ 507 /* Instruction cache line size */
#define _SC_DCACHE_LINESZ 508 /* Data cache line size */
#define _SC_ICACHE_BLKSZ 509 /* Block size invalidated for icache */
#define _SC_DCACHE_BLKSZ 510 /* Block size for dcache */
#define _SC_DCACHE_TBLKSZ 511 /* Block size for dcache prefetch */
#define _SC_ICACHE_ASSOC 512 /* Icache associativity 1, 2, 3 etc */
#define _SC_DCACHE_ASSOC 513 /* Dcache associativity 1, 2, 3 etc */
#define _SC_MAXPID 514 /* maximum pid value */
#define _SC_STACK_PROT 515 /* default stack protection */
#define _SC_NPROCESSORS_MAX 516 /* maximum # of processors */
#define _SC_CPUID_MAX 517 /* maximum CPU id */
/*
* POSIX.1c (pthreads) names. These values are defined above
* the sub-500 range. See psarc case 1995/257.
*/
#define _SC_THREAD_DESTRUCTOR_ITERATIONS 568
#define _SC_GETGR_R_SIZE_MAX 569
#define _SC_GETPW_R_SIZE_MAX 570
#define _SC_LOGIN_NAME_MAX 571
#define _SC_THREAD_KEYS_MAX 572
#define _SC_THREAD_STACK_MIN 573
#define _SC_THREAD_THREADS_MAX 574
#define _SC_TTY_NAME_MAX 575
#define _SC_THREADS 576
#define _SC_THREAD_ATTR_STACKADDR 577
#define _SC_THREAD_ATTR_STACKSIZE 578
#define _SC_THREAD_PRIORITY_SCHEDULING 579
#define _SC_THREAD_PRIO_INHERIT 580
#define _SC_THREAD_PRIO_PROTECT 581
#define _SC_THREAD_PROCESS_SHARED 582
#define _SC_THREAD_SAFE_FUNCTIONS 583
/* UNIX 98 */
#define _SC_XOPEN_LEGACY 717
#define _SC_XOPEN_REALTIME 718
#define _SC_XOPEN_REALTIME_THREADS 719
#define _SC_XBS5_ILP32_OFF32 720
#define _SC_XBS5_ILP32_OFFBIG 721
#define _SC_XBS5_LP64_OFF64 722
#define _SC_XBS5_LPBIG_OFFBIG 723
/* UNIX 03 */
#define _SC_2_PBS 724
#define _SC_2_PBS_ACCOUNTING 725
#define _SC_2_PBS_CHECKPOINT 726
#define _SC_2_PBS_LOCATE 728
#define _SC_2_PBS_MESSAGE 729
#define _SC_2_PBS_TRACK 730
#define _SC_ADVISORY_INFO 731
#define _SC_BARRIERS 732
#define _SC_CLOCK_SELECTION 733
#define _SC_CPUTIME 734
#define _SC_HOST_NAME_MAX 735
#define _SC_MONOTONIC_CLOCK 736
#define _SC_READER_WRITER_LOCKS 737
#define _SC_REGEXP 738
#define _SC_SHELL 739
#define _SC_SPAWN 740
#define _SC_SPIN_LOCKS 741
#define _SC_SPORADIC_SERVER 742
#define _SC_SS_REPL_MAX 743
#define _SC_SYMLOOP_MAX 744
#define _SC_THREAD_CPUTIME 745
#define _SC_THREAD_SPORADIC_SERVER 746
#define _SC_TIMEOUTS 747
#define _SC_TRACE 748
#define _SC_TRACE_EVENT_FILTER 749
#define _SC_TRACE_EVENT_NAME_MAX 750
#define _SC_TRACE_INHERIT 751
#define _SC_TRACE_LOG 752
#define _SC_TRACE_NAME_MAX 753
#define _SC_TRACE_SYS_MAX 754
#define _SC_TRACE_USER_EVENT_MAX 755
#define _SC_TYPED_MEMORY_OBJECTS 756
#define _SC_V6_ILP32_OFF32 757
#define _SC_V6_ILP32_OFFBIG 758
#define _SC_V6_LP64_OFF64 759
#define _SC_V6_LPBIG_OFFBIG 760
#define _SC_XOPEN_STREAMS 761
#define _SC_IPV6 762
#define _SC_RAW_SOCKETS 763
/* command names for POSIX pathconf */
/* POSIX.1 names */
#define _PC_LINK_MAX 1
#define _PC_MAX_CANON 2
#define _PC_MAX_INPUT 3
#define _PC_NAME_MAX 4
#define _PC_PATH_MAX 5
#define _PC_PIPE_BUF 6
#define _PC_NO_TRUNC 7
#define _PC_VDISABLE 8
#define _PC_CHOWN_RESTRICTED 9
/* POSIX.4 names */
#define _PC_ASYNC_IO 10
#define _PC_PRIO_IO 11
#define _PC_SYNC_IO 12
/* UNIX 03 names */
#define _PC_ALLOC_SIZE_MIN 13
#define _PC_REC_INCR_XFER_SIZE 14
#define _PC_REC_MAX_XFER_SIZE 15
#define _PC_REC_MIN_XFER_SIZE 16
#define _PC_REC_XFER_ALIGN 17
#define _PC_SYMLINK_MAX 18
#define _PC_2_SYMLINKS 19
#define _PC_ACL_ENABLED 20
#define _PC_MIN_HOLE_SIZE 21
/*
* Large File Summit names
*
* This value matches the MIPS ABI choice, but leaves a large gap in the
* value space.
*/
#define _PC_FILESIZEBITS 67
#define _PC_LAST 67
/*
* Extended attributes
*/
#define _PC_XATTR_ENABLED 100
#define _PC_XATTR_EXISTS 101
/*
* The value of 0 is returned when
* ACL's are not supported
*/
#define _ACL_ACLENT_ENABLED 0x1
#define _ACL_ACE_ENABLED 0x2
#ifndef _POSIX_VERSION
#ifdef _XPG6
#define _POSIX_VERSION 200112L /* Supports IEEE Std 1003.1-2001 */
#else
#define _POSIX_VERSION 199506L /* Supports POSIX-1c DIS */
#endif
#endif /* _POSIX_VERSION */
#ifndef _POSIX2_VERSION
#ifdef _XPG6
#define _POSIX2_VERSION 200112L /* Supports IEEE Std 1003.1-2001 */
#else
#define _POSIX2_VERSION 199209L /* Supports ISO POSIX-2 DIS */
#endif
#endif /* _POSIX2_VERSION */
/*
* Marked LEGACY in SUSv2 and removed in SUSv3. Though SUSv3 applications
* should not rely on this value, it has been aligned with the current
* standard to avoid confusion if used.
*/
#ifndef _POSIX2_C_VERSION
#ifdef _XPG6
#define _POSIX2_C_VERSION 200112L /* Supports IEEE Std 1003.1-2001 */
#else
#define _POSIX2_C_VERSION 199209L /* Supports ISO POSIX-2 DIS */
#endif
#endif /* _POSIX2_C_VERSION */
#define _XOPEN_XPG3 /* Supports XPG, Issue 3 */
#define _XOPEN_XPG4 /* Supports XPG, Issue 4 */
#define _XOPEN_UNIX /* Supports XPG, Issue 4, Version 2 */
#ifndef _XOPEN_XCU_VERSION
#define _XOPEN_XCU_VERSION 4 /* Supports XCU4 */
#endif
#define _XOPEN_REALTIME 1 /* Supports Realtime */
#define _XOPEN_ENH_I18N 1 /* Supports Enhanced International */
#define _XOPEN_SHM 1 /* Supports Shared Memory Feature */
#define _POSIX2_C_BIND 200112L /* Supports C Language Bindings */
#define _POSIX2_C_DEV 1 /* Supports C language dev utility */
#define _POSIX2_CHAR_TERM 1 /* Supports at least 1 terminal type */
#define _POSIX2_FORT_RUN 200112L /* Supports FORTRAN runtime */
#define _POSIX2_LOCALEDEF 1 /* Supports creation of locales */
#define _POSIX2_SW_DEV 1 /* Supports S/W Devlopement Utility */
#define _POSIX2_UPE 1 /* Supports User Portability Utility */
/* UNIX 03 names */
#define _POSIX_REGEXP 1 /* Supports POSIX Regular Expressions */
#define _POSIX_SHELL 1 /* Supports POSIX shell */
#define _XOPEN_STREAMS 1 /* Supports XSI Streams Option Group */
#ifdef __cplusplus
}
#endif
#endif /* _SYS_UNISTD_H */
|