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