#include <sys/syslimits.h>

sys/syslimits.h

$NetBSD: syslimits.h,v 1.15 1997/06/25 00:48:09 lukem Exp $
includes: sys/cdefs.h
23 macros

macroARG_MAX

max bytes for an exec function
#define ARG_MAX (1024 * 1024)

macroCHILD_MAX

#define CHILD_MAX 266
max simultaneous processes

macroGID_MAX

#define GID_MAX 2147483647U
max value for a gid_t (2^31-2)

macroMAX_CANON

#define MAX_CANON 1024
max bytes in term canon input line

macroMAX_INPUT

#define MAX_INPUT 1024
max bytes in terminal input

macroNAME_MAX

NOTE: Many filesystems (including HFS & APFS) may support names longer than `NAME_MAX` bytes. See manpage for `getdirentries` and `readdir` for details.
#define NAME_MAX 255
max bytes in a file name

macroNGROUPS_MAX

#define NGROUPS_MAX 16
max supplemental group id's

macroUID_MAX

#define UID_MAX 2147483647U
max value for a uid_t (2^31-2)

macroOPEN_MAX

#define OPEN_MAX 10240
max open files per process - todo, make a config option?

macroPATH_MAX

#define PATH_MAX 1024
max bytes in pathname

macroPIPE_BUF

#define PIPE_BUF 512
max bytes for atomic pipe writes

macroBC_BASE_MAX

#define BC_BASE_MAX 99
max ibase/obase values in bc(1)

macroBC_DIM_MAX

#define BC_DIM_MAX 2048
max array elements in bc(1)

macroBC_SCALE_MAX

#define BC_SCALE_MAX 99
max scale value in bc(1)

macroBC_STRING_MAX

#define BC_STRING_MAX 1000
max const string length in bc(1)

macroCHARCLASS_NAME_MAX

#define CHARCLASS_NAME_MAX 14
max character class name size

macroCOLL_WEIGHTS_MAX

#define COLL_WEIGHTS_MAX 2
max weights for order keyword

macroEQUIV_CLASS_MAX

#define EQUIV_CLASS_MAX 2

macroEXPR_NEST_MAX

#define EXPR_NEST_MAX 32
max expressions nested in expr(1)

macroLINE_MAX

#define LINE_MAX 2048
max bytes in an input line

macroRE_DUP_MAX

#define RE_DUP_MAX 255
max RE's in interval notation

macroNZERO

#define NZERO 20
default priority [XSI]