]>
Commit | Line | Data |
---|---|---|
8fb37963 JJ |
1 | /* |
2 | * Written by Joel Sherrill <joel@OARcorp.com>. | |
3 | * | |
4 | * COPYRIGHT (c) 1989-2000. | |
5 | * | |
6 | * On-Line Applications Research Corporation (OAR). | |
7 | * | |
8 | * Permission to use, copy, modify, and distribute this software for any | |
9 | * purpose without fee is hereby granted, provided that this entire notice | |
10 | * is included in all copies of any software which is or includes a copy | |
11 | * or modification of this software. | |
12 | * | |
13 | * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED | |
14 | * WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION | |
15 | * OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS | |
16 | * SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. | |
17 | * | |
18 | * $Id$ | |
19 | */ | |
20 | ||
21 | #ifndef _SYS_FEATURES_H | |
22 | #define _SYS_FEATURES_H | |
23 | ||
24 | #ifdef __cplusplus | |
25 | extern "C" { | |
26 | #endif | |
27 | ||
28 | /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ | |
29 | ||
30 | #ifdef __rtems__ | |
31 | #define _POSIX_JOB_CONTROL 1 | |
32 | #define _POSIX_SAVED_IDS 1 | |
33 | #define _POSIX_VERSION 199309L | |
34 | #define _POSIX_ASYNCHRONOUS_IO 1 | |
35 | #define _POSIX_FSYNC 1 | |
36 | #define _POSIX_MAPPED_FILES 1 | |
37 | #define _POSIX_MEMLOCK 1 | |
38 | #define _POSIX_MEMLOCK_RANGE 1 | |
39 | #define _POSIX_MEMORY_PROTECTION 1 | |
40 | #define _POSIX_MESSAGE_PASSING 1 | |
01bf0593 | 41 | #define _POSIX_MONOTONIC_CLOCK 1 |
8fb37963 JJ |
42 | #define _POSIX_PRIORITIZED_IO 1 |
43 | #define _POSIX_PRIORITY_SCHEDULING 1 | |
44 | #define _POSIX_REALTIME_SIGNALS 1 | |
45 | #define _POSIX_SEMAPHORES 1 | |
46 | #define _POSIX_SHARED_MEMORY_OBJECTS 1 | |
47 | #define _POSIX_SYNCHRONIZED_IO 1 | |
48 | #define _POSIX_TIMERS 1 | |
23754b33 JJ |
49 | #define _POSIX_BARRIERS 200112L |
50 | #define _POSIX_READER_WRITER_LOCKS 200112L | |
51 | #define _POSIX_SPIN_LOCKS 200112L | |
8fb37963 JJ |
52 | |
53 | ||
54 | /* In P1003.1b but defined by drafts at least as early as P1003.1c/D10 */ | |
55 | #define _POSIX_THREADS 1 | |
56 | #define _POSIX_THREAD_ATTR_STACKADDR 1 | |
57 | #define _POSIX_THREAD_ATTR_STACKSIZE 1 | |
58 | #define _POSIX_THREAD_PRIORITY_SCHEDULING 1 | |
59 | #define _POSIX_THREAD_PRIO_INHERIT 1 | |
60 | #define _POSIX_THREAD_PRIO_PROTECT 1 | |
61 | #define _POSIX_THREAD_PROCESS_SHARED 1 | |
62 | #define _POSIX_THREAD_SAFE_FUNCTIONS 1 | |
63 | ||
64 | /* P1003.4b/D8 defines the constants below this comment. */ | |
65 | #define _POSIX_SPAWN 1 | |
66 | #define _POSIX_TIMEOUTS 1 | |
67 | #define _POSIX_CPUTIME 1 | |
68 | #define _POSIX_THREAD_CPUTIME 1 | |
69 | #define _POSIX_SPORADIC_SERVER 1 | |
70 | #define _POSIX_THREAD_SPORADIC_SERVER 1 | |
71 | #define _POSIX_DEVICE_CONTROL 1 | |
72 | #define _POSIX_DEVCTL_DIRECTION 1 | |
73 | #define _POSIX_INTERRUPT_CONTROL 1 | |
74 | #define _POSIX_ADVISORY_INFO 1 | |
75 | ||
76 | #endif | |
77 | ||
78 | #ifdef __svr4__ | |
79 | # define _POSIX_JOB_CONTROL 1 | |
80 | # define _POSIX_SAVED_IDS 1 | |
81 | # define _POSIX_VERSION 199009L | |
82 | #endif | |
83 | ||
1376245a | 84 | #ifdef __CYGWIN__ |
41e94f24 JJ |
85 | |
86 | #if !defined(__STRICT_ANSI__) || defined(__cplusplus) || __STDC_VERSION__ >= 199901L | |
0e37a2e6 CV |
87 | #define _POSIX_VERSION 200112L |
88 | #define _POSIX2_VERSION 200112L | |
89 | #define _XOPEN_VERSION 600 | |
90 | ||
91 | #define _POSIX_ADVISORY_INFO 200112L | |
92 | /* #define _POSIX_ASYNCHRONOUS_IO -1 */ | |
93 | /* #define _POSIX_BARRIERS -1 */ | |
94 | #define _POSIX_CHOWN_RESTRICTED 1 | |
95 | /* #define _POSIX_CLOCK_SELECTION -1 */ | |
96 | /* #define _POSIX_CPUTIME -1 */ | |
97 | #define _POSIX_FSYNC 200112L | |
98 | #define _POSIX_IPV6 200112L | |
99 | #define _POSIX_JOB_CONTROL 1 | |
100 | #define _POSIX_MAPPED_FILES 200112L | |
101 | /* #define _POSIX_MEMLOCK -1 */ | |
102 | #define _POSIX_MEMLOCK_RANGE 200112L | |
103 | #define _POSIX_MEMORY_PROTECTION 200112L | |
4f7e59f2 | 104 | #define _POSIX_MESSAGE_PASSING 200112L |
0e37a2e6 CV |
105 | /* #define _POSIX_MONOTONIC_CLOCK -1 */ |
106 | #define _POSIX_NO_TRUNC 1 | |
107 | /* #define _POSIX_PRIORITIZED_IO -1 */ | |
108 | #define _POSIX_PRIORITY_SCHEDULING 200112L | |
109 | #define _POSIX_RAW_SOCKETS 200112L | |
110 | #define _POSIX_READER_WRITER_LOCKS 200112L | |
111 | #define _POSIX_REALTIME_SIGNALS 200112L | |
112 | #define _POSIX_REGEXP 1 | |
113 | #define _POSIX_SAVED_IDS 1 | |
d7e4c7a8 CV |
114 | #define _POSIX_SEMAPHORES 200112L |
115 | #define _POSIX_SHARED_MEMORY_OBJECTS 200112L | |
0e37a2e6 CV |
116 | #define _POSIX_SHELL 1 |
117 | /* #define _POSIX_SPAWN -1 */ | |
118 | /* #define _POSIX_SPIN_LOCKS -1 */ | |
119 | /* #define _POSIX_SPORADIC_SERVER -1 */ | |
120 | #define _POSIX_SYNCHRONIZED_IO 200112L | |
121 | /* #define _POSIX_THREAD_ATTR_STACKADDR -1 */ | |
d7e4c7a8 | 122 | #define _POSIX_THREAD_ATTR_STACKSIZE 200112L |
0e37a2e6 CV |
123 | /* #define _POSIX_THREAD_CPUTIME -1 */ |
124 | /* #define _POSIX_THREAD_PRIO_INHERIT -1 */ | |
125 | /* #define _POSIX_THREAD_PRIO_PROTECT -1 */ | |
126 | #define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L | |
127 | #define _POSIX_THREAD_PROCESS_SHARED 200112L | |
128 | #define _POSIX_THREAD_SAFE_FUNCTIONS 200112L | |
129 | /* #define _POSIX_THREAD_SPORADIC_SERVER -1 */ | |
130 | #define _POSIX_THREADS 200112L | |
131 | /* #define _POSIX_TIMEOUTS -1 */ | |
132 | #define _POSIX_TIMERS 1 | |
133 | /* #define _POSIX_TRACE -1 */ | |
134 | /* #define _POSIX_TRACE_EVENT_FILTER -1 */ | |
135 | /* #define _POSIX_TRACE_INHERIT -1 */ | |
136 | /* #define _POSIX_TRACE_LOG -1 */ | |
137 | /* #define _POSIX_TYPED_MEMORY_OBJECTS -1 */ | |
138 | #define _POSIX_VDISABLE '\0' | |
139 | #define _POSIX2_C_BIND 200112L | |
140 | #define _POSIX2_C_DEV 200112L | |
141 | #define _POSIX2_CHAR_TERM 200112L | |
142 | /* #define _POSIX2_FORT_DEV -1 */ | |
143 | /* #define _POSIX2_FORT_RUN -1 */ | |
144 | /* #define _POSIX2_LOCALEDEF -1 */ | |
145 | /* #define _POSIX2_PBS -1 */ | |
146 | /* #define _POSIX2_PBS_ACCOUNTING -1 */ | |
147 | /* #define _POSIX2_PBS_CHECKPOINT -1 */ | |
148 | /* #define _POSIX2_PBS_LOCATE -1 */ | |
149 | /* #define _POSIX2_PBS_MESSAGE -1 */ | |
150 | /* #define _POSIX2_PBS_TRACK -1 */ | |
151 | #define _POSIX2_SW_DEV 200112L | |
152 | #define _POSIX2_UPE 200112L | |
a81a17c4 | 153 | #define _POSIX_V6_ILP32_OFF32 -1 |
0e37a2e6 CV |
154 | #define _XBS5_ILP32_OFF32 _POSIX_V6_ILP32_OFF32 |
155 | #define _POSIX_V6_ILP32_OFFBIG 1 | |
156 | #define _XBS5_ILP32_OFFBIG _POSIX_V6_ILP32_OFFBIG | |
a81a17c4 | 157 | #define _POSIX_V6_LP64_OFF64 -1 |
0e37a2e6 | 158 | #define _XBS5_LP64_OFF64 _POSIX_V6_LP64_OFF64 |
a81a17c4 | 159 | #define _POSIX_V6_LPBIG_OFFBIG -1 |
0e37a2e6 CV |
160 | #define _XBS5_LPBIG_OFFBIG _POSIX_V6_LPBIG_OFFBIG |
161 | #define _XOPEN_CRYPT 1 | |
162 | #define _XOPEN_ENH_I18N 1 | |
163 | /* #define _XOPEN_LEGACY -1 */ | |
164 | /* #define _XOPEN_REALTIME -1 */ | |
165 | /* #define _XOPEN_REALTIME_THREADS -1 */ | |
166 | #define _XOPEN_SHM 1 | |
167 | /* #define _XOPEN_STREAMS -1 */ | |
168 | /* #define _XOPEN_UNIX -1 */ | |
169 | ||
41e94f24 JJ |
170 | #endif /* !__STRICT_ANSI__ || __cplusplus || __STDC_VERSION__ >= 199901L */ |
171 | #endif /* __CYGWIN__ */ | |
8fb37963 | 172 | |
a8b08518 JJ |
173 | #ifdef __SPU__ |
174 | /* Not much for now! */ | |
175 | #define _POSIX_TIMERS 1 | |
176 | #endif | |
177 | ||
8fb37963 JJ |
178 | #ifdef __cplusplus |
179 | } | |
180 | #endif | |
181 | #endif /* _SYS_FEATURES_H */ |