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