(root)/
glibc-2.38/
posix/
bits/
posix2_lim.h
       1  /* Copyright (C) 1991-2023 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 */