• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/include/asm-generic/
1#ifndef _ASM_GENERIC_RESOURCE_H
2#define _ASM_GENERIC_RESOURCE_H
3
4/*
5 * Resource limit IDs
6 *
7 * ( Compatibility detail: there are architectures that have
8 *   a different rlimit ID order in the 5-9 range and want
9 *   to keep that order for binary compatibility. The reasons
10 *   are historic and all new rlimits are identical across all
11 *   arches. If an arch has such special order for some rlimits
12 *   then it defines them prior including asm-generic/resource.h. )
13 */
14
15#define RLIMIT_CPU		0	/* CPU time in sec */
16#define RLIMIT_FSIZE		1	/* Maximum filesize */
17#define RLIMIT_DATA		2	/* max data size */
18#define RLIMIT_STACK		3	/* max stack size */
19#define RLIMIT_CORE		4	/* max core file size */
20
21#ifndef RLIMIT_RSS
22# define RLIMIT_RSS		5	/* max resident set size */
23#endif
24
25#ifndef RLIMIT_NPROC
26# define RLIMIT_NPROC		6	/* max number of processes */
27#endif
28
29#ifndef RLIMIT_NOFILE
30# define RLIMIT_NOFILE		7	/* max number of open files */
31#endif
32
33#ifndef RLIMIT_MEMLOCK
34# define RLIMIT_MEMLOCK		8	/* max locked-in-memory address space */
35#endif
36
37#ifndef RLIMIT_AS
38# define RLIMIT_AS		9	/* address space limit */
39#endif
40
41#define RLIMIT_LOCKS		10	/* maximum file locks held */
42#define RLIMIT_SIGPENDING	11	/* max number of pending signals */
43#define RLIMIT_MSGQUEUE		12	/* maximum bytes in POSIX mqueues */
44#define RLIMIT_NICE		13	/* max nice prio allowed to raise to
45					   0-39 for nice level 19 .. -20 */
46#define RLIMIT_RTPRIO		14	/* maximum realtime priority */
47#define RLIMIT_RTTIME		15	/* timeout for RT tasks in us */
48#define RLIM_NLIMITS		16
49
50/*
51 * SuS says limits have to be unsigned.
52 * Which makes a ton more sense anyway.
53 *
54 * Some architectures override this (for compatibility reasons):
55 */
56#ifndef RLIM_INFINITY
57# define RLIM_INFINITY		(~0UL)
58#endif
59
60/*
61 * RLIMIT_STACK default maximum - some architectures override it:
62 */
63#ifndef _STK_LIM_MAX
64# define _STK_LIM_MAX		RLIM_INFINITY
65#endif
66
67#ifdef __KERNEL__
68
69/*
70 * boot-time rlimit defaults for the init task:
71 */
72#define INIT_RLIMITS							\
73{									\
74	[RLIMIT_CPU]		= {  RLIM_INFINITY,  RLIM_INFINITY },	\
75	[RLIMIT_FSIZE]		= {  RLIM_INFINITY,  RLIM_INFINITY },	\
76	[RLIMIT_DATA]		= {  RLIM_INFINITY,  RLIM_INFINITY },	\
77	[RLIMIT_STACK]		= {       _STK_LIM,   _STK_LIM_MAX },	\
78	[RLIMIT_CORE]		= {              0,  RLIM_INFINITY },	\
79	[RLIMIT_RSS]		= {  RLIM_INFINITY,  RLIM_INFINITY },	\
80	[RLIMIT_NPROC]		= {              0,              0 },	\
81	[RLIMIT_NOFILE]		= {       INR_OPEN,       INR_OPEN },	\
82	[RLIMIT_MEMLOCK]	= {    MLOCK_LIMIT,    MLOCK_LIMIT },	\
83	[RLIMIT_AS]		= {  RLIM_INFINITY,  RLIM_INFINITY },	\
84	[RLIMIT_LOCKS]		= {  RLIM_INFINITY,  RLIM_INFINITY },	\
85	[RLIMIT_SIGPENDING]	= { 		0,	       0 },	\
86	[RLIMIT_MSGQUEUE]	= {   MQ_BYTES_MAX,   MQ_BYTES_MAX },	\
87	[RLIMIT_NICE]		= { 0, 0 },				\
88	[RLIMIT_RTPRIO]		= { 0, 0 },				\
89	[RLIMIT_RTTIME]		= {  RLIM_INFINITY,  RLIM_INFINITY },	\
90}
91
92#endif	/* __KERNEL__ */
93
94#endif
95