1/* 2 * Copyright 2001-2020 Haiku, Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef _LIBC_LIMITS_H_ 6#define _LIBC_LIMITS_H_ 7 /* Note: The header guard is checked in gcc's limits.h. */ 8 9 10#include <config/types.h> 11 12#include <float.h> /* for DBL_DIG, FLT_DIG, etc */ 13 14#include __HAIKU_ARCH_HEADER(limits.h) 15 16 17#define LONGLONG_MIN (-9223372036854775807LL - 1) /* these are Be specific */ 18#define LONGLONG_MAX (9223372036854775807LL) 19#define ULONGLONG_MAX (0xffffffffffffffffULL) 20 21#define ULLONG_MAX ULONGLONG_MAX 22#define LLONG_MAX LONGLONG_MAX 23#define LLONG_MIN LONGLONG_MIN 24 25#define MB_LEN_MAX 16 26 27#define OFF_MAX LLONG_MAX 28#define OFF_MIN LLONG_MIN 29 30#define ARG_MAX (128 * 1024) 31#define ATEXIT_MAX (32) 32#define CHILD_MAX (1024) 33#define IOV_MAX (1024) 34#define FILESIZEBITS (64) 35#define HOST_NAME_MAX (255) 36#define LINE_MAX (2048) 37#define LINK_MAX (1) 38#define LOGIN_NAME_MAX (32) 39#define MAX_CANON (255) 40#define MAX_INPUT (255) 41#define NAME_MAX (256) 42#define NGROUPS_MAX (32) 43#define OPEN_MAX (128) 44#define PATH_MAX (1024) 45#define PIPE_BUF (4 * 1024) 46#define PIPE_MAX (512) 47#define PTHREAD_KEYS_MAX (256) 48#define PTHREAD_STACK_MIN (2 * PAGESIZE) 49#define PTHREAD_DESTRUCTOR_ITERATIONS (4) 50#define SSIZE_MAX __HAIKU_SADDR_MAX 51#define TTY_NAME_MAX (256) 52#define TZNAME_MAX (32) 53#define SYMLINK_MAX (1024) 54#define SYMLOOP_MAX (16) 55 56#define _POSIX_ARG_MAX (128 * 1024) 57#define _POSIX_CHILD_MAX (1024) 58#define _POSIX_HOST_NAME_MAX (255) 59#define _POSIX_LINK_MAX (1) 60#define _POSIX_LOGIN_NAME_MAX (9) 61#define _POSIX_MAX_CANON (255) 62#define _POSIX_MAX_INPUT (255) 63#define _POSIX_NAME_MAX (255) 64#define _POSIX_NGROUPS_MAX (8) 65#define _POSIX_OPEN_MAX (128) 66#define _POSIX_PATH_MAX (1024) 67#define _POSIX_PIPE_BUF (512) 68#define _POSIX_SSIZE_MAX __HAIKU_SADDR_MAX 69#define _POSIX_STREAM_MAX (8) 70#define _POSIX_TTY_NAME_MAX (256) 71#define _POSIX_TZNAME_MAX (3) 72#define _POSIX_SEM_VALUE_MAX INT_MAX 73#define _POSIX_SIGQUEUE_MAX 32 74#define _POSIX_RTSIG_MAX 8 75#define _POSIX_CLOCKRES_MIN 20000000 76#define _POSIX_TIMER_MAX 32 77#define _POSIX_DELAYTIMER_MAX 32 78#define _POSIX_SEM_NSEMS_MAX (256) 79 80#define _POSIX2_LINE_MAX (2048) 81 82#define BC_BASE_MAX (99) 83#define BC_DIM_MAX (2048) 84#define BC_SCALE_MAX (99) 85#define BC_STRING_MAX (1000) 86 87 88#define COLL_WEIGHTS_MAX (10) 89#define EXPR_NEST_MAX (32) 90#define LINE_MAX (2048) 91 92#define MQ_OPEN_MAX (0) /* MSG */ 93#define MQ_PRIO_MAX (0) /* MSG */ 94 95#define RE_DUP_MAX (0x7fff) 96 97#ifdef _XOPEN_SOURCE 98/* The XSI name for PAGESIZE, with extra underscore included. Only define if 99 * _XOPEN_SOURCE was requested, otherwise it could conflict with the application. 100 */ 101#define PAGE_SIZE PAGESIZE 102/* XSI extension: Default process priority. This is used by the implementation 103 * of getpriority(), setpriority() and nice(). */ 104#define NZERO 20 105#endif 106 107/* _GCC_LIMITS_H_ is defined by GCC's internal limits.h to avoid 108 * collisions with any defines in this file. 109 */ 110#ifndef _GCC_LIMITS_H_ 111# include_next <limits.h> 112#endif 113 114#endif /* _LIBC_LIMITS_H_ */ 115