1 | /* Copyright (C) 1991-2022 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 | <https://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 | |