]> git.ipfire.org Git - thirdparty/glibc.git/blame - nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
2.5-18.1
[thirdparty/glibc.git] / nptl / sysdeps / unix / sysv / linux / bits / posix_opt.h
CommitLineData
76a50749 1/* Define POSIX options for Linux.
0ecb606c 2 Copyright (C) 1996-2004, 2006 Free Software Foundation, Inc.
76a50749
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
0ecb606c
JJ
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
76a50749
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
0ecb606c 13 Lesser General Public License for more details.
76a50749 14
0ecb606c 15 You should have received a copy of the GNU Lesser General Public
76a50749
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. */
30#define _POSIX_PRIORITY_SCHEDULING 200112L
31
32/* Synchronizing file data is supported. */
33#define _POSIX_SYNCHRONIZED_IO 200112L
34
35/* The fsync function is present. */
36#define _POSIX_FSYNC 200112L
37
38/* Mapping of files to memory is supported. */
39#define _POSIX_MAPPED_FILES 200112L
40
41/* Locking of all memory is supported. */
42#define _POSIX_MEMLOCK 200112L
43
44/* Locking of ranges of memory is supported. */
45#define _POSIX_MEMLOCK_RANGE 200112L
46
47/* Setting of memory protections is supported. */
48#define _POSIX_MEMORY_PROTECTION 200112L
49
76a50749
UD
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
0ecb606c
JJ
63/* X/Open thread realtime support is available. */
64#define _XOPEN_REALTIME_THREADS 1
65
76a50749
UD
66/* XPG4.2 shared memory is supported. */
67#define _XOPEN_SHM 1
68
69/* Tell we have POSIX threads. */
70#define _POSIX_THREADS 200112L
71
72/* We have the reentrant functions described in POSIX. */
73#define _POSIX_REENTRANT_FUNCTIONS 1
74#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L
75
fd82139f
UD
76/* We provide priority scheduling for threads. */
77#define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L
78
76a50749
UD
79/* We support user-defined stack sizes. */
80#define _POSIX_THREAD_ATTR_STACKSIZE 200112L
81
82/* We support user-defined stacks. */
83#define _POSIX_THREAD_ATTR_STACKADDR 200112L
84
0ecb606c
JJ
85/* We support priority inheritence. */
86#define _POSIX_THREAD_PRIO_INHERIT 200112L
87
88/* We support priority protection, though only for non-robust
89 mutexes. */
90#define _POSIX_THREAD_PRIO_PROTECT 200112L
91
cb0e76b4
UD
92/* We support POSIX.1b semaphores. */
93#define _POSIX_SEMAPHORES 200112L
76a50749
UD
94
95/* Real-time signals are supported. */
cb0e76b4 96#define _POSIX_REALTIME_SIGNALS 200112L
76a50749
UD
97
98/* We support asynchronous I/O. */
cb0e76b4 99#define _POSIX_ASYNCHRONOUS_IO 200112L
76a50749
UD
100#define _POSIX_ASYNC_IO 1
101/* Alternative name for Unix98. */
102#define _LFS_ASYNCHRONOUS_IO 1
597ce09c
UD
103/* Support for prioritization is also available. */
104#define _POSIX_PRIORITIZED_IO 200112L
76a50749
UD
105
106/* The LFS support in asynchronous I/O is also available. */
107#define _LFS64_ASYNCHRONOUS_IO 1
108
109/* The rest of the LFS is also available. */
110#define _LFS_LARGEFILE 1
111#define _LFS64_LARGEFILE 1
112#define _LFS64_STDIO 1
113
114/* POSIX shared memory objects are implemented. */
115#define _POSIX_SHARED_MEMORY_OBJECTS 200112L
116
bf7c04cd
UD
117/* CPU-time clocks support needs to be checked at runtime. */
118#define _POSIX_CPUTIME 0
119
120/* Clock support in threads must be also checked at runtime. */
121#define _POSIX_THREAD_CPUTIME 0
122
76a50749
UD
123/* GNU libc provides regular expression handling. */
124#define _POSIX_REGEXP 1
125
126/* Reader/Writer locks are available. */
127#define _POSIX_READER_WRITER_LOCKS 200112L
128
129/* We have a POSIX shell. */
130#define _POSIX_SHELL 1
131
132/* We support the Timeouts option. */
133#define _POSIX_TIMEOUTS 200112L
134
135/* We support spinlocks. */
136#define _POSIX_SPIN_LOCKS 200112L
137
138/* The `spawn' function family is supported. */
139#define _POSIX_SPAWN 200112L
140
141/* We have POSIX timers. */
cb0e76b4 142#define _POSIX_TIMERS 200112L
76a50749
UD
143
144/* The barrier functions are available. */
145#define _POSIX_BARRIERS 200112L
146
1b82c6c7
UD
147/* POSIX message queues are available. */
148#define _POSIX_MESSAGE_PASSING 200112L
76a50749
UD
149
150/* Thread process-shared synchronization is supported. */
151#define _POSIX_THREAD_PROCESS_SHARED 200112L
152
e5497892
UD
153/* The monotonic clock might be available. */
154#define _POSIX_MONOTONIC_CLOCK 0
155
86a9ee5e
UD
156/* The clock selection interfaces are available. */
157#define _POSIX_CLOCK_SELECTION 200112L
158
097487fe
UD
159/* Advisory information interfaces are available. */
160#define _POSIX_ADVISORY_INFO 200112L
161
162/* IPv6 support is available. */
163#define _POSIX_IPV6 200112L
164
165/* Raw socket support is available. */
166#define _POSIX_RAW_SOCKETS 200112L
167
597ce09c
UD
168/* We have at least one terminal. */
169#define _POSIX2_CHAR_TERM 200112L
170
097487fe
UD
171/* Neither process nor thread sporadic server interfaces is available. */
172#define _POSIX_SPORADIC_SERVER -1
173#define _POSIX_THREAD_SPORADIC_SERVER -1
174
175/* trace.h is not available. */
176#define _POSIX_TRACE -1
177#define _POSIX_TRACE_EVENT_FILTER -1
178#define _POSIX_TRACE_INHERIT -1
179#define _POSIX_TRACE_LOG -1
180
181/* Typed memory objects are not available. */
182#define _POSIX_TYPED_MEMORY_OBJECTS -1
183
76a50749 184#endif /* posix_opt.h */