Line data Source code
1 0 : /*
2 : * Copyright The Zephyr Project Contributors
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : #ifndef ZEPHYR_INCLUDE_ZEPHYR_POSIX_POSIX_LIMITS_H_
8 : #define ZEPHYR_INCLUDE_ZEPHYR_POSIX_POSIX_LIMITS_H_
9 :
10 : #if defined(_POSIX_C_SOURCE) || defined(__DOXYGEN__)
11 :
12 : /*
13 : * clang-format and checkpatch disagree on formatting here, so rely on checkpatch and disable
14 : * clang-format since checkpatch cannot be selectively disabled.
15 : */
16 :
17 : /* clang-format off */
18 :
19 : /* Maximum values */
20 : #define _POSIX_CLOCKRES_MIN (20000000L)
21 :
22 : /* Minimum values */
23 : #define _POSIX_AIO_LISTIO_MAX (2)
24 : #define _POSIX_AIO_MAX (1)
25 : #define _POSIX_ARG_MAX (4096)
26 : #define _POSIX_CHILD_MAX (25)
27 : #define _POSIX_DELAYTIMER_MAX (32)
28 : #define _POSIX_HOST_NAME_MAX (255)
29 : #define _POSIX_LINK_MAX (8)
30 : #define _POSIX_LOGIN_NAME_MAX (9)
31 : #define _POSIX_MAX_CANON (255)
32 : #define _POSIX_MAX_INPUT (255)
33 : #define _POSIX_MQ_OPEN_MAX (8)
34 : #define _POSIX_MQ_PRIO_MAX (32)
35 : #define _POSIX_NAME_MAX (14)
36 : #define _POSIX_NGROUPS_MAX (8)
37 : #define _POSIX_OPEN_MAX (20)
38 : #define _POSIX_PATH_MAX (256)
39 : #define _POSIX_PIPE_BUF (512)
40 : #define _POSIX_RE_DUP_MAX (255)
41 : #define _POSIX_RTSIG_MAX (8)
42 : #define _POSIX_SEM_NSEMS_MAX (256)
43 : #define _POSIX_SEM_VALUE_MAX (32767)
44 : #define _POSIX_SIGQUEUE_MAX (32)
45 : #define _POSIX_SSIZE_MAX (32767)
46 : #define _POSIX_SS_REPL_MAX (4)
47 : #define _POSIX_STREAM_MAX (8)
48 : #define _POSIX_SYMLINK_MAX (255)
49 : #define _POSIX_SYMLOOP_MAX (8)
50 : #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS (4)
51 : #define _POSIX_THREAD_KEYS_MAX (128)
52 : #define _POSIX_THREAD_THREADS_MAX (64)
53 : #define _POSIX_TIMER_MAX (32)
54 : #define _POSIX_TRACE_EVENT_NAME_MAX (30)
55 : #define _POSIX_TRACE_NAME_MAX (8)
56 : #define _POSIX_TRACE_SYS_MAX (8)
57 : #define _POSIX_TRACE_USER_EVENT_MAX (32)
58 : #define _POSIX_TTY_NAME_MAX (9)
59 : #define _POSIX_TZNAME_MAX (6)
60 : #define _POSIX2_BC_BASE_MAX (99)
61 : #define _POSIX2_BC_DIM_MAX (2048)
62 : #define _POSIX2_BC_SCALE_MAX (99)
63 : #define _POSIX2_BC_STRING_MAX (1000)
64 : #define _POSIX2_CHARCLASS_NAME_MAX (14)
65 : #define _POSIX2_COLL_WEIGHTS_MAX (2)
66 : #define _POSIX2_EXPR_NEST_MAX (32)
67 : #define _POSIX2_LINE_MAX (2048)
68 : #define _XOPEN_IOV_MAX (16)
69 : #define _XOPEN_NAME_MAX (255)
70 : #define _XOPEN_PATH_MAX (1024)
71 :
72 : /* Other invariant values */
73 0 : #define NL_LANGMAX (14)
74 0 : #define NL_MSGMAX (32767)
75 0 : #define NL_SETMAX (255)
76 0 : #define NL_TEXTMAX (_POSIX2_LINE_MAX)
77 0 : #define NZERO (20)
78 :
79 : /* Runtime invariant values */
80 0 : #define AIO_LISTIO_MAX _POSIX_AIO_LISTIO_MAX
81 0 : #define AIO_MAX _POSIX_AIO_MAX
82 0 : #define AIO_PRIO_DELTA_MAX (0)
83 0 : #define ARG_MAX _POSIX_ARG_MAX
84 0 : #define ATEXIT_MAX (32)
85 0 : #define DELAYTIMER_MAX \
86 : COND_CODE_1(CONFIG_POSIX_TIMERS, (CONFIG_POSIX_DELAYTIMER_MAX), (0))
87 0 : #define HOST_NAME_MAX \
88 : COND_CODE_1(CONFIG_POSIX_NETWORKING, (CONFIG_POSIX_HOST_NAME_MAX), (0))
89 0 : #define LOGIN_NAME_MAX _POSIX_LOGIN_NAME_MAX
90 0 : #define MQ_OPEN_MAX \
91 : COND_CODE_1(CONFIG_POSIX_MESSAGE_PASSING, (CONFIG_POSIX_MQ_OPEN_MAX), (0))
92 0 : #define MQ_PRIO_MAX _POSIX_MQ_PRIO_MAX
93 0 : #define OPEN_MAX CONFIG_POSIX_OPEN_MAX
94 0 : #define PAGE_SIZE CONFIG_POSIX_PAGE_SIZE
95 0 : #define PAGESIZE CONFIG_POSIX_PAGE_SIZE
96 0 : #define PATH_MAX _POSIX_PATH_MAX
97 0 : #define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
98 0 : #define PTHREAD_KEYS_MAX \
99 : COND_CODE_1(CONFIG_POSIX_THREADS, (CONFIG_POSIX_THREAD_KEYS_MAX), (0))
100 0 : #define PTHREAD_THREADS_MAX \
101 : COND_CODE_1(CONFIG_POSIX_THREADS, (CONFIG_POSIX_THREAD_THREADS_MAX), (0))
102 0 : #define RTSIG_MAX \
103 : COND_CODE_1(CONFIG_POSIX_REALTIME_SIGNALS, (CONFIG_POSIX_RTSIG_MAX), (0))
104 0 : #define SEM_NSEMS_MAX \
105 : COND_CODE_1(CONFIG_POSIX_SEMAPHORES, (CONFIG_POSIX_SEM_NSEMS_MAX), (0))
106 0 : #define SEM_VALUE_MAX \
107 : COND_CODE_1(CONFIG_POSIX_SEMAPHORES, (CONFIG_POSIX_SEM_VALUE_MAX), (0))
108 0 : #define SIGQUEUE_MAX _POSIX_SIGQUEUE_MAX
109 0 : #define STREAM_MAX _POSIX_STREAM_MAX
110 0 : #define SYMLOOP_MAX _POSIX_SYMLOOP_MAX
111 0 : #define TIMER_MAX \
112 : COND_CODE_1(CONFIG_POSIX_TIMERS, (CONFIG_POSIX_TIMER_MAX), (0))
113 0 : #define TTY_NAME_MAX _POSIX_TTY_NAME_MAX
114 0 : #define TZNAME_MAX _POSIX_TZNAME_MAX
115 :
116 : /* Pathname variable values */
117 0 : #define FILESIZEBITS (32)
118 0 : #define POSIX_ALLOC_SIZE_MIN (256)
119 0 : #define POSIX_REC_INCR_XFER_SIZE (1024)
120 0 : #define POSIX_REC_MAX_XFER_SIZE (32767)
121 0 : #define POSIX_REC_MIN_XFER_SIZE (1)
122 0 : #define POSIX_REC_XFER_ALIGN (4)
123 0 : #define SYMLINK_MAX _POSIX_SYMLINK_MAX
124 :
125 : /* clang-format on */
126 :
127 : #endif
128 :
129 : #endif /* ZEPHYR_INCLUDE_ZEPHYR_POSIX_POSIX_LIMITS_H_ */
|