1a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes/*
2a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * Copyright (C) 2014 The Android Open Source Project
3a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * All rights reserved.
4a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes *
5a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * Redistribution and use in source and binary forms, with or without
6a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * modification, are permitted provided that the following conditions
7a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * are met:
8a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes *  * Redistributions of source code must retain the above copyright
9a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes *    notice, this list of conditions and the following disclaimer.
10a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes *  * Redistributions in binary form must reproduce the above copyright
11a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes *    notice, this list of conditions and the following disclaimer in
12a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes *    the documentation and/or other materials provided with the
13a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes *    distribution.
14a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes *
15a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
18a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
19a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
20a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
22a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
25a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes * SUCH DAMAGE.
27a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes */
28a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes
295704c423c81790195161c1757ae79da188590c51Elliott Hughes#ifndef _BITS_POSIX_LIMITS_H_
305704c423c81790195161c1757ae79da188590c51Elliott Hughes#define _BITS_POSIX_LIMITS_H_
31a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes
32203e13d97de840e01eded6a267fef9f245cf3a15Elliott Hughes#include <sys/cdefs.h>
331c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui
343a8f75d8b052611c08ef17ecf625b8021f4e0229Elliott Hughes#define _POSIX_VERSION 200809L
353a8f75d8b052611c08ef17ecf625b8021f4e0229Elliott Hughes#define _POSIX2_VERSION _POSIX_VERSION
363a8f75d8b052611c08ef17ecf625b8021f4e0229Elliott Hughes#define _XOPEN_VERSION 700
373a8f75d8b052611c08ef17ecf625b8021f4e0229Elliott Hughes
38aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define __BIONIC_POSIX_FEATURE_MISSING (-1)
39aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define __BIONIC_POSIX_FEATURE_SINCE(level) \
40aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes    (((__ANDROID_API__) >= level) ? _POSIX_VERSION : __BIONIC_POSIX_FEATURE_MISSING)
4106d7f2c78968d1f3e72eb96a5e2472c22c08cd19Elliott Hughes
42aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes/* Availability macros. */
43aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes/* See http://man7.org/linux/man-pages/man7/posixoptions.7.html for documentation. */
4473c44a4738fdb615eaede1d0ab21fc3de59105abElliott Hughes/* Keep this list sorted by name. */
4506d7f2c78968d1f3e72eb96a5e2472c22c08cd19Elliott Hughes#define _POSIX_ADVISORY_INFO __BIONIC_POSIX_FEATURE_SINCE(23) /* posix_memadvise arrived late. */
46aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_ASYNCHRONOUS_IO __BIONIC_POSIX_FEATURE_MISSING
47aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_BARRIERS __BIONIC_POSIX_FEATURE_SINCE(24)
48aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_CHOWN_RESTRICTED 1 /* chown/fchown require appropriate privileges. */
49aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_CLOCK_SELECTION __BIONIC_POSIX_FEATURE_SINCE(21) /* clock_nanosleep/pthread_condattr_getclock/pthread_condattr_setclock. */
50aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_CPUTIME _POSIX_VERSION /* CLOCK_PROCESS_CPUTIME_ID. */
51aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_FSYNC _POSIX_VERSION /* fsync. */
52aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_IPV6 _POSIX_VERSION
53aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_JOB_CONTROL __BIONIC_POSIX_FEATURE_SINCE(21) /* setpgid/tcdrain/tcflush/tcgetpgrp/tcsendbreak/tcsetattr/tcsetpgrp. */
54aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_MAPPED_FILES _POSIX_VERSION /* mmap/msync/munmap. */
55aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_MEMLOCK __BIONIC_POSIX_FEATURE_SINCE(17) /* mlockall/munlockall. */
56aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_MEMLOCK_RANGE _POSIX_VERSION /* mlock/munlock. */
57aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_MEMORY_PROTECTION _POSIX_VERSION /* mprotect. */
58aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_MESSAGE_PASSING __BIONIC_POSIX_FEATURE_MISSING
59aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_MONOTONIC_CLOCK _POSIX_VERSION /* CLOCK_MONOTONIC. */
60aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_NO_TRUNC 1 /* Over-long pathnames return errors. */
61aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_PRIORITIZED_IO __BIONIC_POSIX_FEATURE_MISSING
62aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_PRIORITY_SCHEDULING _POSIX_VERSION /* sched_*. */
63aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_RAW_SOCKETS _POSIX_VERSION
64aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_READER_WRITER_LOCKS _POSIX_VERSION /* pthread_rwlock*. */
65aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_REALTIME_SIGNALS __BIONIC_POSIX_FEATURE_SINCE(23) /* sigqueue/sigtimedwait/sigwaitinfo. */
66aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_REGEXP 1
67aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_SAVED_IDS 1
68aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_SEMAPHORES _POSIX_VERSION /* sem_*. */
69aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_SHARED_MEMORY_OBJECTS __BIONIC_POSIX_FEATURE_MISSING /* mmap/munmap are implemented, but shm_open/shm_unlink are not. */
70aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_SHELL 1 /* system. */
7114e3ff9f09fdd52db43628ccd6f39a6d3fb41740Elliott Hughes#define _POSIX_SPAWN __BIONIC_POSIX_FEATURE_SINCE(28) /* <spawn.h> */
72aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_SPIN_LOCKS __BIONIC_POSIX_FEATURE_SINCE(24) /* pthread_spin_*. */
7319d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX_SPORADIC_SERVER __BIONIC_POSIX_FEATURE_MISSING /* No SCHED_SPORADIC. */
74aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_SYNCHRONIZED_IO _POSIX_VERSION
75aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_THREAD_ATTR_STACKADDR _POSIX_VERSION /* Strictly, we're missing the deprecated pthread_attr_getstackaddr/pthread_attr_setstackaddr, but we do have pthread_attr_getstack/pthread_attr_setstack. */
76aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_THREAD_ATTR_STACKSIZE _POSIX_VERSION /* pthread_attr_getstack/pthread_attr_getstacksize/pthread_attr_setstack/pthread_attr_setstacksize. */
77aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_THREAD_CPUTIME _POSIX_VERSION /* CLOCK_THREAD_CPUTIME_ID. */
78aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_THREAD_PRIO_INHERIT __BIONIC_POSIX_FEATURE_MISSING
79aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_THREAD_PRIO_PROTECT __BIONIC_POSIX_FEATURE_MISSING
808aecba7aa6b7f7b92f69c0d3febef59fdb135f87Elliott Hughes#define _POSIX_THREAD_PRIORITY_SCHEDULING _POSIX_VERSION /* Strictly, pthread_attr_getinheritsched/pthread_attr_setinheritsched arrived in 28. */
81aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_THREAD_PROCESS_SHARED _POSIX_VERSION
82aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_THREAD_ROBUST_PRIO_INHERIT __BIONIC_POSIX_FEATURE_MISSING
83aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_THREAD_ROBUST_PRIO_PROTECT __BIONIC_POSIX_FEATURE_MISSING
84aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_THREAD_SAFE_FUNCTIONS _POSIX_VERSION
8519d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX_THREAD_SPORADIC_SERVER __BIONIC_POSIX_FEATURE_MISSING /* No SCHED_SPORADIC. */
86aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_THREADS _POSIX_VERSION /* Strictly, pthread_cancel/pthread_testcancel are missing. */
87aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_TIMEOUTS __BIONIC_POSIX_FEATURE_SINCE(21) /* pthread_mutex_timedlock arrived late. */
88aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_TIMERS _POSIX_VERSION /* clock_getres/clock_gettime/clock_settime/nanosleep/timer_create/timer_delete/timer_gettime/timer_getoverrun/timer_settime. */
89aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_TRACE __BIONIC_POSIX_FEATURE_MISSING
90aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_TRACE_EVENT_FILTER __BIONIC_POSIX_FEATURE_MISSING
91aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_TRACE_INHERIT __BIONIC_POSIX_FEATURE_MISSING
92aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_TRACE_LOG __BIONIC_POSIX_FEATURE_MISSING
93aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_TYPED_MEMORY_OBJECTS __BIONIC_POSIX_FEATURE_MISSING
94aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes
95aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_VDISABLE             '\0'
96aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes
9719d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX2_C_BIND              _POSIX_VERSION
9819d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX2_C_DEV               __BIONIC_POSIX_FEATURE_MISSING
9919d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX2_CHAR_TERM           _POSIX_VERSION
10019d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX2_FORT_DEV            __BIONIC_POSIX_FEATURE_MISSING
10119d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX2_FORT_RUN            __BIONIC_POSIX_FEATURE_MISSING
10219d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX2_LOCALEDEF           __BIONIC_POSIX_FEATURE_MISSING
10319d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX2_SW_DEV              __BIONIC_POSIX_FEATURE_MISSING
10419d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX2_UPE                 __BIONIC_POSIX_FEATURE_MISSING
10519d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes
106aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#if defined(__LP64__)
107aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_V7_ILP32_OFF32       -1
108aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_V7_ILP32_OFFBIG      -1
109aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_V7_LP64_OFF64         1
110aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_V7_LPBIG_OFFBIG       1
111aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#else
112aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_V7_ILP32_OFF32        1
113aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_V7_ILP32_OFFBIG      -1
114aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_V7_LP64_OFF64        -1
115aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#define _POSIX_V7_LPBIG_OFFBIG      -1
116aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes#endif
117aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes
11819d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _XOPEN_CRYPT                __BIONIC_POSIX_FEATURE_MISSING
11919d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _XOPEN_ENH_I18N             1
12019d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _XOPEN_LEGACY               __BIONIC_POSIX_FEATURE_MISSING
12119d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _XOPEN_REALTIME             1
12219d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _XOPEN_REALTIME_THREADS     1
12319d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _XOPEN_SHM                  1
12419d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _XOPEN_STREAMS              __BIONIC_POSIX_FEATURE_MISSING
12519d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _XOPEN_UNIX                 1
12619d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes
127aaf83e8051abf9a68e9deee589b18f0ecdf1b266Elliott Hughes/* Minimum values for other maxima. These numbers are simply lower bounds mandated by POSIX. */
12819d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes/* The constant values here are explicitly specified by POSIX, not implementation dependent. */
1291c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_AIO_LISTIO_MAX       2
1301c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_AIO_MAX              1
131a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes#define _POSIX_ARG_MAX              4096
132a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes#define _POSIX_CHILD_MAX            25
13319d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX_CLOCKRES_MIN         20000000
1341c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_DELAYTIMER_MAX       32
1350589777a33a08b88682e31cfbc008889b3f258d0Yongqin Liu#define _POSIX_HOST_NAME_MAX        255
136a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes#define _POSIX_LINK_MAX             8
13719d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX_LOGIN_NAME_MAX       9
138a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes#define _POSIX_MAX_CANON            255
139a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes#define _POSIX_MAX_INPUT            255
1401c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_MQ_OPEN_MAX          8
1411c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_MQ_PRIO_MAX          32
142a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes#define _POSIX_NAME_MAX             14
1431c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_NGROUPS_MAX          8
1441c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_OPEN_MAX             20
145a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes#define _POSIX_PATH_MAX             256
146a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes#define _POSIX_PIPE_BUF             512
147a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes#define _POSIX_RE_DUP_MAX           255
14819d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX_RTSIG_MAX            8
1491c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_SEM_NSEMS_MAX        256
150a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes#define _POSIX_SEM_VALUE_MAX        32767
1511c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_SIGQUEUE_MAX         32
152a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes#define _POSIX_SSIZE_MAX            32767
153a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes#define _POSIX_STREAM_MAX           8
15419d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX_SS_REPL_MAX          4
155a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes#define _POSIX_SYMLINK_MAX          255
156a186b2e0ca19620a52b4a49c17835532d13eb30aElliott Hughes#define _POSIX_SYMLOOP_MAX          8
1571c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
1581c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_THREAD_KEYS_MAX      128
1591c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_THREAD_THREADS_MAX   64
1601c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_TIMER_MAX            32
16119d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX_TRACE_EVENT_NAME_MAX 30
1621c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_TRACE_NAME_MAX       8
1631c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_TRACE_SYS_MAX        8
1641c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_TRACE_USER_EVENT_MAX 32
16519d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX_TTY_NAME_MAX         9
1661c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX_TZNAME_MAX           6
1671c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX2_BC_BASE_MAX         99
1681c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX2_BC_DIM_MAX          2048
1691c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX2_BC_SCALE_MAX        99
1701c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX2_BC_STRING_MAX       1000
1711c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX2_CHARCLASS_NAME_MAX  14
1721c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX2_COLL_WEIGHTS_MAX    2
1731c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX2_EXPR_NEST_MAX       32
1741c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _POSIX2_LINE_MAX            2048
17519d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _POSIX2_RE_DUP_MAX          255
1761c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui#define _XOPEN_IOV_MAX              16
17719d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _XOPEN_NAME_MAX             255
17819d768598205d915a856ec8f8bf6f996dc6fa83aElliott Hughes#define _XOPEN_PATH_MAX             1024
1791c19194c9d2518dbe86973cd313a277ecb70d75cYabin Cui
1805704c423c81790195161c1757ae79da188590c51Elliott Hughes#endif
181