xref: /utopia/UTPA2-700.0.x/projects/tools/lint/mips-linux-gnu_include/bits/local_lim.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
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