123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459 |
- package posix
- // limits.h - implementation-defined constants
- // NOTE: numerical limits are left out because Odin provides `min(T)` and `max(T)`.
- // The <limits.h> header shall define the following symbolic constants with the values shown.
- // These are the most restrictive values for certain features on an implementation.
- // A conforming implementation shall provide values no larger than these values.
- // A conforming application must not require a smaller value for correct operation.
- _POSIX_CLOCKRES_MIN :: 20000000
- // The <limits.h> header shall define the following symbolic constants with the values shown.
- // These are the most restrictive values for certain features on an implementation conforming to
- // this volume of POSIX.1-2017.
- // Related symbolic constants are defined elsewhere in this volume of POSIX.1-2017 which reflect
- // the actual implementation and which need not be as restrictive. For each of these limits,
- // a conforming implementation shall provide a value at least this large or shall have no limit.
- // A strictly conforming application must not require a larger value for correct operation.
- _POSIX_AIO_LISTIO_MAX :: 2
- _POSIX_AIO_MAX :: 1
- _POSIX_ARG_MAX :: 4096
- _POSIX_CHILD_MAX :: 25
- _POSIX_DELAYTIMER_MAX :: 32
- _POSIX_HOST_NAME_MAX :: 255
- _POSIX_LINK_MAX :: 8
- _POSIX_MAX_CANON :: 255
- _POSIX_MAX_INPUT :: 255
- _POSIX_MQ_OPEN_MAX :: 8
- _POSIX_MQ_PRIO_MAX :: 32
- _POSIX_NAME_MAX :: 14
- _POSIX_NGROUPS_MAX :: 8
- _POSIX_OPEN_MAX :: 20
- _POSIX_PATH_MAX :: 256
- _POSIX_PIPE_BUF :: 512
- _POSIX_RE_DUP_MAX :: 255
- _POSIX_RTSIG_MAX :: 8
- _POSIX_SEM_NSEMS_MAX :: 256
- _POSIX_SEM_VALUE_MAX :: 32767
- _POSIX_SS_REPL_MAX :: 4
- _POSIX_STREAM_MAX :: 8
- _POSIX_SYMLINK_MAX :: 255
- _POSIX_SYMLOOP_MAX :: 8
- _POSIX_THREAD_DESTRUCTION_ITERATIONS :: 4
- _POSIX_THREAD_KEYS_MAX :: 128
- _POSIX_THREADS_THREADS_MAX :: 64
- _POSIX_TIMER_MAX :: 32
- _POSIX_TRAXE_EVENT_NAME_MAX :: 30
- _POSIX_TRACE_NAME_MAX :: 8
- _POSIX_TRACE_SYS_MAX :: 8
- _POSIX_TRACE_USER_EVENT_MAX :: 32
- _POSIX_TTY_NAME_MAX :: 9
- _POSIX_TZNAME_MAX :: 6
- _POSIX2_BC_BASE_MAX :: 99
- _POSIX2_BC_DIM_MAX :: 2048
- _POSIX2_BC_SCALE_MAX :: 99
- _POSIX2_CHARCLASS_NAME_MAX :: 14
- _POSIX2_COLL_WEIGHTS_MAX :: 2
- _POSIX2_EXPR_NEST_MAX :: 32
- _POSIX2_LINE_MAX :: 2048
- _POSIX2_RE_DUP_MAX :: 255
- _XOPEN_IOV_MAX :: 16
- _XOPEN_NAME_MAX :: 255
- _XOPEN_PATH_MAX :: 1024
- /*
- NOTE: for full portability, usage should look something like:
- page_size: uint
- when #defined(posix.PAGESIZE) {
- page_size = posix.PAGESIZE
- } else {
- page_size = posix.sysconf(._PAGESIZE)
- }
- */
- when ODIN_OS == .Darwin {
- // A definition of one of the symbolic constants in the following list shall be omitted from
- // <limits.h> on specific implementations where the corresponding value is equal to or greater
- // than the stated minimum, but is unspecified.
- //
- // This indetermination might depend on the amount of available memory space on a specific
- // instance of a specific implementation. The actual value supported by a specific instance shall
- // be provided by the sysconf() function.
- // AIO_LISTIO_MAX :: sysconf(._AIO_LISTIO_MAX)
- // AIO_MAX :: sysconf(._AIO_MAX)
- // AIO_PRIO_DELTA_MAX :: sysconf(._AIO_PRIO_DELTA_MAX)
- ARG_MAX :: 1024 * 1024
- // ATEXIT_MAX :: sysconf(._ATEXIT_MAX)
- CHILD_MAX :: 266
- // DELAYTIMER_MAX :: sysconf(._DELAYTIMER_MAX)
- // HOST_NAME_MAX :: sysconf(._HOST_NAME_MAX)
- IOV_MAX :: 1024
- // LOGIN_NAME_MAX :: sysconf(._LOGIN_NAME_MAX)
- // MQ_OPEN_MAX :: sysconf(._MQ_OPEN_MAX)
- // MQ_PRIO_MAX :: sysconf(._MQ_PRIO_MAX)
- PAGESIZE :: PAGE_SIZE
- PAGE_SIZE :: 1 << 12
- PTHREAD_DESTRUCTOR_ITERATIONS :: 4
- PTHREAD_KEYS_MAX :: 512
- PTHREAD_STACK_MIN :: 16384 when ODIN_ARCH == .arm64 else 8192
- // RTSIG_MAX :: sysconf(._RTSIG_MAX)
- // SEM_NSEMS_MAX :: sysconf(._SEM_NSEMS_MAX)
- // SEM_VALUE_MAX :: sysconf(._SEM_VALUE_MAX)
- // SIGQUEUE_MAX :: sysconf(._SIGQUEUE_MAX)
- // SS_REPL_MAX :: sysconf(._SS_REPL_MAX)
- // STREAM_MAX :: sysconf(._STREAM_MAX)
- // SYMLOOP_MAX :: sysconf(._SYMLOOP_MAX)
- // TIMER_MAX :: sysconf(._TIMER_MAX)
- // TRACE_EVENT_NAME_MAX :: sysconf(._TRACE_EVENT_NAME_MAX)
- // TRACE_NAME_MAX :: sysconf(._TRACE_NAME_MAX)
- // TRACE_SYS_MAX :: sysconf(._TRACE_SYS_MAX)
- // TRACE_USER_EVENT_MAX :: sysconf(._TRACE_USER_EVENT_MAX)
- // TTY_NAME_MAX :: sysconf(._TTY_NAME_MAX)
- // TZNAME_MAX :: sysconf(._TZNAME_MAX)
- // The values in the following list may be constants within an implementation or may vary from
- // one pathname to another.
- // For example, file systems or directories may have different characteristics.
- //
- // A definition of one of the symbolic constants in the following list shall be omitted from the
- // <limits.h> header on specific implementations where the corresponding value is equal to or
- // greater than the stated minimum, but where the value can vary depending on the file to which
- // it is applied.
- // The actual value supported for a specific pathname shall be provided by the pathconf() function.
- // FILESIZEBITS :: pathconf(".", ._FILESIZEBITS)
- LINK_MAX :: 32767
- MAX_CANON :: 1024
- MAX_INPUT :: 1024
- NAME_MAX :: 255
- PATH_MAX :: 1024
- PIPE_BUF :: 512
- // POSIX_ALLOC_SIZE_MIN :: pathconf("foo.txt", ._POSIX_ALLOC_SIZE_MIN)
- // POSIX_REC_INCR_XFER_SIZE :: pathconf("foo.txt", ._POSIX_REC_INCR_XFER_SIZE)
- // POSIX_REC_MAX_XFER_SIZE :: pathconf("foo.txt", ._POSIX_REC_MAX_XFER_SIZE)
- // POSIX_REC_MIN_XFER_SIZE :: pathconf("foo.txt", ._POSIX_REC_MIN_XFER_SIZE)
- // POSIX_REC_XFER_ALIGN :: pathconf("foo.txt", ._POSIX_REC_XFER_ALIGN)
- // SYMLINK_MAX :: pathconf(".", ._SYMLINK_MAX)
- // The magnitude limitations in the following list shall be fixed by specific implementations.
- // An application should assume that the value of the symbolic constant defined by <limits.h>
- // in a specific implementation is the minimum that pertains whenever the application is run
- // under that implementation.
- // A specific instance of a specific implementation may increase the value relative to that
- // supplied by <limits.h> for that implementation.
- // The actual value supported by a specific instance shall be provided by the sysconf() function.
- BC_BASE_MAX :: 99
- BC_DIM_MAX :: 2048
- BC_SCALE_MAX :: 99
- BC_STRING_MAX :: 1000
- CHARCLASS_NAME_MAX :: 14
- COLL_WEIGHTS_MAX :: 2
- EXPR_NEST_MAX :: 2
- LINE_MAX :: 2048
- NGROUPS_MAX :: 16
- RE_DUP_MAX :: 255
- // Other limits.
-
- NL_ARGMAX :: 9
- NL_LANGMAX :: 14
- NL_MSGMAX :: 32767
- NL_SETMAX :: 255
- NL_TEXTMAX :: 2048
- NZERO :: 20
- } else when ODIN_OS == .FreeBSD {
- // A definition of one of the symbolic constants in the following list shall be omitted from
- // <limits.h> on specific implementations where the corresponding value is equal to or greater
- // than the stated minimum, but is unspecified.
- //
- // This indetermination might depend on the amount of available memory space on a specific
- // instance of a specific implementation. The actual value supported by a specific instance shall
- // be provided by the sysconf() function.
- // AIO_LISTIO_MAX :: sysconf(._AIO_LISTIO_MAX)
- // AIO_MAX :: sysconf(._AIO_MAX)
- // AIO_PRIO_DELTA_MAX :: sysconf(._AIO_PRIO_DELTA_MAX)
- ARG_MAX :: 2 * 256 * 1024
- // ATEXIT_MAX :: sysconf(._ATEXIT_MAX)
- CHILD_MAX :: 40
- // DELAYTIMER_MAX :: sysconf(._DELAYTIMER_MAX)
- // HOST_NAME_MAX :: sysconf(._HOST_NAME_MAX)
- IOV_MAX :: 1024
- // LOGIN_NAME_MAX :: sysconf(._LOGIN_NAME_MAX)
- // MQ_OPEN_MAX :: sysconf(._MQ_OPEN_MAX)
- MQ_PRIO_MAX :: 64
- PAGESIZE :: PAGE_SIZE
- PAGE_SIZE :: 1 << 12
- PTHREAD_DESTRUCTOR_ITERATIONS :: 4
- PTHREAD_KEYS_MAX :: 256
- PTHREAD_STACK_MIN :: MINSIGSTKSZ
- // RTSIG_MAX :: sysconf(._RTSIG_MAX)
- // SEM_NSEMS_MAX :: sysconf(._SEM_NSEMS_MAX)
- // SEM_VALUE_MAX :: sysconf(._SEM_VALUE_MAX)
- // SIGQUEUE_MAX :: sysconf(._SIGQUEUE_MAX)
- // SS_REPL_MAX :: sysconf(._SS_REPL_MAX)
- // STREAM_MAX :: sysconf(._STREAM_MAX)
- // SYMLOOP_MAX :: sysconf(._SYMLOOP_MAX)
- // TIMER_MAX :: sysconf(._TIMER_MAX)
- // TRACE_EVENT_NAME_MAX :: sysconf(._TRACE_EVENT_NAME_MAX)
- // TRACE_NAME_MAX :: sysconf(._TRACE_NAME_MAX)
- // TRACE_SYS_MAX :: sysconf(._TRACE_SYS_MAX)
- // TRACE_USER_EVENT_MAX :: sysconf(._TRACE_USER_EVENT_MAX)
- // TTY_NAME_MAX :: sysconf(._TTY_NAME_MAX)
- // TZNAME_MAX :: sysconf(._TZNAME_MAX)
- // The values in the following list may be constants within an implementation or may vary from
- // one pathname to another.
- // For example, file systems or directories may have different characteristics.
- //
- // A definition of one of the symbolic constants in the following list shall be omitted from the
- // <limits.h> header on specific implementations where the corresponding value is equal to or
- // greater than the stated minimum, but where the value can vary depending on the file to which
- // it is applied.
- // The actual value supported for a specific pathname shall be provided by the pathconf() function.
- // FILESIZEBITS :: pathconf(".", ._FILESIZEBITS)
- // LINK_MAX :: pathconf(foo.txt", ._LINK_MAX)
- MAX_CANON :: 255
- MAX_INPUT :: 255
- NAME_MAX :: 255
- PATH_MAX :: 1024
- PIPE_BUF :: 512
- // POSIX_ALLOC_SIZE_MIN :: pathconf("foo.txt", ._POSIX_ALLOC_SIZE_MIN)
- // POSIX_REC_INCR_XFER_SIZE :: pathconf("foo.txt", ._POSIX_REC_INCR_XFER_SIZE)
- // POSIX_REC_MAX_XFER_SIZE :: pathconf("foo.txt", ._POSIX_REC_MAX_XFER_SIZE)
- // POSIX_REC_MIN_XFER_SIZE :: pathconf("foo.txt", ._POSIX_REC_MIN_XFER_SIZE)
- // POSIX_REC_XFER_ALIGN :: pathconf("foo.txt", ._POSIX_REC_XFER_ALIGN)
- // SYMLINK_MAX :: pathconf(".", ._SYMLINK_MAX)
- // The magnitude limitations in the following list shall be fixed by specific implementations.
- // An application should assume that the value of the symbolic constant defined by <limits.h>
- // in a specific implementation is the minimum that pertains whenever the application is run
- // under that implementation.
- // A specific instance of a specific implementation may increase the value relative to that
- // supplied by <limits.h> for that implementation.
- // The actual value supported by a specific instance shall be provided by the sysconf() function.
- BC_BASE_MAX :: 99
- BC_DIM_MAX :: 2048
- BC_SCALE_MAX :: 99
- BC_STRING_MAX :: 1000
- CHARCLASS_NAME_MAX :: 14
- COLL_WEIGHTS_MAX :: 10
- EXPR_NEST_MAX :: 32
- LINE_MAX :: 2048
- NGROUPS_MAX :: 1023
- RE_DUP_MAX :: 255
- // Other limits.
-
- NL_ARGMAX :: 4096
- NL_LANGMAX :: 31
- NL_MSGMAX :: 32767
- NL_SETMAX :: 255
- NL_TEXTMAX :: 2048
- NZERO :: 0
- } else when ODIN_OS == .NetBSD {
- // A definition of one of the symbolic constants in the following list shall be omitted from
- // <limits.h> on specific implementations where the corresponding value is equal to or greater
- // than the stated minimum, but is unspecified.
- //
- // This indetermination might depend on the amount of available memory space on a specific
- // instance of a specific implementation. The actual value supported by a specific instance shall
- // be provided by the sysconf() function.
- // AIO_LISTIO_MAX :: sysconf(._AIO_LISTIO_MAX)
- // AIO_MAX :: sysconf(._AIO_MAX)
- // AIO_PRIO_DELTA_MAX :: sysconf(._AIO_PRIO_DELTA_MAX)
- ARG_MAX :: 256 * 1024
- // ATEXIT_MAX :: sysconf(._ATEXIT_MAX)
- CHILD_MAX :: 160
- // DELAYTIMER_MAX :: sysconf(._DELAYTIMER_MAX)
- // HOST_NAME_MAX :: sysconf(._HOST_NAME_MAX)
- IOV_MAX :: 1024
- LOGIN_NAME_MAX :: 17
- MQ_OPEN_MAX :: 512
- MQ_PRIO_MAX :: 32
- PAGESIZE :: PAGE_SIZE
- PAGE_SIZE :: 1 << 12
- PTHREAD_DESTRUCTOR_ITERATIONS :: 4
- PTHREAD_KEYS_MAX :: 256
- // PTHREAD_STACK_MIN :: sysconf(._THREAD_STACK_MIN)
- // RTSIG_MAX :: sysconf(._RTSIG_MAX)
- // SEM_NSEMS_MAX :: sysconf(._SEM_NSEMS_MAX)
- // SEM_VALUE_MAX :: sysconf(._SEM_VALUE_MAX)
- // SIGQUEUE_MAX :: sysconf(._SIGQUEUE_MAX)
- // SS_REPL_MAX :: sysconf(._SS_REPL_MAX)
- // STREAM_MAX :: sysconf(._STREAM_MAX)
- // SYMLOOP_MAX :: sysconf(._SYMLOOP_MAX)
- // TIMER_MAX :: sysconf(._TIMER_MAX)
- // TRACE_EVENT_NAME_MAX :: sysconf(._TRACE_EVENT_NAME_MAX)
- // TRACE_NAME_MAX :: sysconf(._TRACE_NAME_MAX)
- // TRACE_SYS_MAX :: sysconf(._TRACE_SYS_MAX)
- // TRACE_USER_EVENT_MAX :: sysconf(._TRACE_USER_EVENT_MAX)
- // TTY_NAME_MAX :: sysconf(._TTY_NAME_MAX)
- // TZNAME_MAX :: sysconf(._TZNAME_MAX)
- // The values in the following list may be constants within an implementation or may vary from
- // one pathname to another.
- // For example, file systems or directories may have different characteristics.
- //
- // A definition of one of the symbolic constants in the following list shall be omitted from the
- // <limits.h> header on specific implementations where the corresponding value is equal to or
- // greater than the stated minimum, but where the value can vary depending on the file to which
- // it is applied.
- // The actual value supported for a specific pathname shall be provided by the pathconf() function.
- // FILESIZEBITS :: pathconf(".", ._FILESIZEBITS)
- LINK_MAX :: 32767
- MAX_CANON :: 255
- MAX_INPUT :: 255
- NAME_MAX :: 511
- PATH_MAX :: 1024
- PIPE_BUF :: 512
- // POSIX_ALLOC_SIZE_MIN :: pathconf("foo.txt", ._POSIX_ALLOC_SIZE_MIN)
- // POSIX_REC_INCR_XFER_SIZE :: pathconf("foo.txt", ._POSIX_REC_INCR_XFER_SIZE)
- // POSIX_REC_MAX_XFER_SIZE :: pathconf("foo.txt", ._POSIX_REC_MAX_XFER_SIZE)
- // POSIX_REC_MIN_XFER_SIZE :: pathconf("foo.txt", ._POSIX_REC_MIN_XFER_SIZE)
- // POSIX_REC_XFER_ALIGN :: pathconf("foo.txt", ._POSIX_REC_XFER_ALIGN)
- // SYMLINK_MAX :: pathconf(".", ._SYMLINK_MAX)
- // The magnitude limitations in the following list shall be fixed by specific implementations.
- // An application should assume that the value of the symbolic constant defined by <limits.h>
- // in a specific implementation is the minimum that pertains whenever the application is run
- // under that implementation.
- // A specific instance of a specific implementation may increase the value relative to that
- // supplied by <limits.h> for that implementation.
- // The actual value supported by a specific instance shall be provided by the sysconf() function.
- BC_BASE_MAX :: max(i32)
- BC_DIM_MAX :: 65535
- BC_SCALE_MAX :: max(i32)
- BC_STRING_MAX :: max(i32)
- CHARCLASS_NAME_MAX :: 14
- COLL_WEIGHTS_MAX :: 2
- EXPR_NEST_MAX :: 32
- LINE_MAX :: 2048
- NGROUPS_MAX :: 16
- RE_DUP_MAX :: 255
- // Other limits.
-
- NL_ARGMAX :: 9
- NL_LANGMAX :: 14
- NL_MSGMAX :: 32767
- NL_SETMAX :: 255
- NL_TEXTMAX :: 2048
- NZERO :: 20
- } else when ODIN_OS == .OpenBSD {
- // A definition of one of the symbolic constants in the following list shall be omitted from
- // <limits.h> on specific implementations where the corresponding value is equal to or greater
- // than the stated minimum, but is unspecified.
- //
- // This indetermination might depend on the amount of available memory space on a specific
- // instance of a specific implementation. The actual value supported by a specific instance shall
- // be provided by the sysconf() function.
- // AIO_LISTIO_MAX :: sysconf(._AIO_LISTIO_MAX)
- // AIO_MAX :: sysconf(._AIO_MAX)
- // AIO_PRIO_DELTA_MAX :: sysconf(._AIO_PRIO_DELTA_MAX)
- ARG_MAX :: 512 * 1024
- // ATEXIT_MAX :: sysconf(._ATEXIT_MAX)
- CHILD_MAX :: 80
- // DELAYTIMER_MAX :: sysconf(._DELAYTIMER_MAX)
- // HOST_NAME_MAX :: sysconf(._HOST_NAME_MAX)
- IOV_MAX :: 1024
- LOGIN_NAME_MAX :: 32
- MQ_OPEN_MAX :: 512
- MQ_PRIO_MAX :: 32
- PAGESIZE :: PAGE_SIZE
- PAGE_SIZE :: 1 << 12
- PTHREAD_DESTRUCTOR_ITERATIONS :: 4
- PTHREAD_KEYS_MAX :: 256
- PTHREAD_STACK_MIN :: 1 << 12
- // RTSIG_MAX :: sysconf(._RTSIG_MAX)
- // SEM_NSEMS_MAX :: sysconf(._SEM_NSEMS_MAX)
- SEM_VALUE_MAX :: max(u32)
- // SIGQUEUE_MAX :: sysconf(._SIGQUEUE_MAX)
- // SS_REPL_MAX :: sysconf(._SS_REPL_MAX)
- // STREAM_MAX :: sysconf(._STREAM_MAX)
- SYMLOOP_MAX :: 32
- // TIMER_MAX :: sysconf(._TIMER_MAX)
- // TRACE_EVENT_NAME_MAX :: sysconf(._TRACE_EVENT_NAME_MAX)
- // TRACE_NAME_MAX :: sysconf(._TRACE_NAME_MAX)
- // TRACE_SYS_MAX :: sysconf(._TRACE_SYS_MAX)
- // TRACE_USER_EVENT_MAX :: sysconf(._TRACE_USER_EVENT_MAX)
- // TTY_NAME_MAX :: sysconf(._TTY_NAME_MAX)
- // TZNAME_MAX :: sysconf(._TZNAME_MAX)
- // The values in the following list may be constants within an implementation or may vary from
- // one pathname to another.
- // For example, file systems or directories may have different characteristics.
- //
- // A definition of one of the symbolic constants in the following list shall be omitted from the
- // <limits.h> header on specific implementations where the corresponding value is equal to or
- // greater than the stated minimum, but where the value can vary depending on the file to which
- // it is applied.
- // The actual value supported for a specific pathname shall be provided by the pathconf() function.
- // FILESIZEBITS :: pathconf(".", ._FILESIZEBITS)
- LINK_MAX :: 32767
- MAX_CANON :: 255
- MAX_INPUT :: 255
- NAME_MAX :: 255
- PATH_MAX :: 1024
- PIPE_BUF :: 512
- // POSIX_ALLOC_SIZE_MIN :: pathconf("foo.txt", ._POSIX_ALLOC_SIZE_MIN)
- // POSIX_REC_INCR_XFER_SIZE :: pathconf("foo.txt", ._POSIX_REC_INCR_XFER_SIZE)
- // POSIX_REC_MAX_XFER_SIZE :: pathconf("foo.txt", ._POSIX_REC_MAX_XFER_SIZE)
- // POSIX_REC_MIN_XFER_SIZE :: pathconf("foo.txt", ._POSIX_REC_MIN_XFER_SIZE)
- // POSIX_REC_XFER_ALIGN :: pathconf("foo.txt", ._POSIX_REC_XFER_ALIGN)
- SYMLINK_MAX :: PATH_MAX
- // The magnitude limitations in the following list shall be fixed by specific implementations.
- // An application should assume that the value of the symbolic constant defined by <limits.h>
- // in a specific implementation is the minimum that pertains whenever the application is run
- // under that implementation.
- // A specific instance of a specific implementation may increase the value relative to that
- // supplied by <limits.h> for that implementation.
- // The actual value supported by a specific instance shall be provided by the sysconf() function.
- BC_BASE_MAX :: max(i32)
- BC_DIM_MAX :: 65535
- BC_SCALE_MAX :: max(i32)
- BC_STRING_MAX :: max(i32)
- CHARCLASS_NAME_MAX :: 14
- COLL_WEIGHTS_MAX :: 2
- EXPR_NEST_MAX :: 32
- LINE_MAX :: 2048
- NGROUPS_MAX :: 16
- RE_DUP_MAX :: 255
- // Other limits.
-
- NL_ARGMAX :: 9
- NL_LANGMAX :: 14
- NL_MSGMAX :: 32767
- NL_SETMAX :: 255
- NL_TEXTMAX :: 255
- NZERO :: 20
- } else {
- #panic("posix is unimplemented for the current target")
- }
|