haiku/headers/posix/limits.h
Semion Dimov d53856a1b6 Added missing posixoptions and sysconf constants according POSIX.1-2017 standard
Change-Id: I2721ea4f2c3dbe0ef6a11c3a61da6034b4a7fd48
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4371
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2022-12-23 01:57:05 +00:00

115 lines
3.1 KiB
C

/*
* Copyright 2001-2020 Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _LIBC_LIMITS_H_
#define _LIBC_LIMITS_H_
/* Note: The header guard is checked in gcc's limits.h. */
#include <config/types.h>
#include <float.h> /* for DBL_DIG, FLT_DIG, etc */
#include __HAIKU_ARCH_HEADER(limits.h)
#define LONGLONG_MIN (-9223372036854775807LL - 1) /* these are Be specific */
#define LONGLONG_MAX (9223372036854775807LL)
#define ULONGLONG_MAX (0xffffffffffffffffULL)
#define ULLONG_MAX ULONGLONG_MAX
#define LLONG_MAX LONGLONG_MAX
#define LLONG_MIN LONGLONG_MIN
#define MB_LEN_MAX 16
#define OFF_MAX LLONG_MAX
#define OFF_MIN LLONG_MIN
#define ARG_MAX (128 * 1024)
#define ATEXIT_MAX (32)
#define CHILD_MAX (1024)
#define IOV_MAX (1024)
#define FILESIZEBITS (64)
#define HOST_NAME_MAX (255)
#define LINE_MAX (2048)
#define LINK_MAX (1)
#define LOGIN_NAME_MAX (32)
#define MAX_CANON (255)
#define MAX_INPUT (255)
#define NAME_MAX (256)
#define NGROUPS_MAX (32)
#define OPEN_MAX (128)
#define PATH_MAX (1024)
#define PIPE_BUF (4 * 1024)
#define PIPE_MAX (512)
#define PTHREAD_KEYS_MAX (256)
#define PTHREAD_STACK_MIN (2 * PAGESIZE)
#define PTHREAD_DESTRUCTOR_ITERATIONS (4)
#define SSIZE_MAX __HAIKU_SADDR_MAX
#define TTY_NAME_MAX (256)
#define TZNAME_MAX (32)
#define SYMLINK_MAX (1024)
#define SYMLOOP_MAX (16)
#define _POSIX_ARG_MAX (128 * 1024)
#define _POSIX_CHILD_MAX (1024)
#define _POSIX_HOST_NAME_MAX (255)
#define _POSIX_LINK_MAX (1)
#define _POSIX_LOGIN_NAME_MAX (9)
#define _POSIX_MAX_CANON (255)
#define _POSIX_MAX_INPUT (255)
#define _POSIX_NAME_MAX (255)
#define _POSIX_NGROUPS_MAX (8)
#define _POSIX_OPEN_MAX (128)
#define _POSIX_PATH_MAX (1024)
#define _POSIX_PIPE_BUF (512)
#define _POSIX_SSIZE_MAX __HAIKU_SADDR_MAX
#define _POSIX_STREAM_MAX (8)
#define _POSIX_TTY_NAME_MAX (256)
#define _POSIX_TZNAME_MAX (3)
#define _POSIX_SEM_VALUE_MAX INT_MAX
#define _POSIX_SIGQUEUE_MAX 32
#define _POSIX_RTSIG_MAX 8
#define _POSIX_CLOCKRES_MIN 20000000
#define _POSIX_TIMER_MAX 32
#define _POSIX_DELAYTIMER_MAX 32
#define _POSIX_SEM_NSEMS_MAX (256)
#define _POSIX2_LINE_MAX (2048)
#define BC_BASE_MAX (99)
#define BC_DIM_MAX (2048)
#define BC_SCALE_MAX (99)
#define BC_STRING_MAX (1000)
#define COLL_WEIGHTS_MAX (10)
#define EXPR_NEST_MAX (32)
#define LINE_MAX (2048)
#define MQ_OPEN_MAX (0) /* MSG */
#define MQ_PRIO_MAX (0) /* MSG */
#define RE_DUP_MAX (255) /* for conformance, redefined in regex.h */
#ifdef _XOPEN_SOURCE
/* The XSI name for PAGESIZE, with extra underscore included. Only define if
* _XOPEN_SOURCE was requested, otherwise it could conflict with the application.
*/
#define PAGE_SIZE PAGESIZE
/* XSI extension: Default process priority. This is used by the implementation
* of getpriority(), setpriority() and nice(). */
#define NZERO 20
#endif
/* _GCC_LIMITS_H_ is defined by GCC's internal limits.h to avoid
* collisions with any defines in this file.
*/
#ifndef _GCC_LIMITS_H_
# include_next <limits.h>
#endif
#endif /* _LIBC_LIMITS_H_ */