Zephyr API Documentation
4.1.99
A Scalable Open Source RTOS
4.1.99
Toggle main menu visibility
Main Page
Related Pages
Topics
Data Structures
Data Structures
Data Structure Index
Data Fields
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Enumerator
Files
File List
Globals
All
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
x
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Macros
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
▼
Zephyr API Documentation
►
Introduction
Deprecated List
►
Topics
►
Data Structures
▼
Files
▼
File List
►
doc
►
kernel
►
lib
►
subsys
▼
zephyr
►
acpi
►
app_memory
►
arch
►
audio
►
bluetooth
►
canbus
►
console
►
crypto
►
data
►
debug
►
devicetree
►
dfu
►
display
►
drivers
►
dsp
►
dt-bindings
►
fs
►
input
►
internal
►
ipc
►
kernel
►
linker
►
llext
►
logging
►
lorawan
►
math
►
mctp
►
mem_mgmt
►
mgmt
►
misc
►
modbus
►
modem
►
multi_heap
►
net
►
platform
►
pm
►
portability
▼
posix
►
arpa
►
net
►
netinet
►
sys
►
aio.h
►
dirent.h
►
fcntl.h
►
fnmatch.h
►
grp.h
►
mqueue.h
►
netdb.h
►
poll.h
►
posix_features.h
►
posix_types.h
►
pthread.h
►
pwd.h
►
sched.h
►
semaphore.h
►
signal.h
►
stropts.h
►
syslog.h
►
time.h
►
unistd.h
►
psa
►
random
►
retention
►
rtio
►
sd
►
sensing
►
settings
►
shell
►
sip_svc
►
stats
►
storage
►
sys
►
task_wdt
►
timing
►
toolchain
►
tracing
►
usb
►
usb_c
►
xen
►
zbus
►
zvfs
►
bindesc.h
►
cache.h
►
device.h
►
devicetree.h
►
fatal.h
►
fatal_types.h
►
init.h
►
irq.h
►
irq_multilevel.h
►
irq_nextlevel.h
►
irq_offload.h
►
kernel.h
kernel_includes.h
►
kernel_structs.h
►
kernel_version.h
►
net_buf.h
►
shared_irq.h
►
smf.h
►
spinlock.h
►
sw_isr_table.h
►
sys_clock.h
►
syscall.h
►
toolchain.h
types.h
►
Globals
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
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_CLOCK_SELECTION
56
#define _POSIX_CLOCK_SELECTION _POSIX_VERSION
57
#endif
58
59
#ifdef CONFIG_POSIX_CPUTIME
60
#define _POSIX_CPUTIME _POSIX_VERSION
61
#endif
62
63
#ifdef CONFIG_POSIX_FSYNC
64
#define _POSIX_FSYNC _POSIX_VERSION
65
#endif
66
67
#ifdef CONFIG_NET_IPV6
68
#define _POSIX_IPV6 _POSIX_VERSION
69
#endif
70
71
/* #define _POSIX_JOB_CONTROL (-1L) */
72
73
#ifdef CONFIG_POSIX_MAPPED_FILES
74
#define _POSIX_MAPPED_FILES _POSIX_VERSION
75
#endif
76
77
#ifdef CONFIG_POSIX_MEMLOCK
78
#define _POSIX_MEMLOCK _POSIX_VERSION
79
#endif
80
81
#ifdef CONFIG_POSIX_MEMLOCK_RANGE
82
#define _POSIX_MEMLOCK_RANGE _POSIX_VERSION
83
#endif
84
85
#ifdef CONFIG_POSIX_MEMORY_PROTECTION
86
#define _POSIX_MEMORY_PROTECTION _POSIX_VERSION
87
#endif
88
89
#ifdef CONFIG_POSIX_MESSAGE_PASSING
90
#define _POSIX_MESSAGE_PASSING _POSIX_VERSION
91
#endif
92
93
#ifdef CONFIG_POSIX_MONOTONIC_CLOCK
94
#define _POSIX_MONOTONIC_CLOCK _POSIX_VERSION
95
#endif
96
97
/* #define _POSIX_PRIORITIZED_IO (-1L) */
98
99
#ifdef CONFIG_POSIX_PRIORITY_SCHEDULING
100
#define _POSIX_PRIORITY_SCHEDULING _POSIX_VERSION
101
#endif
102
103
#ifdef CONFIG_NET_SOCKETS_PACKET
104
#define _POSIX_RAW_SOCKETS _POSIX_VERSION
105
#endif
106
107
#ifdef CONFIG_POSIX_READER_WRITER_LOCKS
108
#define _POSIX_READER_WRITER_LOCKS _POSIX_VERSION
109
#endif
110
111
/* #define _POSIX_REALTIME_SIGNALS (-1L) */
112
/* #define _POSIX_REGEXP (-1L) */
113
/* #define _POSIX_SAVED_IDS (-1L) */
114
115
#ifdef CONFIG_POSIX_SEMAPHORES
116
#define _POSIX_SEMAPHORES _POSIX_VERSION
117
#endif
118
119
#ifdef CONFIG_POSIX_SHARED_MEMORY_OBJECTS
120
#define _POSIX_SHARED_MEMORY_OBJECTS _POSIX_VERSION
121
#endif
122
123
/* #define _POSIX_SHELL (-1L) */
124
/* #define _POSIX_SPAWN (-1L) */
125
126
#ifdef CONFIG_POSIX_SPIN_LOCKS
127
#define _POSIX_SPIN_LOCKS _POSIX_VERSION
128
#endif
129
130
/* #define _POSIX_SPORADIC_SERVER (-1L) */
131
132
#ifdef CONFIG_POSIX_SYNCHRONIZED_IO
133
#define _POSIX_SYNCHRONIZED_IO _POSIX_VERSION
134
#endif
135
136
#ifdef CONFIG_POSIX_THREAD_ATTR_STACKADDR
137
#define _POSIX_THREAD_ATTR_STACKADDR _POSIX_VERSION
138
#endif
139
140
#ifdef CONFIG_POSIX_THREAD_ATTR_STACKSIZE
141
#define _POSIX_THREAD_ATTR_STACKSIZE _POSIX_VERSION
142
#endif
143
144
#ifdef CONFIG_POSIX_THREAD_CPUTIME
145
#define _POSIX_THREAD_CPUTIME _POSIX_VERSION
146
#endif
147
148
#ifdef CONFIG_POSIX_THREAD_PRIO_INHERIT
149
#define _POSIX_THREAD_PRIO_INHERIT _POSIX_VERSION
150
#endif
151
152
#ifdef CONFIG_POSIX_THREAD_PRIO_PROTECT
153
#define _POSIX_THREAD_PRIO_PROTECT _POSIX_VERSION
154
#endif
155
156
#ifdef CONFIG_POSIX_THREAD_PRIORITY_SCHEDULING
157
#define _POSIX_THREAD_PRIORITY_SCHEDULING _POSIX_VERSION
158
#endif
159
160
/* #define _POSIX_THREAD_PROCESS_SHARED (-1L) */
161
/* #define _POSIX_THREAD_ROBUST_PRIO_INHERIT (-1L) */
162
/* #define _POSIX_THREAD_ROBUST_PRIO_PROTECT (-1L) */
163
164
#ifdef CONFIG_POSIX_THREAD_SAFE_FUNCTIONS
165
#define _POSIX_THREAD_SAFE_FUNCTIONS _POSIX_VERSION
166
#endif
167
168
/* #define _POSIX_THREAD_SPORADIC_SERVER (-1L) */
169
170
#ifdef CONFIG_POSIX_THREADS
171
#ifndef _POSIX_THREADS
172
#define _POSIX_THREADS _POSIX_VERSION
173
#endif
174
#endif
175
176
#ifdef CONFIG_POSIX_TIMEOUTS
177
#define _POSIX_TIMEOUTS _POSIX_VERSION
178
#endif
179
180
#ifdef CONFIG_POSIX_TIMERS
181
#define _POSIX_TIMERS _POSIX_VERSION
182
#endif
183
184
/* #define _POSIX_TRACE (-1L) */
185
/* #define _POSIX_TRACE_EVENT_FILTER (-1L) */
186
/* #define _POSIX_TRACE_INHERIT (-1L) */
187
/* #define _POSIX_TRACE_LOG (-1L) */
188
/* #define _POSIX_TYPED_MEMORY_OBJECTS (-1L) */
189
190
/*
191
* POSIX v6 Options
192
*/
193
/* #define _POSIX_V6_ILP32_OFF32 (-1L) */
194
/* #define _POSIX_V6_ILP32_OFFBIG (-1L) */
195
/* #define _POSIX_V6_LP64_OFF64 (-1L) */
196
/* #define _POSIX_V6_LPBIG_OFFBIG (-1L) */
197
198
/*
199
* POSIX v7 Options
200
*/
201
/* #define _POSIX_V7_ILP32_OFF32 (-1L) */
202
/* #define _POSIX_V7_ILP32_OFFBIG (-1L) */
203
/* #define _POSIX_V7_LP64_OFF64 (-1L) */
204
/* #define _POSIX_V7_LPBIG_OFFBIG (-1L) */
205
206
/*
207
* POSIX2 Options
208
*/
209
/* #define _POSIX2_VERSION (-1) */
210
#define _POSIX2_C_BIND _POSIX_VERSION
211
/* #define _POSIX2_C_DEV (-1) */
212
/* #define _POSIX2_CHAR_TERM (-1L) */
213
/* #define _POSIX2_FORT_DEV (-1L) */
214
/* #define _POSIX2_FORT_RUN (-1L) */
215
/* #define _POSIX2_LOCALEDEF (-1L) */
216
/* #define _POSIX2_PBS (-1L) */
217
/* #define _POSIX2_PBS_ACCOUNTING (-1L) */
218
/* #define _POSIX2_PBS_CHECKPOINT (-1L) */
219
/* #define _POSIX2_PBS_LOCATE (-1L) */
220
/* #define _POSIX2_PBS_MESSAGE (-1L) */
221
/* #define _POSIX2_PBS_TRACK (-1L) */
222
/* #define _POSIX2_SW_DEV (-1L) */
223
/* #define _POSIX2_UPE (-1L) */
224
225
/*
226
* X/Open System Interfaces
227
*/
228
#define _XOPEN_VERSION 700
229
/* #define _XOPEN_CRYPT (-1L) */
230
/* #define _XOPEN_ENH_I18N (-1L) */
231
#if defined(CONFIG_XSI_REALTIME) || \
232
(defined(CONFIG_POSIX_FSYNC) && defined(CONFIG_POSIX_MEMLOCK) && \
233
defined(CONFIG_POSIX_MEMLOCK_RANGE) && defined(CONFIG_POSIX_MESSAGE_PASSING) && \
234
defined(CONFIG_POSIX_PRIORITY_SCHEDULING) && \
235
defined(CONFIG_POSIX_SHARED_MEMORY_OBJECTS) && defined(CONFIG_POSIX_SYNCHRONIZED_IO))
236
#define _XOPEN_REALTIME _XOPEN_VERSION
237
#endif
238
/* #define _XOPEN_REALTIME_THREADS (-1L) */
239
/* #define _XOPEN_SHM (-1L) */
240
241
#ifdef CONFIG_XOPEN_STREAMS
242
#define _XOPEN_STREAMS _XOPEN_VERSION
243
#endif
244
245
/* #define _XOPEN_UNIX (-1L) */
246
/* #define _XOPEN_UUCP (-1L) */
247
248
/* Maximum values */
249
#define _POSIX_CLOCKRES_MIN (20000000L)
250
251
/* Minimum values */
252
#define _POSIX_AIO_LISTIO_MAX (2)
253
#define _POSIX_AIO_MAX (1)
254
#define _POSIX_ARG_MAX (4096)
255
#define _POSIX_CHILD_MAX (25)
256
#define _POSIX_DELAYTIMER_MAX \
257
COND_CODE_1(CONFIG_POSIX_TIMERS, (CONFIG_POSIX_DELAYTIMER_MAX), (0))
258
#define _POSIX_HOST_NAME_MAX \
259
COND_CODE_1(CONFIG_POSIX_NETWORKING, (CONFIG_POSIX_HOST_NAME_MAX), (0))
260
#define _POSIX_LINK_MAX (8)
261
#define _POSIX_LOGIN_NAME_MAX (9)
262
#define _POSIX_MAX_CANON (255)
263
#define _POSIX_MAX_INPUT (255)
264
#define _POSIX_MQ_OPEN_MAX \
265
COND_CODE_1(CONFIG_POSIX_MESSAGE_PASSING, (CONFIG_POSIX_MQ_OPEN_MAX), (0))
266
#define _POSIX_MQ_PRIO_MAX (32)
267
#define _POSIX_NAME_MAX (14)
268
#define _POSIX_NGROUPS_MAX (8)
269
#define _POSIX_OPEN_MAX CONFIG_POSIX_OPEN_MAX
270
#define _POSIX_PATH_MAX (256)
271
#define _POSIX_PIPE_BUF (512)
272
#define _POSIX_RE_DUP_MAX (255)
273
#define _POSIX_RTSIG_MAX \
274
COND_CODE_1(CONFIG_POSIX_REALTIME_SIGNALS, (CONFIG_POSIX_RTSIG_MAX), (0))
275
#define _POSIX_SEM_NSEMS_MAX \
276
COND_CODE_1(CONFIG_POSIX_SEMAPHORES, (CONFIG_POSIX_SEM_NSEMS_MAX), (0))
277
#define _POSIX_SEM_VALUE_MAX \
278
COND_CODE_1(CONFIG_POSIX_SEMAPHORES, (CONFIG_POSIX_SEM_VALUE_MAX), (0))
279
#define _POSIX_SIGQUEUE_MAX (32)
280
#define _POSIX_SSIZE_MAX (32767)
281
#define _POSIX_SS_REPL_MAX (4)
282
#define _POSIX_STREAM_MAX (8)
283
#define _POSIX_SYMLINK_MAX (255)
284
#define _POSIX_SYMLOOP_MAX (8)
285
#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS (4)
286
#define _POSIX_THREAD_KEYS_MAX \
287
COND_CODE_1(CONFIG_POSIX_THREADS, (CONFIG_POSIX_THREAD_KEYS_MAX), (0))
288
#define _POSIX_THREAD_THREADS_MAX \
289
COND_CODE_1(CONFIG_POSIX_THREADS, (CONFIG_POSIX_THREAD_THREADS_MAX), (0))
290
#define _POSIX_TIMER_MAX \
291
COND_CODE_1(CONFIG_POSIX_TIMERS, (CONFIG_POSIX_TIMER_MAX), (0))
292
#define _POSIX_TRACE_EVENT_NAME_MAX (30)
293
#define _POSIX_TRACE_NAME_MAX (8)
294
#define _POSIX_TRACE_SYS_MAX (8)
295
#define _POSIX_TRACE_USER_EVENT_MAX (32)
296
#define _POSIX_TTY_NAME_MAX (9)
297
#define _POSIX_TZNAME_MAX (6)
298
#define _POSIX2_BC_BASE_MAX (99)
299
#define _POSIX2_BC_DIM_MAX (2048)
300
#define _POSIX2_BC_SCALE_MAX (99)
301
#define _POSIX2_BC_STRING_MAX (1000)
302
#define _POSIX2_CHARCLASS_NAME_MAX (14)
303
#define _POSIX2_COLL_WEIGHTS_MAX (2)
304
#define _POSIX2_EXPR_NEST_MAX (32)
305
#define _POSIX2_LINE_MAX (2048)
306
#define _XOPEN_IOV_MAX (16)
307
#define _XOPEN_NAME_MAX (255)
308
#define _XOPEN_PATH_MAX (1024)
309
310
/* Other invariant values */
311
#define NL_LANGMAX (14)
312
#define NL_MSGMAX (32767)
313
#define NL_SETMAX (255)
314
#define NL_TEXTMAX (_POSIX2_LINE_MAX)
315
#define NZERO (20)
316
317
/* Runtime invariant values */
318
#define AIO_LISTIO_MAX _POSIX_AIO_LISTIO_MAX
319
#define AIO_MAX _POSIX_AIO_MAX
320
#define AIO_PRIO_DELTA_MAX (0)
321
#define DELAYTIMER_MAX _POSIX_DELAYTIMER_MAX
322
#define HOST_NAME_MAX _POSIX_HOST_NAME_MAX
323
#define LOGIN_NAME_MAX _POSIX_LOGIN_NAME_MAX
324
#define MQ_OPEN_MAX _POSIX_MQ_OPEN_MAX
325
#define MQ_PRIO_MAX _POSIX_MQ_PRIO_MAX
326
327
#ifndef ATEXIT_MAX
328
#define ATEXIT_MAX 8
329
#endif
330
331
#define PAGE_SIZE CONFIG_POSIX_PAGE_SIZE
332
#define PAGESIZE PAGE_SIZE
333
334
#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
335
#define PTHREAD_KEYS_MAX _POSIX_THREAD_KEYS_MAX
336
#define PTHREAD_THREADS_MAX _POSIX_THREAD_THREADS_MAX
337
#define RTSIG_MAX _POSIX_RTSIG_MAX
338
#define SEM_NSEMS_MAX _POSIX_SEM_NSEMS_MAX
339
#define SEM_VALUE_MAX _POSIX_SEM_VALUE_MAX
340
#define SIGQUEUE_MAX _POSIX_SIGQUEUE_MAX
341
#define STREAM_MAX _POSIX_STREAM_MAX
342
#define SYMLOOP_MAX _POSIX_SYMLOOP_MAX
343
#define TIMER_MAX _POSIX_TIMER_MAX
344
#define TTY_NAME_MAX _POSIX_TTY_NAME_MAX
345
#ifndef TZNAME_MAX
346
#define TZNAME_MAX _POSIX_TZNAME_MAX
347
#endif
348
349
/* Pathname variable values */
350
#define FILESIZEBITS (32)
351
#define POSIX_ALLOC_SIZE_MIN (256)
352
#define POSIX_REC_INCR_XFER_SIZE (1024)
353
#define POSIX_REC_MAX_XFER_SIZE (32767)
354
#define POSIX_REC_MIN_XFER_SIZE (1)
355
#define POSIX_REC_XFER_ALIGN (4)
356
#define SYMLINK_MAX _POSIX_SYMLINK_MAX
357
358
#endif
/* INCLUDE_ZEPHYR_POSIX_POSIX_FEATURES_H_ */
util_macro.h
Macro utilities.
zephyr
posix
posix_features.h
Generated on Fri Mar 14 2025 00:06:43 for Zephyr API Documentation by
1.12.0