]>
Commit | Line | Data |
---|---|---|
5afdca00 | 1 | /* Define POSIX options for Linux. |
1b82c6c7 | 2 | Copyright (C) 1996-2001, 2002, 2003, 2004 Free Software Foundation, Inc. |
5afdca00 UD |
3 | This file is part of the GNU C Library. |
4 | ||
5 | The GNU C Library is free software; you can redistribute it and/or | |
cc7375ce RM |
6 | modify it under the terms of the GNU Lesser General Public License as |
7 | published by the Free Software Foundation; either version 2.1 of the | |
5afdca00 UD |
8 | License, or (at your option) any later version. |
9 | ||
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 | |
cc7375ce | 13 | Lesser General Public License for more details. |
5afdca00 | 14 | |
cc7375ce | 15 | You should have received a copy of the GNU Lesser General Public |
5afdca00 UD |
16 | License along with the GNU C Library; see the file COPYING.LIB. If not, |
17 | write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
18 | Boston, MA 02111-1307, USA. */ | |
19 | ||
20 | #ifndef _POSIX_OPT_H | |
21 | #define _POSIX_OPT_H 1 | |
22 | ||
23 | /* Job control is supported. */ | |
24 | #define _POSIX_JOB_CONTROL 1 | |
25 | ||
26 | /* Processes have a saved set-user-ID and a saved set-group-ID. */ | |
27 | #define _POSIX_SAVED_IDS 1 | |
28 | ||
29 | /* Priority scheduling is supported. */ | |
d7fc4c62 | 30 | #define _POSIX_PRIORITY_SCHEDULING 200112L |
5afdca00 UD |
31 | |
32 | /* Synchronizing file data is supported. */ | |
d7fc4c62 | 33 | #define _POSIX_SYNCHRONIZED_IO 200112L |
5afdca00 UD |
34 | |
35 | /* The fsync function is present. */ | |
d7fc4c62 | 36 | #define _POSIX_FSYNC 200112L |
5afdca00 UD |
37 | |
38 | /* Mapping of files to memory is supported. */ | |
d7fc4c62 | 39 | #define _POSIX_MAPPED_FILES 200112L |
5afdca00 UD |
40 | |
41 | /* Locking of all memory is supported. */ | |
d7fc4c62 | 42 | #define _POSIX_MEMLOCK 200112L |
5afdca00 UD |
43 | |
44 | /* Locking of ranges of memory is supported. */ | |
d7fc4c62 | 45 | #define _POSIX_MEMLOCK_RANGE 200112L |
5afdca00 UD |
46 | |
47 | /* Setting of memory protections is supported. */ | |
d7fc4c62 | 48 | #define _POSIX_MEMORY_PROTECTION 200112L |
5afdca00 UD |
49 | |
50 | /* Only root can change owner of file. */ | |
51 | #define _POSIX_CHOWN_RESTRICTED 1 | |
52 | ||
53 | /* `c_cc' member of 'struct termios' structure can be disabled by | |
54 | using the value _POSIX_VDISABLE. */ | |
55 | #define _POSIX_VDISABLE '\0' | |
56 | ||
57 | /* Filenames are not silently truncated. */ | |
58 | #define _POSIX_NO_TRUNC 1 | |
59 | ||
60 | /* X/Open realtime support is available. */ | |
61 | #define _XOPEN_REALTIME 1 | |
62 | ||
63 | /* X/Open realtime thread support is available. */ | |
64 | #define _XOPEN_REALTIME_THREADS 1 | |
65 | ||
66 | /* XPG4.2 shared memory is supported. */ | |
67 | #define _XOPEN_SHM 1 | |
68 | ||
69 | /* Tell we have POSIX threads. */ | |
d7fc4c62 | 70 | #define _POSIX_THREADS 200112L |
5afdca00 UD |
71 | |
72 | /* We have the reentrant functions described in POSIX. */ | |
73 | #define _POSIX_REENTRANT_FUNCTIONS 1 | |
cb0e76b4 | 74 | #define _POSIX_THREAD_SAFE_FUNCTIONS 200112L |
5afdca00 UD |
75 | |
76 | /* We provide priority scheduling for threads. */ | |
d7fc4c62 | 77 | #define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L |
5afdca00 | 78 | |
3387a425 | 79 | /* We support user-defined stack sizes. */ |
d7fc4c62 | 80 | #define _POSIX_THREAD_ATTR_STACKSIZE 200112L |
3387a425 UD |
81 | |
82 | /* We support user-defined stacks. */ | |
d7fc4c62 | 83 | #define _POSIX_THREAD_ATTR_STACKADDR 200112L |
3387a425 | 84 | |
5afdca00 | 85 | /* We support POSIX.1b semaphores, but only the non-shared form for now. */ |
d7fc4c62 | 86 | #define _POSIX_SEMAPHORES 200112L |
5afdca00 UD |
87 | |
88 | /* Real-time signals are supported. */ | |
d7fc4c62 | 89 | #define _POSIX_REALTIME_SIGNALS 200112L |
5afdca00 UD |
90 | |
91 | /* We support asynchronous I/O. */ | |
d7fc4c62 | 92 | #define _POSIX_ASYNCHRONOUS_IO 200112L |
a3bbce5b | 93 | #define _POSIX_ASYNC_IO 1 |
482eec0d UD |
94 | /* Alternative name for Unix98. */ |
95 | #define _LFS_ASYNCHRONOUS_IO 1 | |
597ce09c UD |
96 | /* Support for prioritization is also available. */ |
97 | #define _POSIX_PRIORITIZED_IO 200112L | |
482eec0d UD |
98 | |
99 | /* The LFS support in asynchronous I/O is also available. */ | |
100 | #define _LFS64_ASYNCHRONOUS_IO 1 | |
101 | ||
102 | /* The rest of the LFS is also available. */ | |
103 | #define _LFS_LARGEFILE 1 | |
104 | #define _LFS64_LARGEFILE 1 | |
105 | #define _LFS64_STDIO 1 | |
5afdca00 | 106 | |
8a31d742 | 107 | /* POSIX shared memory objects are implemented. */ |
d7fc4c62 | 108 | #define _POSIX_SHARED_MEMORY_OBJECTS 200112L |
8a31d742 | 109 | |
bf7c04cd UD |
110 | /* CPU-time clocks support needs to be checked at runtime. */ |
111 | #define _POSIX_CPUTIME 0 | |
112 | ||
113 | /* Clock support in threads must be also checked at runtime. */ | |
114 | #define _POSIX_THREAD_CPUTIME 0 | |
115 | ||
b3ae0650 UD |
116 | /* GNU libc provides regular expression handling. */ |
117 | #define _POSIX_REGEXP 1 | |
118 | ||
119 | /* Reader/Writer locks are available. */ | |
d7fc4c62 | 120 | #define _POSIX_READER_WRITER_LOCKS 200112L |
b3ae0650 UD |
121 | |
122 | /* We have a POSIX shell. */ | |
123 | #define _POSIX_SHELL 1 | |
124 | ||
125 | /* We support the Timeouts option. */ | |
d7fc4c62 | 126 | #define _POSIX_TIMEOUTS 200112L |
b3ae0650 | 127 | |
07d641eb | 128 | /* We support spinlocks. */ |
d7fc4c62 | 129 | #define _POSIX_SPIN_LOCKS 200112L |
07d641eb | 130 | |
c851781f | 131 | /* The `spawn' function family is supported. */ |
d7fc4c62 | 132 | #define _POSIX_SPAWN 200112L |
c851781f | 133 | |
490dc9aa | 134 | /* We have POSIX timers. */ |
d7fc4c62 | 135 | #define _POSIX_TIMERS 200112L |
490dc9aa | 136 | |
697568d1 | 137 | /* The barrier functions are available. */ |
d7fc4c62 | 138 | #define _POSIX_BARRIERS 200112L |
697568d1 | 139 | |
1b82c6c7 UD |
140 | /* POSIX message queues are available. */ |
141 | #define _POSIX_MESSAGE_PASSING 200112L | |
91bc38d0 | 142 | |
3078cba2 UD |
143 | /* Thread process-shared synchronization is not supported. */ |
144 | #define _POSIX_THREAD_PROCESS_SHARED -1 | |
145 | ||
e5497892 UD |
146 | /* The monotonic clock might be available. */ |
147 | #define _POSIX_MONOTONIC_CLOCK 0 | |
148 | ||
3078cba2 UD |
149 | /* The clock selection interfaces are not available. */ |
150 | #define _POSIX_CLOCK_SELECTION -1 | |
151 | ||
097487fe UD |
152 | /* Advisory information interfaces are available. */ |
153 | #define _POSIX_ADVISORY_INFO 200112L | |
154 | ||
155 | /* IPv6 support is available. */ | |
156 | #define _POSIX_IPV6 200112L | |
157 | ||
158 | /* Raw socket support is available. */ | |
159 | #define _POSIX_RAW_SOCKETS 200112L | |
160 | ||
597ce09c UD |
161 | /* We have at least one terminal. */ |
162 | #define _POSIX2_CHAR_TERM 200112L | |
163 | ||
097487fe UD |
164 | /* Neither process nor thread sporadic server interfaces is available. */ |
165 | #define _POSIX_SPORADIC_SERVER -1 | |
166 | #define _POSIX_THREAD_SPORADIC_SERVER -1 | |
167 | ||
168 | /* trace.h is not available. */ | |
169 | #define _POSIX_TRACE -1 | |
170 | #define _POSIX_TRACE_EVENT_FILTER -1 | |
171 | #define _POSIX_TRACE_INHERIT -1 | |
172 | #define _POSIX_TRACE_LOG -1 | |
173 | ||
174 | /* Typed memory objects are not available. */ | |
175 | #define _POSIX_TYPED_MEMORY_OBJECTS -1 | |
176 | ||
597ce09c UD |
177 | /* No support for priority inheritance or protection. */ |
178 | #define _POSIX_THREAD_PRIO_INHERIT -1 | |
179 | #define _POSIX_THREAD_PRIO_PROTECT -1 | |
180 | ||
5afdca00 | 181 | #endif /* posix_opt.h */ |