glibc (2.38)

(root)/
include/
bits/
xopen_lim.h
       1  /* Copyright (C) 1996-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; use <limits.h> instead.
      20   */
      21  
      22  /* Additional definitions from X/Open Portability Guide, Issue 4, Version 2
      23     System Interfaces and Headers, 4.16 <limits.h>
      24  
      25     Please note only the values which are not greater than the minimum
      26     stated in the standard document are listed.  The `sysconf' functions
      27     should be used to obtain the actual value.  */
      28  
      29  #ifndef _XOPEN_LIM_H
      30  #define _XOPEN_LIM_H	1
      31  
      32  /* We do not provide fixed values for
      33  
      34     ARG_MAX	Maximum length of argument to the `exec' function
      35  		including environment data.
      36  
      37     ATEXIT_MAX	Maximum number of functions that may be registered
      38  		with `atexit'.
      39  
      40     CHILD_MAX	Maximum number of simultaneous processes per real
      41  		user ID.
      42  
      43     OPEN_MAX	Maximum number of files that one process can have open
      44  		at anyone time.
      45  
      46     PAGESIZE
      47     PAGE_SIZE	Size of bytes of a page.
      48  
      49     PASS_MAX	Maximum number of significant bytes in a password.
      50  
      51     We only provide a fixed limit for
      52  
      53     IOV_MAX	Maximum number of `iovec' structures that one process has
      54  		available for use with `readv' or writev'.
      55  
      56     if this is indeed fixed by the underlying system.
      57  */
      58  
      59  
      60  /* Maximum number of `iovec' structures that may be used in a single call
      61     to `readv', `writev', etc.  */
      62  #define	_XOPEN_IOV_MAX	_POSIX_UIO_MAXIOV
      63  
      64  #include <bits/uio_lim.h>
      65  #ifdef __IOV_MAX
      66  # define IOV_MAX __IOV_MAX
      67  #else
      68  # undef IOV_MAX
      69  #endif
      70  
      71  /* Maximum value of `digit' in calls to the `printf' and `scanf'
      72     functions.  We have no limit, so return a reasonable value.  */
      73  #define NL_ARGMAX	_POSIX_ARG_MAX
      74  
      75  /* Maximum number of bytes in a `LANG' name.  We have no limit.  */
      76  #define NL_LANGMAX	_POSIX2_LINE_MAX
      77  
      78  /* Maximum message number.  We have no limit.  */
      79  #define NL_MSGMAX	INT_MAX
      80  
      81  /* Maximum number of bytes in N-to-1 collation mapping.  We have no
      82     limit.  */
      83  #if defined __USE_GNU || !defined __USE_XOPEN2K8
      84  # define NL_NMAX	INT_MAX
      85  #endif
      86  
      87  /* Maximum set number.  We have no limit.  */
      88  #define NL_SETMAX	INT_MAX
      89  
      90  /* Maximum number of bytes in a message.  We have no limit.  */
      91  #define NL_TEXTMAX	INT_MAX
      92  
      93  /* Default process priority.  */
      94  #define NZERO		20
      95  
      96  
      97  /* Number of bits in a word of type `int'.  */
      98  #ifdef INT_MAX
      99  # if INT_MAX == 32767
     100  #  define WORD_BIT	16
     101  # else
     102  #  if INT_MAX == 2147483647
     103  #   define WORD_BIT	32
     104  #  else
     105  /* Safe assumption.  */
     106  #   define WORD_BIT	64
     107  #  endif
     108  # endif
     109  #elif defined __INT_MAX__
     110  # if __INT_MAX__ == 32767
     111  #  define WORD_BIT	16
     112  # else
     113  #  if __INT_MAX__ == 2147483647
     114  #   define WORD_BIT	32
     115  #  else
     116  /* Safe assumption.  */
     117  #   define WORD_BIT	64
     118  #  endif
     119  # endif
     120  #else
     121  # define WORD_BIT	32
     122  #endif
     123  
     124  /* Number of bits in a word of type `long int'.  */
     125  #ifdef LONG_MAX
     126  # if LONG_MAX == 2147483647
     127  #  define LONG_BIT	32
     128  # else
     129  /* Safe assumption.  */
     130  #  define LONG_BIT	64
     131  # endif
     132  #elif defined __LONG_MAX__
     133  # if __LONG_MAX__ == 2147483647
     134  #  define LONG_BIT	32
     135  # else
     136  /* Safe assumption.  */
     137  #  define LONG_BIT	64
     138  # endif
     139  #else
     140  # include <bits/wordsize.h>
     141  # if __WORDSIZE == 64
     142  #  define LONG_BIT	64
     143  # else
     144  #  define LONG_BIT	32
     145  # endif
     146  #endif
     147  
     148  #endif /* bits/xopen_lim.h */