1    	/* Copyright (C) 1991, 1996, 1999, 2000, 2001 Free Software Foundation, Inc.
2    	   This file is part of the GNU C Library.
3    	
4    	   The GNU C Library is free software; you can redistribute it and/or
5    	   modify it under the terms of the GNU Lesser General Public
6    	   License as published by the Free Software Foundation; either
7    	   version 2.1 of the License, or (at your option) any later version.
8    	
9    	   The GNU C Library is distributed in the hope that it will be useful,
10   	   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   	   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12   	   Lesser General Public License for more details.
13   	
14   	   You should have received a copy of the GNU Lesser General Public
15   	   License along with the GNU C Library; if not, write to the Free
16   	   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17   	   02111-1307 USA.  */
18   	
19   	/*
20   	 * Never include this file directly; include <limits.h> instead.
21   	 */
22   	
23   	#ifndef	_BITS_POSIX2_LIM_H
24   	#define	_BITS_POSIX2_LIM_H	1
25   	
26   	
27   	/* The maximum `ibase' and `obase' values allowed by the `bc' utility.  */
28   	#define	_POSIX2_BC_BASE_MAX		99
29   	
30   	/* The maximum number of elements allowed in an array by the `bc' utility.  */
31   	#define	_POSIX2_BC_DIM_MAX		2048
32   	
33   	/* The maximum `scale' value allowed by the `bc' utility.  */
34   	#define	_POSIX2_BC_SCALE_MAX		99
35   	
36   	/* The maximum length of a string constant accepted by the `bc' utility.  */
37   	#define	_POSIX2_BC_STRING_MAX		1000
38   	
39   	/* The maximum number of weights that can be assigned to an entry of
40   	   the LC_COLLATE `order' keyword in the locale definition file.  */
41   	#define	_POSIX2_COLL_WEIGHTS_MAX	2
42   	
43   	/* The maximum number of expressions that can be nested
44   	   within parentheses by the `expr' utility.  */
45   	#define	_POSIX2_EXPR_NEST_MAX		32
46   	
47   	/* The maximum length, in bytes, of an input line.  */
48   	#define	_POSIX2_LINE_MAX		2048
49   	
50   	/* The maximum number of repeated occurrences of a regular expression
51   	   permitted when using the interval notation `\{M,N\}'.  */
52   	#define	_POSIX2_RE_DUP_MAX		255
53   	
54   	/* The maximum number of bytes in a character class name.  We have no
55   	   fixed limit, 2048 is a high number.  */
56   	#define	_POSIX2_CHARCLASS_NAME_MAX	14
57   	
58   	
59   	/* These values are implementation-specific,
60   	   and may vary within the implementation.
61   	   Their precise values can be obtained from sysconf.  */
62   	
63   	#ifndef	BC_BASE_MAX
64   	#define	BC_BASE_MAX		_POSIX2_BC_BASE_MAX
65   	#endif
66   	#ifndef	BC_DIM_MAX
67   	#define	BC_DIM_MAX		_POSIX2_BC_DIM_MAX
68   	#endif
69   	#ifndef	BC_SCALE_MAX
70   	#define	BC_SCALE_MAX		_POSIX2_BC_SCALE_MAX
71   	#endif
72   	#ifndef	BC_STRING_MAX
73   	#define	BC_STRING_MAX		_POSIX2_BC_STRING_MAX
74   	#endif
75   	#ifndef	COLL_WEIGHTS_MAX
76   	#define	COLL_WEIGHTS_MAX	255
77   	#endif
78   	#ifndef	EXPR_NEST_MAX
79   	#define	EXPR_NEST_MAX		_POSIX2_EXPR_NEST_MAX
80   	#endif
81   	#ifndef	LINE_MAX
82   	#define	LINE_MAX		_POSIX2_LINE_MAX
83   	#endif
84   	#ifndef	CHARCLASS_NAME_MAX
85   	#define	CHARCLASS_NAME_MAX	2048
86   	#endif
87   	
88   	/* This value is defined like this in regex.h.  */
89   	#define	RE_DUP_MAX (0x7fff)
90   	
91   	#endif	/* bits/posix2_lim.h */
92