1*4a5d661aSToomas Soome /*- 2*4a5d661aSToomas Soome * Copyright (c) 1988, 1993 3*4a5d661aSToomas Soome * The Regents of the University of California. All rights reserved. 4*4a5d661aSToomas Soome * 5*4a5d661aSToomas Soome * Redistribution and use in source and binary forms, with or without 6*4a5d661aSToomas Soome * modification, are permitted provided that the following conditions 7*4a5d661aSToomas Soome * are met: 8*4a5d661aSToomas Soome * 1. Redistributions of source code must retain the above copyright 9*4a5d661aSToomas Soome * notice, this list of conditions and the following disclaimer. 10*4a5d661aSToomas Soome * 2. Redistributions in binary form must reproduce the above copyright 11*4a5d661aSToomas Soome * notice, this list of conditions and the following disclaimer in the 12*4a5d661aSToomas Soome * documentation and/or other materials provided with the distribution. 13*4a5d661aSToomas Soome * 3. Neither the name of the University nor the names of its contributors 14*4a5d661aSToomas Soome * may be used to endorse or promote products derived from this software 15*4a5d661aSToomas Soome * without specific prior written permission. 16*4a5d661aSToomas Soome * 17*4a5d661aSToomas Soome * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 18*4a5d661aSToomas Soome * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19*4a5d661aSToomas Soome * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20*4a5d661aSToomas Soome * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 21*4a5d661aSToomas Soome * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22*4a5d661aSToomas Soome * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23*4a5d661aSToomas Soome * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24*4a5d661aSToomas Soome * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25*4a5d661aSToomas Soome * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26*4a5d661aSToomas Soome * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27*4a5d661aSToomas Soome * SUCH DAMAGE. 28*4a5d661aSToomas Soome * 29*4a5d661aSToomas Soome * @(#)limits.h 8.2 (Berkeley) 1/4/94 30*4a5d661aSToomas Soome * $FreeBSD$ 31*4a5d661aSToomas Soome */ 32*4a5d661aSToomas Soome 33*4a5d661aSToomas Soome #ifndef _LIMITS_H_ 34*4a5d661aSToomas Soome #define _LIMITS_H_ 35*4a5d661aSToomas Soome 36*4a5d661aSToomas Soome #include <sys/cdefs.h> 37*4a5d661aSToomas Soome 38*4a5d661aSToomas Soome #if __POSIX_VISIBLE 39*4a5d661aSToomas Soome #define _POSIX_ARG_MAX 4096 40*4a5d661aSToomas Soome #define _POSIX_LINK_MAX 8 41*4a5d661aSToomas Soome #define _POSIX_MAX_CANON 255 42*4a5d661aSToomas Soome #define _POSIX_MAX_INPUT 255 43*4a5d661aSToomas Soome #define _POSIX_NAME_MAX 14 44*4a5d661aSToomas Soome #define _POSIX_PIPE_BUF 512 45*4a5d661aSToomas Soome #define _POSIX_SSIZE_MAX 32767 46*4a5d661aSToomas Soome #define _POSIX_STREAM_MAX 8 47*4a5d661aSToomas Soome 48*4a5d661aSToomas Soome #if __POSIX_VISIBLE >= 200112 49*4a5d661aSToomas Soome #define _POSIX_CHILD_MAX 25 50*4a5d661aSToomas Soome #define _POSIX_NGROUPS_MAX 8 51*4a5d661aSToomas Soome #define _POSIX_OPEN_MAX 20 52*4a5d661aSToomas Soome #define _POSIX_PATH_MAX 256 53*4a5d661aSToomas Soome #define _POSIX_TZNAME_MAX 6 54*4a5d661aSToomas Soome #else 55*4a5d661aSToomas Soome #define _POSIX_CHILD_MAX 6 56*4a5d661aSToomas Soome #define _POSIX_NGROUPS_MAX 0 57*4a5d661aSToomas Soome #define _POSIX_OPEN_MAX 16 58*4a5d661aSToomas Soome #define _POSIX_PATH_MAX 255 59*4a5d661aSToomas Soome #define _POSIX_TZNAME_MAX 3 60*4a5d661aSToomas Soome #endif 61*4a5d661aSToomas Soome 62*4a5d661aSToomas Soome #if __POSIX_VISIBLE >= 200112 63*4a5d661aSToomas Soome #define BC_BASE_MAX 99 /* max ibase/obase values in bc(1) */ 64*4a5d661aSToomas Soome #define BC_DIM_MAX 2048 /* max array elements in bc(1) */ 65*4a5d661aSToomas Soome #define BC_SCALE_MAX 99 /* max scale value in bc(1) */ 66*4a5d661aSToomas Soome #define BC_STRING_MAX 1000 /* max const string length in bc(1) */ 67*4a5d661aSToomas Soome #define CHARCLASS_NAME_MAX 14 /* max character class name size */ 68*4a5d661aSToomas Soome #define COLL_WEIGHTS_MAX 10 /* max weights for order keyword */ 69*4a5d661aSToomas Soome #define EXPR_NEST_MAX 32 /* max expressions nested in expr(1) */ 70*4a5d661aSToomas Soome #define LINE_MAX 2048 /* max bytes in an input line */ 71*4a5d661aSToomas Soome #define RE_DUP_MAX 255 /* max RE's in interval notation */ 72*4a5d661aSToomas Soome 73*4a5d661aSToomas Soome #define _POSIX2_BC_BASE_MAX 99 74*4a5d661aSToomas Soome #define _POSIX2_BC_DIM_MAX 2048 75*4a5d661aSToomas Soome #define _POSIX2_BC_SCALE_MAX 99 76*4a5d661aSToomas Soome #define _POSIX2_BC_STRING_MAX 1000 77*4a5d661aSToomas Soome #define _POSIX2_CHARCLASS_NAME_MAX 14 78*4a5d661aSToomas Soome #define _POSIX2_COLL_WEIGHTS_MAX 2 79*4a5d661aSToomas Soome #define _POSIX2_EQUIV_CLASS_MAX 2 80*4a5d661aSToomas Soome #define _POSIX2_EXPR_NEST_MAX 32 81*4a5d661aSToomas Soome #define _POSIX2_LINE_MAX 2048 82*4a5d661aSToomas Soome #define _POSIX2_RE_DUP_MAX 255 83*4a5d661aSToomas Soome #endif 84*4a5d661aSToomas Soome #endif 85*4a5d661aSToomas Soome 86*4a5d661aSToomas Soome #if __POSIX_VISIBLE >= 199309 87*4a5d661aSToomas Soome #define _POSIX_AIO_LISTIO_MAX 2 88*4a5d661aSToomas Soome #define _POSIX_AIO_MAX 1 89*4a5d661aSToomas Soome #define _POSIX_DELAYTIMER_MAX 32 90*4a5d661aSToomas Soome #define _POSIX_MQ_OPEN_MAX 8 91*4a5d661aSToomas Soome #define _POSIX_MQ_PRIO_MAX 32 92*4a5d661aSToomas Soome #define _POSIX_RTSIG_MAX 8 93*4a5d661aSToomas Soome #define _POSIX_SEM_NSEMS_MAX 256 94*4a5d661aSToomas Soome #define _POSIX_SEM_VALUE_MAX 32767 95*4a5d661aSToomas Soome #define _POSIX_SIGQUEUE_MAX 32 96*4a5d661aSToomas Soome #define _POSIX_TIMER_MAX 32 97*4a5d661aSToomas Soome 98*4a5d661aSToomas Soome #define _POSIX_CLOCKRES_MIN 20000000 99*4a5d661aSToomas Soome #endif 100*4a5d661aSToomas Soome 101*4a5d661aSToomas Soome #if __POSIX_VISIBLE >= 199506 102*4a5d661aSToomas Soome #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 103*4a5d661aSToomas Soome #define _POSIX_THREAD_KEYS_MAX 128 104*4a5d661aSToomas Soome #define _POSIX_THREAD_THREADS_MAX 64 105*4a5d661aSToomas Soome #endif 106*4a5d661aSToomas Soome 107*4a5d661aSToomas Soome #if __POSIX_VISIBLE >= 200112 108*4a5d661aSToomas Soome #define _POSIX_HOST_NAME_MAX 255 109*4a5d661aSToomas Soome #define _POSIX_LOGIN_NAME_MAX 9 110*4a5d661aSToomas Soome #define _POSIX_SS_REPL_MAX 4 111*4a5d661aSToomas Soome #define _POSIX_SYMLINK_MAX 255 112*4a5d661aSToomas Soome #define _POSIX_SYMLOOP_MAX 8 113*4a5d661aSToomas Soome #define _POSIX_TRACE_EVENT_NAME_MAX 30 114*4a5d661aSToomas Soome #define _POSIX_TRACE_NAME_MAX 8 115*4a5d661aSToomas Soome #define _POSIX_TRACE_SYS_MAX 8 116*4a5d661aSToomas Soome #define _POSIX_TRACE_USER_EVENT_MAX 32 117*4a5d661aSToomas Soome #define _POSIX_TTY_NAME_MAX 9 118*4a5d661aSToomas Soome 119*4a5d661aSToomas Soome #define _POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAX 120*4a5d661aSToomas Soome #endif 121*4a5d661aSToomas Soome 122*4a5d661aSToomas Soome #if __XSI_VISIBLE || __POSIX_VISIBLE >= 200809 123*4a5d661aSToomas Soome #define NL_ARGMAX 99 /* max # of position args for printf */ 124*4a5d661aSToomas Soome #define NL_MSGMAX 32767 125*4a5d661aSToomas Soome #define NL_SETMAX 255 126*4a5d661aSToomas Soome #define NL_TEXTMAX 2048 127*4a5d661aSToomas Soome #endif 128*4a5d661aSToomas Soome 129*4a5d661aSToomas Soome #if __XSI_VISIBLE 130*4a5d661aSToomas Soome #define _XOPEN_IOV_MAX 16 131*4a5d661aSToomas Soome #define _XOPEN_NAME_MAX 255 132*4a5d661aSToomas Soome #define _XOPEN_PATH_MAX 1024 133*4a5d661aSToomas Soome #define PASS_MAX 128 /* _PASSWORD_LEN from <pwd.h> */ 134*4a5d661aSToomas Soome 135*4a5d661aSToomas Soome #define NL_LANGMAX 31 /* max LANG name length */ 136*4a5d661aSToomas Soome #define NL_NMAX 1 137*4a5d661aSToomas Soome #endif 138*4a5d661aSToomas Soome 139*4a5d661aSToomas Soome #define MB_LEN_MAX 6 /* 31-bit UTF-8 */ 140*4a5d661aSToomas Soome 141*4a5d661aSToomas Soome #include <sys/limits.h> 142*4a5d661aSToomas Soome 143*4a5d661aSToomas Soome #if __POSIX_VISIBLE 144*4a5d661aSToomas Soome #include <sys/syslimits.h> 145*4a5d661aSToomas Soome #endif 146*4a5d661aSToomas Soome 147*4a5d661aSToomas Soome #endif /* !_LIMITS_H_ */ 148