1*7a4e5fc4Stedu /* $OpenBSD: limits.h,v 1.19 2015/01/20 22:09:50 tedu Exp $ */ 2df930be7Sderaadt /* $NetBSD: limits.h,v 1.7 1994/10/26 00:56:00 cgd Exp $ */ 3df930be7Sderaadt 4df930be7Sderaadt /* 5df930be7Sderaadt * Copyright (c) 1988 The Regents of the University of California. 6df930be7Sderaadt * All rights reserved. 7df930be7Sderaadt * 8df930be7Sderaadt * Redistribution and use in source and binary forms, with or without 9df930be7Sderaadt * modification, are permitted provided that the following conditions 10df930be7Sderaadt * are met: 11df930be7Sderaadt * 1. Redistributions of source code must retain the above copyright 12df930be7Sderaadt * notice, this list of conditions and the following disclaimer. 13df930be7Sderaadt * 2. Redistributions in binary form must reproduce the above copyright 14df930be7Sderaadt * notice, this list of conditions and the following disclaimer in the 15df930be7Sderaadt * documentation and/or other materials provided with the distribution. 16e33d3bd3Smillert * 3. Neither the name of the University nor the names of its contributors 17df930be7Sderaadt * may be used to endorse or promote products derived from this software 18df930be7Sderaadt * without specific prior written permission. 19df930be7Sderaadt * 20df930be7Sderaadt * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 21df930be7Sderaadt * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22df930be7Sderaadt * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23df930be7Sderaadt * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 24df930be7Sderaadt * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25df930be7Sderaadt * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26df930be7Sderaadt * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27df930be7Sderaadt * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28df930be7Sderaadt * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29df930be7Sderaadt * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30df930be7Sderaadt * SUCH DAMAGE. 31df930be7Sderaadt * 32df930be7Sderaadt * @(#)limits.h 5.9 (Berkeley) 4/3/91 33df930be7Sderaadt */ 34df930be7Sderaadt 35df930be7Sderaadt #ifndef _LIMITS_H_ 36df930be7Sderaadt #define _LIMITS_H_ 37df930be7Sderaadt 3852a0e603Smillert #include <sys/cdefs.h> 3952a0e603Smillert 4052a0e603Smillert #if __POSIX_VISIBLE 41baa72792Stholo #define _POSIX_ARG_MAX 4096 42fbc49bc6Smillert #define _POSIX_CHILD_MAX 25 43df930be7Sderaadt #define _POSIX_LINK_MAX 8 44df930be7Sderaadt #define _POSIX_MAX_CANON 255 45df930be7Sderaadt #define _POSIX_MAX_INPUT 255 46df930be7Sderaadt #define _POSIX_NAME_MAX 14 473492c5b9Smillert #define _POSIX_PATH_MAX 256 48df930be7Sderaadt #define _POSIX_PIPE_BUF 512 49fbc49bc6Smillert #define _POSIX_RE_DUP_MAX 255 50e3d7c70aSguenther #define _POSIX_SEM_NSEMS_MAX 256 51e3d7c70aSguenther #define _POSIX_SEM_VALUE_MAX 32767 52baa72792Stholo #define _POSIX_SSIZE_MAX 32767 53df930be7Sderaadt #define _POSIX_STREAM_MAX 8 543492c5b9Smillert #define _POSIX_SYMLINK_MAX 255 55fbc49bc6Smillert #define _POSIX_SYMLOOP_MAX 8 56e3d7c70aSguenther #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 57e3d7c70aSguenther #define _POSIX_THREAD_KEYS_MAX 128 58e3d7c70aSguenther #define _POSIX_THREAD_THREADS_MAX 4 59e3d7c70aSguenther 60ac8ea607Skettenis #if __POSIX_VISIBLE >= 200112 615b8036b3Sguenther #define _POSIX_CLOCKRES_MIN 20000000 62e3d7c70aSguenther #define _POSIX_NGROUPS_MAX 8 63e3d7c70aSguenther #define _POSIX_OPEN_MAX 20 64ac8ea607Skettenis #define _POSIX_TZNAME_MAX 6 65ac8ea607Skettenis #else 66e3d7c70aSguenther #define _POSIX_NGROUPS_MAX 0 67e3d7c70aSguenther #define _POSIX_OPEN_MAX 16 68df930be7Sderaadt #define _POSIX_TZNAME_MAX 3 69ac8ea607Skettenis #endif 70df930be7Sderaadt 71df930be7Sderaadt #define _POSIX2_BC_BASE_MAX 99 72df930be7Sderaadt #define _POSIX2_BC_DIM_MAX 2048 73df930be7Sderaadt #define _POSIX2_BC_SCALE_MAX 99 74df930be7Sderaadt #define _POSIX2_BC_STRING_MAX 1000 75df930be7Sderaadt #define _POSIX2_COLL_WEIGHTS_MAX 2 76df930be7Sderaadt #define _POSIX2_EXPR_NEST_MAX 32 77df930be7Sderaadt #define _POSIX2_LINE_MAX 2048 78fbc49bc6Smillert #define _POSIX2_RE_DUP_MAX _POSIX_RE_DUP_MAX 795b8036b3Sguenther #define _POSIX2_CHARCLASS_NAME_MAX 14 80df930be7Sderaadt 8152a0e603Smillert #if __POSIX_VISIBLE >= 200112 828729246fSkettenis #define _POSIX_HOST_NAME_MAX 255 833fbcb92bSmillert #define _POSIX_LOGIN_NAME_MAX 9 /* includes trailing NUL */ 848729246fSkettenis #define _POSIX_TTY_NAME_MAX 9 /* includes trailing NUL */ 853fbcb92bSmillert #endif /* __POSIX_VISIBLE >= 200112 */ 8652a0e603Smillert #endif /* __POSIX_VISIBLE */ 8752a0e603Smillert 88e3d7c70aSguenther #if __XPG_VISIBLE || __POSIX_VISIBLE >= 200809 89df930be7Sderaadt #define NL_ARGMAX 9 90df930be7Sderaadt #define NL_LANGMAX 14 91df930be7Sderaadt #define NL_MSGMAX 32767 92df930be7Sderaadt #define NL_SETMAX 255 93df930be7Sderaadt #define NL_TEXTMAX 255 94e3d7c70aSguenther #endif 9520ff08b7Sderaadt 9651e5ef5dSguenther #if __XPG_VISIBLE 97e3d7c70aSguenther # if __XPG_VISIBLE < 600 98e3d7c70aSguenther # define PASS_MAX 128 /* _PASSWORD_LEN from <pwd.h> */ 99*7a4e5fc4Stedu # define TMP_MAX 0x7fffffff /* more, but don't overflow int */ 100e3d7c70aSguenther # endif 101e3d7c70aSguenther 102e3d7c70aSguenther # if __XPG_VISIBLE < 700 103e3d7c70aSguenther # define NL_NMAX 1 104e3d7c70aSguenther # endif 105e3d7c70aSguenther 106e3d7c70aSguenther #define _XOPEN_IOV_MAX 16 107e3d7c70aSguenther #define _XOPEN_NAME_MAX 255 108e3d7c70aSguenther #define _XOPEN_PATH_MAX 1024 10952a0e603Smillert #endif /* __XPG_VISIBLE */ 11092efb735Sd 1115733d2deSespie #include <sys/limits.h> 11252a0e603Smillert 11352a0e603Smillert #if __POSIX_VISIBLE 114df930be7Sderaadt #include <sys/syslimits.h> 11552a0e603Smillert #endif 116df930be7Sderaadt 117df930be7Sderaadt #endif /* !_LIMITS_H_ */ 118