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