1    	/* Copyright (C) 1991-2015 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, see
16   	   <http://www.gnu.org/licenses/>.  */
17   	
18   	/*
19   	 * Never include this file directly; include <limits.h> instead.
20   	 */
21   	
22   	#ifndef	_BITS_POSIX2_LIM_H
23   	#define	_BITS_POSIX2_LIM_H	1
24   	
25   	
26   	/* The maximum `ibase' and `obase' values allowed by the `bc' utility.  */
27   	#define	_POSIX2_BC_BASE_MAX		99
28   	
29   	/* The maximum number of elements allowed in an array by the `bc' utility.  */
30   	#define	_POSIX2_BC_DIM_MAX		2048
31   	
32   	/* The maximum `scale' value allowed by the `bc' utility.  */
33   	#define	_POSIX2_BC_SCALE_MAX		99
34   	
35   	/* The maximum length of a string constant accepted by the `bc' utility.  */
36   	#define	_POSIX2_BC_STRING_MAX		1000
37   	
38   	/* The maximum number of weights that can be assigned to an entry of
39   	   the LC_COLLATE `order' keyword in the locale definition file.  */
40   	#define	_POSIX2_COLL_WEIGHTS_MAX	2
41   	
42   	/* The maximum number of expressions that can be nested
43   	   within parentheses by the `expr' utility.  */
44   	#define	_POSIX2_EXPR_NEST_MAX		32
45   	
46   	/* The maximum length, in bytes, of an input line.  */
47   	#define	_POSIX2_LINE_MAX		2048
48   	
49   	/* The maximum number of repeated occurrences of a regular expression
50   	   permitted when using the interval notation `\{M,N\}'.  */
51   	#define	_POSIX2_RE_DUP_MAX		255
52   	
53   	/* The maximum number of bytes in a character class name.  We have no
54   	   fixed limit, 2048 is a high number.  */
55   	#define	_POSIX2_CHARCLASS_NAME_MAX	14
56   	
57   	
58   	/* These values are implementation-specific,
59   	   and may vary within the implementation.
60   	   Their precise values can be obtained from sysconf.  */
61   	
62   	#ifndef	BC_BASE_MAX
63   	#define	BC_BASE_MAX		_POSIX2_BC_BASE_MAX
64   	#endif
65   	#ifndef	BC_DIM_MAX
66   	#define	BC_DIM_MAX		_POSIX2_BC_DIM_MAX
67   	#endif
68   	#ifndef	BC_SCALE_MAX
69   	#define	BC_SCALE_MAX		_POSIX2_BC_SCALE_MAX
70   	#endif
71   	#ifndef	BC_STRING_MAX
72   	#define	BC_STRING_MAX		_POSIX2_BC_STRING_MAX
73   	#endif
74   	#ifndef	COLL_WEIGHTS_MAX
75   	#define	COLL_WEIGHTS_MAX	255
76   	#endif
77   	#ifndef	EXPR_NEST_MAX
78   	#define	EXPR_NEST_MAX		_POSIX2_EXPR_NEST_MAX
79   	#endif
80   	#ifndef	LINE_MAX
81   	#define	LINE_MAX		_POSIX2_LINE_MAX
82   	#endif
83   	#ifndef	CHARCLASS_NAME_MAX
84   	#define	CHARCLASS_NAME_MAX	2048
85   	#endif
86   	
87   	/* This value is defined like this in regex.h.  */
88   	#define	RE_DUP_MAX (0x7fff)
89   	
90   	#endif	/* bits/posix2_lim.h */
91