Path: blob/main/system/lib/libc/musl/include/limits.h
6171 views
#ifndef _LIMITS_H1#define _LIMITS_H23#include <features.h>45#include <bits/alltypes.h> /* __LONG_MAX */67/* Support signed or unsigned plain-char */89#if '\xff' > 010#define CHAR_MIN 011#define CHAR_MAX 25512#else13#define CHAR_MIN (-128)14#define CHAR_MAX 12715#endif1617#define CHAR_BIT 818#define SCHAR_MIN (-128)19#define SCHAR_MAX 12720#define UCHAR_MAX 25521#define SHRT_MIN (-1-0x7fff)22#define SHRT_MAX 0x7fff23#define USHRT_MAX 0xffff24#define INT_MIN (-1-0x7fffffff)25#define INT_MAX 0x7fffffff26#define UINT_MAX 0xffffffffU27#define LONG_MIN (-LONG_MAX-1)28#define LONG_MAX __LONG_MAX29#define ULONG_MAX (2UL*LONG_MAX+1)30#define LLONG_MIN (-LLONG_MAX-1)31#define LLONG_MAX 0x7fffffffffffffffLL32#define ULLONG_MAX (2ULL*LLONG_MAX+1)3334#define MB_LEN_MAX 43536#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \37|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)3839#include <bits/limits.h>4041#define PIPE_BUF 409642#define FILESIZEBITS 6443#ifndef NAME_MAX44#define NAME_MAX 25545#endif46#define PATH_MAX 409647#define NGROUPS_MAX 3248#define ARG_MAX 13107249#define IOV_MAX 102450#define SYMLOOP_MAX 4051#define WORD_BIT 3252#define SSIZE_MAX LONG_MAX53#ifdef __EMSCRIPTEN__54// We depend on the JS API to reteive the local name for the current55// timezone and this can sometimes exceed 6 chars. For example:56// TZ='Asia/Kathmandu' yields 'GMT+5:45'.57#define TZNAME_MAX 1658#else59#define TZNAME_MAX 660#endif61#define TTY_NAME_MAX 3262#define HOST_NAME_MAX 2556364#if LONG_MAX == 0x7fffffffL65#define LONG_BIT 3266#else67#define LONG_BIT 6468#endif6970/* Implementation choices... */7172#define PTHREAD_KEYS_MAX 12873#define PTHREAD_STACK_MIN 204874#define PTHREAD_DESTRUCTOR_ITERATIONS 475#define SEM_VALUE_MAX 0x7fffffff76#define SEM_NSEMS_MAX 25677#define DELAYTIMER_MAX 0x7fffffff78#define MQ_PRIO_MAX 3276879#define LOGIN_NAME_MAX 2568081/* Arbitrary numbers... */8283#define BC_BASE_MAX 9984#define BC_DIM_MAX 204885#define BC_SCALE_MAX 9986#define BC_STRING_MAX 100087#define CHARCLASS_NAME_MAX 1488#define COLL_WEIGHTS_MAX 289#define EXPR_NEST_MAX 3290#define LINE_MAX 409691#define RE_DUP_MAX 2559293#define NL_ARGMAX 994#define NL_MSGMAX 3276795#define NL_SETMAX 25596#define NL_TEXTMAX 20489798#endif99100#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE)101102#ifdef PAGESIZE103#define PAGE_SIZE PAGESIZE104#endif105#define NZERO 20106#define NL_LANGMAX 32107108#endif109110#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) \111|| (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700)112113#define NL_NMAX 16114115#endif116117/* POSIX/SUS requirements follow. These numbers come directly118* from SUS and have nothing to do with the host system. */119120#define _POSIX_AIO_LISTIO_MAX 2121#define _POSIX_AIO_MAX 1122#define _POSIX_ARG_MAX 4096123#define _POSIX_CHILD_MAX 25124#define _POSIX_CLOCKRES_MIN 20000000125#define _POSIX_DELAYTIMER_MAX 32126#define _POSIX_HOST_NAME_MAX 255127#define _POSIX_LINK_MAX 8128#define _POSIX_LOGIN_NAME_MAX 9129#define _POSIX_MAX_CANON 255130#define _POSIX_MAX_INPUT 255131#define _POSIX_MQ_OPEN_MAX 8132#define _POSIX_MQ_PRIO_MAX 32133#define _POSIX_NAME_MAX 14134#define _POSIX_NGROUPS_MAX 8135#define _POSIX_OPEN_MAX 20136#define _POSIX_PATH_MAX 256137#define _POSIX_PIPE_BUF 512138#define _POSIX_RE_DUP_MAX 255139#define _POSIX_RTSIG_MAX 8140#define _POSIX_SEM_NSEMS_MAX 256141#define _POSIX_SEM_VALUE_MAX 32767142#define _POSIX_SIGQUEUE_MAX 32143#define _POSIX_SSIZE_MAX 32767144#define _POSIX_STREAM_MAX 8145#define _POSIX_SS_REPL_MAX 4146#define _POSIX_SYMLINK_MAX 255147#define _POSIX_SYMLOOP_MAX 8148#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4149#define _POSIX_THREAD_KEYS_MAX 128150#define _POSIX_THREAD_THREADS_MAX 64151#define _POSIX_TIMER_MAX 32152#define _POSIX_TRACE_EVENT_NAME_MAX 30153#define _POSIX_TRACE_NAME_MAX 8154#define _POSIX_TRACE_SYS_MAX 8155#define _POSIX_TRACE_USER_EVENT_MAX 32156#define _POSIX_TTY_NAME_MAX 9157#define _POSIX_TZNAME_MAX 6158#define _POSIX2_BC_BASE_MAX 99159#define _POSIX2_BC_DIM_MAX 2048160#define _POSIX2_BC_SCALE_MAX 99161#define _POSIX2_BC_STRING_MAX 1000162#define _POSIX2_CHARCLASS_NAME_MAX 14163#define _POSIX2_COLL_WEIGHTS_MAX 2164#define _POSIX2_EXPR_NEST_MAX 32165#define _POSIX2_LINE_MAX 2048166#define _POSIX2_RE_DUP_MAX 255167168#define _XOPEN_IOV_MAX 16169#define _XOPEN_NAME_MAX 255170#define _XOPEN_PATH_MAX 1024171172#endif173174175