]> git.ipfire.org Git - thirdparty/glibc.git/blame - linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h
Test for stack alignment.
[thirdparty/glibc.git] / linuxthreads / sysdeps / unix / sysv / linux / bits / posix_opt.h
CommitLineData
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 */