Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

limits.h

00001 /*-
00002  * Copyright (c) 1988, 1993
00003  *      The Regents of the University of California.  All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  * 1. Redistributions of source code must retain the above copyright
00009  *    notice, this list of conditions and the following disclaimer.
00010  * 2. Redistributions in binary form must reproduce the above copyright
00011  *    notice, this list of conditions and the following disclaimer in the
00012  *    documentation and/or other materials provided with the distribution.
00013  * 3. All advertising materials mentioning features or use of this software
00014  *    must display the following acknowledgement:
00015  *      This product includes software developed by the University of
00016  *      California, Berkeley and its contributors.
00017  * 4. Neither the name of the University nor the names of its contributors
00018  *    may be used to endorse or promote products derived from this software
00019  *    without specific prior written permission.
00020  *
00021  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
00022  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00023  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00024  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
00025  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00026  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
00027  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
00028  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
00029  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
00030  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00031  * SUCH DAMAGE.
00032  *
00033  *      @(#)limits.h    8.2 (Berkeley) 1/4/94
00034  * $FreeBSD: src/include/limits.h,v 1.16 2003/04/29 13:35:58 kan Exp $
00035  */
00036 
00037 #ifndef _LIMITS_H_
00038 #define _LIMITS_H_
00039 
00040 #include <sys/cdefs.h>
00041 
00042 #if __POSIX_VISIBLE
00043 #define _POSIX_ARG_MAX          4096
00044 #define _POSIX_CHILD_MAX        25
00045 #define _POSIX_LINK_MAX         8
00046 #define _POSIX_MAX_CANON        255
00047 #define _POSIX_MAX_INPUT        255
00048 #define _POSIX_NAME_MAX         14
00049 #define _POSIX_NGROUPS_MAX      8
00050 #define _POSIX_OPEN_MAX         20
00051 #define _POSIX_PATH_MAX         256
00052 #define _POSIX_PIPE_BUF         512
00053 #define _POSIX_SSIZE_MAX        32767
00054 #define _POSIX_STREAM_MAX       8
00055 #define _POSIX_TZNAME_MAX       6
00056 
00057 #define BC_BASE_MAX                99   /* max ibase/obase values in bc(1) */
00058 #define BC_DIM_MAX               2048   /* max array elements in bc(1) */
00059 #define BC_SCALE_MAX               99   /* max scale value in bc(1) */
00060 #define BC_STRING_MAX            1000   /* max const string length in bc(1) */
00061 #define COLL_WEIGHTS_MAX            0   /* max weights for order keyword */
00062 #define EXPR_NEST_MAX              32   /* max expressions nested in expr(1) */
00063 #define LINE_MAX                 2048   /* max bytes in an input line */
00064 #define RE_DUP_MAX                255   /* max RE's in interval notation */
00065 
00066 #define _POSIX2_BC_BASE_MAX     99
00067 #define _POSIX2_BC_DIM_MAX      2048
00068 #define _POSIX2_BC_SCALE_MAX    99
00069 #define _POSIX2_BC_STRING_MAX   1000
00070 #define _POSIX2_EQUIV_CLASS_MAX 2
00071 #define _POSIX2_EXPR_NEST_MAX   32
00072 #define _POSIX2_LINE_MAX        2048
00073 #define _POSIX2_RE_DUP_MAX      255
00074 #endif
00075 
00076 #if __POSIX_VISIBLE >= 199309
00077 #define _POSIX_AIO_LISTIO_MAX   16
00078 #define _POSIX_AIO_MAX          1
00079 #define _POSIX_DELAYTIMER_MAX   32
00080 #define _POSIX_MQ_OPEN_MAX      8
00081 #define _POSIX_MQ_PRIO_MAX      32
00082 #define _POSIX_RTSIG_MAX        8
00083 #define _POSIX_SEM_NSEMS_MAX    256
00084 #define _POSIX_SEM_VALUE_MAX    32767
00085 #define _POSIX_SIGQUEUE_MAX     32
00086 #define _POSIX_TIMER_MAX        32
00087 #endif
00088 
00089 #if __POSIX_VISIBLE >= 199506
00090 #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
00091 #define _POSIX_THREAD_KEYS_MAX  128
00092 #define _POSIX_THREAD_THREADS_MAX 64
00093 #endif
00094 
00095 #if __POSIX_VISIBLE >= 200112
00096 #define _POSIX_HOST_NAME_MAX    255
00097 #define _POSIX_LOGIN_NAME_MAX   9
00098 #define _POSIX_SS_REPL_MAX      4
00099 #define _POSIX_SYMLINK_MAX      255
00100 #define _POSIX_SYMLOOP_MAX      8
00101 #define _POSIX_TRACE_EVENT_NAME_MAX 30
00102 #define _POSIX_TRACE_NAME_MAX   8
00103 #define _POSIX_TRACE_SYS_MAX    8
00104 #define _POSIX_TRACE_USER_EVENT_MAX 32
00105 #define _POSIX_TTY_NAME_MAX     9
00106 #define _POSIX2_CHARCLASS_NAME_MAX 14
00107 #define _POSIX2_COLL_WEIGHTS_MAX 2
00108 
00109 #define _POSIX_RE_DUP_MAX       _POSIX2_RE_DUP_MAX
00110 #endif
00111 
00112 #if __XSI_VISIBLE
00113 #define _XOPEN_IOV_MAX          16
00114 #define _XOPEN_NAME_MAX         255
00115 #define _XOPEN_PATH_MAX         1024
00116 #define PASS_MAX                128     /* _PASSWORD_LEN from <pwd.h> */
00117 
00118 #define NL_ARGMAX               99      /* max # of position args for printf */
00119 #define NL_LANGMAX              31      /* max LANG name length */
00120 #define NL_MSGMAX               32767
00121 #define NL_NMAX                 1
00122 #define NL_SETMAX               255
00123 #define NL_TEXTMAX              2048
00124 #endif
00125 
00126 #define MB_LEN_MAX              6       /* 31-bit UTF-8 */
00127 
00128 #include <sys/limits.h>
00129 
00130 #endif /* !_LIMITS_H_ */