]>
Commit | Line | Data |
---|---|---|
259d930a | 1 | /* Define POSIX options for GNU/Hurd. |
f7a9f785 | 2 | Copyright (C) 1998-2016 Free Software Foundation, Inc. |
259d930a | 3 | This file is part of the GNU C Library. |
5290baf0 | 4 | |
259d930a | 5 | The GNU C Library is free software; you can redistribute it and/or |
41bdb6e2 AJ |
6 | modify it under the terms of the GNU Lesser General Public |
7 | License as published by the Free Software Foundation; either | |
8 | version 2.1 of the License, or (at your option) any later version. | |
5290baf0 | 9 | |
259d930a RM |
10 | The GNU C Library is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
41bdb6e2 | 13 | Lesser General Public License for more details. |
038ebe24 | 14 | |
41bdb6e2 | 15 | You should have received a copy of the GNU Lesser General Public |
59ba27a6 PE |
16 | License along with the GNU C Library; if not, see |
17 | <http://www.gnu.org/licenses/>. */ | |
038ebe24 | 18 | |
259d930a RM |
19 | #ifndef _UNISTD_H |
20 | #error "Never include this file directly; use <unistd.h> instead." | |
21 | #endif | |
038ebe24 | 22 | |
259d930a RM |
23 | #ifndef _BITS_POSIX_OPT_H |
24 | #define _BITS_POSIX_OPT_H 1 | |
038ebe24 TBB |
25 | |
26 | ||
259d930a RM |
27 | /* Job control is supported. */ |
28 | #define _POSIX_JOB_CONTROL 1 | |
29 | ||
30 | /* Processes have a saved set-user-ID and a saved set-group-ID. */ | |
31 | #define _POSIX_SAVED_IDS 1 | |
32 | ||
db653660 ST |
33 | /* Priority scheduling is not supported. */ |
34 | #undef _POSIX_PRIORITY_SCHEDULING | |
35 | ||
65ea810e MK |
36 | /* Synchronizing file data is supported, but msync is missing. */ |
37 | #undef _POSIX_SYNCHRONIZED_IO | |
259d930a RM |
38 | |
39 | /* The fsync function is present. */ | |
6cbe890a | 40 | #define _POSIX_FSYNC 200809L |
259d930a RM |
41 | |
42 | /* Mapping of files to memory is supported. */ | |
6cbe890a | 43 | #define _POSIX_MAPPED_FILES 200809L |
259d930a | 44 | |
182ed12e RM |
45 | /* Locking of all memory could be supported in future. */ |
46 | #define _POSIX_MEMLOCK 0 | |
47 | ||
d81b986b | 48 | /* Locking of ranges of memory is supported. */ |
6cbe890a | 49 | #define _POSIX_MEMLOCK_RANGE 200809L |
d81b986b | 50 | |
259d930a | 51 | /* Setting of memory protections is supported. */ |
6cbe890a | 52 | #define _POSIX_MEMORY_PROTECTION 200809L |
259d930a | 53 | |
259d930a RM |
54 | /* Elements of the `c_cc' member of `struct termios' structure |
55 | can be disabled by using the value _POSIX_VDISABLE. */ | |
56 | #define _POSIX_VDISABLE ((unsigned char) -1) | |
57 | ||
259d930a RM |
58 | |
59 | /* Different Hurd filesystems might do these differently. | |
60 | You must query the particular file with `pathconf' or `fpathconf'. */ | |
61 | #undef _POSIX_CHOWN_RESTRICTED /* Only root can change owner of file? */ | |
62 | #undef _POSIX_NO_TRUNC /* Overlong file names get error? */ | |
63 | #undef _POSIX_SYNC_IO /* File supports O_SYNC et al? */ | |
64 | ||
db653660 ST |
65 | /* X/Open realtime support is not supported. */ |
66 | #undef _XOPEN_REALTIME | |
67 | ||
68 | /* X/Open thread realtime support is not supported. */ | |
69 | #undef _XOPEN_REALTIME_THREADS | |
70 | ||
71 | /* XPG4.2 shared memory is not supported. */ | |
72 | #undef _XOPEN_SHM | |
182ed12e RM |
73 | |
74 | /* We do not have the POSIX threads interface. */ | |
75 | #define _POSIX_THREADS -1 | |
76 | ||
77 | /* We have the reentrant functions described in POSIX. */ | |
78 | #define _POSIX_REENTRANT_FUNCTIONS 1 | |
6cbe890a | 79 | #define _POSIX_THREAD_SAFE_FUNCTIONS 200809L |
182ed12e RM |
80 | |
81 | /* These are all things that won't be supported when _POSIX_THREADS is not. */ | |
82 | #define _POSIX_THREAD_PRIORITY_SCHEDULING -1 | |
83 | #define _POSIX_THREAD_ATTR_STACKSIZE -1 | |
84 | #define _POSIX_THREAD_ATTR_STACKADDR -1 | |
db653660 ST |
85 | #define _POSIX_THREAD_PRIO_INHERIT -1 |
86 | #define _POSIX_THREAD_PRIO_PROTECT -1 | |
87 | #ifdef __USE_XOPEN2K8 | |
88 | # define _POSIX_THREAD_ROBUST_PRIO_INHERIT -1 | |
89 | # define _POSIX_THREAD_ROBUST_PRIO_PROTECT -1 | |
90 | #endif | |
182ed12e RM |
91 | #define _POSIX_SEMAPHORES -1 |
92 | ||
93 | /* Real-time signals are not yet supported. */ | |
94 | #define _POSIX_REALTIME_SIGNALS -1 | |
95 | ||
96 | /* Asynchronous I/O might supported with the existing ABI. */ | |
97 | #define _POSIX_ASYNCHRONOUS_IO 0 | |
db653660 | 98 | #undef _POSIX_ASYNC_IO |
182ed12e RM |
99 | /* Alternative name for Unix98. */ |
100 | #define _LFS_ASYNCHRONOUS_IO _POSIX_ASYNCHRONOUS_IO | |
db653660 ST |
101 | /* Support for prioritization is not available. */ |
102 | #undef _POSIX_PRIORITIZED_IO | |
182ed12e RM |
103 | |
104 | /* The LFS support in asynchronous I/O is also available. */ | |
105 | #define _LFS64_ASYNCHRONOUS_IO _POSIX_ASYNCHRONOUS_IO | |
106 | ||
107 | /* The rest of the LFS is also available. */ | |
108 | #define _LFS_LARGEFILE 1 | |
109 | #define _LFS64_LARGEFILE 1 | |
110 | #define _LFS64_STDIO 1 | |
111 | ||
112 | /* POSIX.4 shared memory objects are supported (using regular files). */ | |
113 | #define _POSIX_SHARED_MEMORY_OBJECTS _POSIX_MAPPED_FILES | |
114 | ||
115 | /* CPU-time clocks support needs to be checked at runtime. */ | |
116 | #define _POSIX_CPUTIME 0 | |
117 | ||
118 | /* Clock support in threads must be also checked at runtime. */ | |
119 | #define _POSIX_THREAD_CPUTIME 0 | |
120 | ||
b3ae0650 UD |
121 | /* GNU libc provides regular expression handling. */ |
122 | #define _POSIX_REGEXP 1 | |
123 | ||
182ed12e RM |
124 | /* Reader/Writer locks are not available. */ |
125 | #define _POSIX_READER_WRITER_LOCKS -1 | |
126 | ||
b3ae0650 UD |
127 | /* We have a POSIX shell. */ |
128 | #define _POSIX_SHELL 1 | |
129 | ||
182ed12e RM |
130 | /* We cannot support the Timeouts option without _POSIX_THREADS. */ |
131 | #define _POSIX_TIMEOUTS -1 | |
132 | ||
db653660 ST |
133 | /* We do not support spinlocks. */ |
134 | #define _POSIX_SPIN_LOCKS -1 | |
135 | ||
c851781f | 136 | /* The `spawn' function family is supported. */ |
6cbe890a | 137 | #define _POSIX_SPAWN 200809L |
259d930a | 138 | |
182ed12e RM |
139 | /* We do not have POSIX timers, but could in future without ABI change. */ |
140 | #define _POSIX_TIMERS 0 | |
141 | ||
142 | /* The barrier functions are not available. */ | |
143 | #define _POSIX_BARRIERS -1 | |
144 | ||
145 | /* POSIX message queues could be available in future. */ | |
146 | #define _POSIX_MESSAGE_PASSING 0 | |
147 | ||
148 | /* Thread process-shared synchronization is not supported. */ | |
149 | #define _POSIX_THREAD_PROCESS_SHARED -1 | |
150 | ||
151 | /* The monotonic clock might be available. */ | |
152 | #define _POSIX_MONOTONIC_CLOCK 0 | |
153 | ||
154 | /* The clock selection interfaces are available. */ | |
6cbe890a | 155 | #define _POSIX_CLOCK_SELECTION 200809L |
182ed12e RM |
156 | |
157 | /* Advisory information interfaces could be available in future. */ | |
158 | #define _POSIX_ADVISORY_INFO 0 | |
159 | ||
160 | /* IPv6 support is available. */ | |
6cbe890a | 161 | #define _POSIX_IPV6 200809L |
182ed12e RM |
162 | |
163 | /* Raw socket support is available. */ | |
6cbe890a | 164 | #define _POSIX_RAW_SOCKETS 200809L |
182ed12e RM |
165 | |
166 | /* We have at least one terminal. */ | |
6cbe890a | 167 | #define _POSIX2_CHAR_TERM 200809L |
182ed12e RM |
168 | |
169 | /* Neither process nor thread sporadic server interfaces is available. */ | |
170 | #define _POSIX_SPORADIC_SERVER -1 | |
171 | #define _POSIX_THREAD_SPORADIC_SERVER -1 | |
172 | ||
173 | /* trace.h is not available. */ | |
174 | #define _POSIX_TRACE -1 | |
175 | #define _POSIX_TRACE_EVENT_FILTER -1 | |
176 | #define _POSIX_TRACE_INHERIT -1 | |
177 | #define _POSIX_TRACE_LOG -1 | |
178 | ||
179 | /* Typed memory objects are not available. */ | |
180 | #define _POSIX_TYPED_MEMORY_OBJECTS -1 | |
181 | ||
259d930a | 182 | #endif /* bits/posix_opt.h */ |