Zephyr API Documentation
4.2.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
posix_features.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2024 BayLibre SAS
3
* Copyright (c) 2024 Tenstorrent AI ULC
4
*
5
* SPDX-License-Identifier: Apache-2.0
6
*/
7
8
#ifndef INCLUDE_ZEPHYR_POSIX_POSIX_FEATURES_H_
9
#define INCLUDE_ZEPHYR_POSIX_POSIX_FEATURES_H_
10
11
#include <zephyr/autoconf.h>
/* CONFIG_* */
12
#include <
zephyr/sys/util_macro.h
>
/* COND_CODE_1() */
13
14
/*
15
* POSIX Application Environment Profiles (AEP - IEEE Std 1003.13-2003)
16
*/
17
18
#ifdef CONFIG_POSIX_AEP_REALTIME_MINIMAL
19
#define _POSIX_AEP_REALTIME_MINIMAL 200312L
20
#endif
21
22
#ifdef CONFIG_POSIX_AEP_REALTIME_CONTROLLER
23
#define _POSIX_AEP_REALTIME_CONTROLLER 200312L
24
#endif
25
26
#ifdef CONFIG_POSIX_AEP_REALTIME_DEDICATED
27
#define _POSIX_AEP_REALTIME_DEDICATED 200312L
28
#endif
29
30
/*
31
* Subprofiling Considerations
32
*/
33
#define _POSIX_SUBPROFILE 1
34
35
/*
36
* POSIX System Interfaces
37
*/
38
39
#define _POSIX_VERSION 200809L
40
41
#define _POSIX_CHOWN_RESTRICTED (0)
42
#define _POSIX_NO_TRUNC (0)
43
#define _POSIX_VDISABLE ('\0')
44
45
/* #define _POSIX_ADVISORY_INFO (-1L) */
46
47
#ifdef CONFIG_POSIX_ASYNCHRONOUS_IO
48
#define _POSIX_ASYNCHRONOUS_IO _POSIX_VERSION
49
#endif
50
51
#ifdef CONFIG_POSIX_BARRIERS
52
#define _POSIX_BARRIERS _POSIX_VERSION
53
#endif
54
55
#ifdef CONFIG_POSIX_FSYNC
56
#define _POSIX_FSYNC _POSIX_VERSION
57
#endif
58
59
#ifdef CONFIG_NET_IPV6
60
#define _POSIX_IPV6 _POSIX_VERSION
61
#endif
62
63
/* #define _POSIX_JOB_CONTROL (-1L) */
64
65
#ifdef CONFIG_POSIX_MAPPED_FILES
66
#define _POSIX_MAPPED_FILES _POSIX_VERSION
67
#endif
68
69
#ifdef CONFIG_POSIX_MEMLOCK
70
#define _POSIX_MEMLOCK _POSIX_VERSION
71
#endif
72
73
#ifdef CONFIG_POSIX_MEMLOCK_RANGE
74
#define _POSIX_MEMLOCK_RANGE _POSIX_VERSION
75
#endif
76
77
#ifdef CONFIG_POSIX_MEMORY_PROTECTION
78
#define _POSIX_MEMORY_PROTECTION _POSIX_VERSION
79
#endif
80
81
#ifdef CONFIG_POSIX_MESSAGE_PASSING
82
#define _POSIX_MESSAGE_PASSING _POSIX_VERSION
83
#endif
84
85
/* #define _POSIX_PRIORITIZED_IO (-1L) */
86
87
#ifdef CONFIG_POSIX_PRIORITY_SCHEDULING
88
#define _POSIX_PRIORITY_SCHEDULING _POSIX_VERSION
89
#endif
90
91
#ifdef CONFIG_NET_SOCKETS_PACKET
92
#define _POSIX_RAW_SOCKETS _POSIX_VERSION
93
#endif
94
95
#ifdef CONFIG_POSIX_RW_LOCKS
96
#define _POSIX_READER_WRITER_LOCKS _POSIX_VERSION
97
#endif
98
99
/* #define _POSIX_REGEXP (-1L) */
100
/* #define _POSIX_SAVED_IDS (-1L) */
101
102
#ifdef CONFIG_POSIX_SEMAPHORES
103
#define _POSIX_SEMAPHORES _POSIX_VERSION
104
#endif
105
106
#ifdef CONFIG_POSIX_SHARED_MEMORY_OBJECTS
107
#define _POSIX_SHARED_MEMORY_OBJECTS _POSIX_VERSION
108
#endif
109
110
/* #define _POSIX_SHELL (-1L) */
111
/* #define _POSIX_SPAWN (-1L) */
112
113
#ifdef CONFIG_POSIX_SPIN_LOCKS
114
#define _POSIX_SPIN_LOCKS _POSIX_VERSION
115
#endif
116
117
/* #define _POSIX_SPORADIC_SERVER (-1L) */
118
119
#ifdef CONFIG_POSIX_SYNCHRONIZED_IO
120
#define _POSIX_SYNCHRONIZED_IO _POSIX_VERSION
121
#endif
122
123
#ifdef CONFIG_POSIX_THREAD_ATTR_STACKADDR
124
#define _POSIX_THREAD_ATTR_STACKADDR _POSIX_VERSION
125
#endif
126
127
#ifdef CONFIG_POSIX_THREAD_ATTR_STACKSIZE
128
#define _POSIX_THREAD_ATTR_STACKSIZE _POSIX_VERSION
129
#endif
130
131
#ifdef CONFIG_POSIX_THREAD_CPUTIME
132
#define _POSIX_THREAD_CPUTIME _POSIX_VERSION
133
#endif
134
135
#ifdef CONFIG_POSIX_THREAD_PRIO_INHERIT
136
#define _POSIX_THREAD_PRIO_INHERIT _POSIX_VERSION
137
#endif
138
139
#ifdef CONFIG_POSIX_THREAD_PRIO_PROTECT
140
#define _POSIX_THREAD_PRIO_PROTECT _POSIX_VERSION
141
#endif
142
143
#ifdef CONFIG_POSIX_THREAD_PRIORITY_SCHEDULING
144
#define _POSIX_THREAD_PRIORITY_SCHEDULING _POSIX_VERSION
145
#endif
146
147
/* #define _POSIX_THREAD_PROCESS_SHARED (-1L) */
148
/* #define _POSIX_THREAD_ROBUST_PRIO_INHERIT (-1L) */
149
/* #define _POSIX_THREAD_ROBUST_PRIO_PROTECT (-1L) */
150
151
/* #define _POSIX_THREAD_SPORADIC_SERVER (-1L) */
152
153
#ifdef CONFIG_POSIX_THREADS
154
#ifndef _POSIX_THREADS
155
#define _POSIX_THREADS _POSIX_VERSION
156
#endif
157
#endif
158
159
#ifdef CONFIG_POSIX_TIMEOUTS
160
#define _POSIX_TIMEOUTS _POSIX_VERSION
161
#endif
162
163
/* #define _POSIX_TRACE (-1L) */
164
/* #define _POSIX_TRACE_EVENT_FILTER (-1L) */
165
/* #define _POSIX_TRACE_INHERIT (-1L) */
166
/* #define _POSIX_TRACE_LOG (-1L) */
167
/* #define _POSIX_TYPED_MEMORY_OBJECTS (-1L) */
168
169
/*
170
* POSIX v6 Options
171
*/
172
/* #define _POSIX_V6_ILP32_OFF32 (-1L) */
173
/* #define _POSIX_V6_ILP32_OFFBIG (-1L) */
174
/* #define _POSIX_V6_LP64_OFF64 (-1L) */
175
/* #define _POSIX_V6_LPBIG_OFFBIG (-1L) */
176
177
/*
178
* POSIX v7 Options
179
*/
180
/* #define _POSIX_V7_ILP32_OFF32 (-1L) */
181
/* #define _POSIX_V7_ILP32_OFFBIG (-1L) */
182
/* #define _POSIX_V7_LP64_OFF64 (-1L) */
183
/* #define _POSIX_V7_LPBIG_OFFBIG (-1L) */
184
185
/*
186
* POSIX2 Options
187
*/
188
/* #define _POSIX2_VERSION (-1) */
189
#define _POSIX2_C_BIND _POSIX_VERSION
190
/* #define _POSIX2_C_DEV (-1) */
191
/* #define _POSIX2_CHAR_TERM (-1L) */
192
/* #define _POSIX2_FORT_DEV (-1L) */
193
/* #define _POSIX2_FORT_RUN (-1L) */
194
/* #define _POSIX2_LOCALEDEF (-1L) */
195
/* #define _POSIX2_PBS (-1L) */
196
/* #define _POSIX2_PBS_ACCOUNTING (-1L) */
197
/* #define _POSIX2_PBS_CHECKPOINT (-1L) */
198
/* #define _POSIX2_PBS_LOCATE (-1L) */
199
/* #define _POSIX2_PBS_MESSAGE (-1L) */
200
/* #define _POSIX2_PBS_TRACK (-1L) */
201
/* #define _POSIX2_SW_DEV (-1L) */
202
/* #define _POSIX2_UPE (-1L) */
203
204
/*
205
* X/Open System Interfaces
206
*/
207
#define _XOPEN_VERSION 700
208
/* #define _XOPEN_CRYPT (-1L) */
209
/* #define _XOPEN_ENH_I18N (-1L) */
210
#if defined(CONFIG_XSI_REALTIME) || \
211
(defined(CONFIG_POSIX_FSYNC) && defined(CONFIG_POSIX_MEMLOCK) && \
212
defined(CONFIG_POSIX_MEMLOCK_RANGE) && defined(CONFIG_POSIX_MESSAGE_PASSING) && \
213
defined(CONFIG_POSIX_PRIORITY_SCHEDULING) && \
214
defined(CONFIG_POSIX_SHARED_MEMORY_OBJECTS) && defined(CONFIG_POSIX_SYNCHRONIZED_IO))
215
#define _XOPEN_REALTIME _XOPEN_VERSION
216
#endif
217
/* #define _XOPEN_REALTIME_THREADS (-1L) */
218
/* #define _XOPEN_SHM (-1L) */
219
220
#ifdef CONFIG_XOPEN_STREAMS
221
#define _XOPEN_STREAMS _XOPEN_VERSION
222
#endif
223
224
/* #define _XOPEN_UNIX (-1L) */
225
/* #define _XOPEN_UUCP (-1L) */
226
227
#endif
/* INCLUDE_ZEPHYR_POSIX_POSIX_FEATURES_H_ */
util_macro.h
Macro utilities.
zephyr
posix
posix_features.h
Generated on
for Zephyr API Documentation by
1.14.0