1/* Minimum guaranteed maximum values for system limits. Linux version. 2 Copyright (C) 1993-1998,2000,2002-2004,2008 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public License as 7 published by the Free Software Foundation; either version 2.1 of the 8 License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; see the file COPYING.LIB. If not, 17 write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 19 20/* The kernel header pollutes the namespace with the NR_OPEN symbol 21 and defines LINK_MAX although filesystems have different maxima. A 22 similar thing is true for OPEN_MAX: the limit can be changed at 23 runtime and therefore the macro must not be defined. Remove this 24 after including the header if necessary. */ 25#ifndef NR_OPEN 26# define __undef_NR_OPEN 27#endif 28#ifndef LINK_MAX 29# define __undef_LINK_MAX 30#endif 31#ifndef OPEN_MAX 32# define __undef_OPEN_MAX 33#endif 34#ifndef ARG_MAX 35# define __undef_ARG_MAX 36#endif 37 38/* The kernel sources contain a file with all the needed information. */ 39#include <linux/limits.h> 40 41/* Have to remove NR_OPEN? */ 42#ifdef __undef_NR_OPEN 43# undef NR_OPEN 44# undef __undef_NR_OPEN 45#endif 46/* Have to remove LINK_MAX? */ 47#ifdef __undef_LINK_MAX 48# undef LINK_MAX 49# undef __undef_LINK_MAX 50#endif 51/* Have to remove OPEN_MAX? */ 52#ifdef __undef_OPEN_MAX 53# undef OPEN_MAX 54# undef __undef_OPEN_MAX 55#endif 56/* Have to remove ARG_MAX? */ 57#ifdef __undef_ARG_MAX 58# undef ARG_MAX 59# undef __undef_ARG_MAX 60#endif 61 62/* The number of data keys per process. */ 63#define _POSIX_THREAD_KEYS_MAX 128 64/* This is the value this implementation supports. */ 65#define PTHREAD_KEYS_MAX 1024 66 67/* Controlling the iterations of destructors for thread-specific data. */ 68#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 69/* Number of iterations this implementation does. */ 70#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS 71 72/* The number of threads per process. */ 73#define _POSIX_THREAD_THREADS_MAX 64 74 75/* Maximum amount by which a process can descrease its asynchronous I/O 76 priority level. */ 77#define AIO_PRIO_DELTA_MAX 20 78 79/* Minimum size for a thread. We are free to choose a reasonable value. */ 80#define PTHREAD_STACK_MIN 16384 81 82/* Maximum number of timer expiration overruns. */ 83#define DELAYTIMER_MAX 2147483647 84 85/* Maximum tty name length. */ 86#define TTY_NAME_MAX 32 87 88/* Maximum login name length. This is arbitrary. */ 89#define LOGIN_NAME_MAX 256 90 91/* Maximum host name length. */ 92#define HOST_NAME_MAX 64 93 94/* Maximum message queue priority level. */ 95#define MQ_PRIO_MAX 32768 96