Add linux-next specific files for 20110831
[linux-2.6/next.git] / include / asm-generic / resource.h
blob61fa862fe08d61fb326bd66c20e31c567e3fb6f8
1 #ifndef _ASM_GENERIC_RESOURCE_H
2 #define _ASM_GENERIC_RESOURCE_H
4 /*
5 * Resource limit IDs
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. )
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 */
21 #ifndef RLIMIT_RSS
22 # define RLIMIT_RSS 5 /* max resident set size */
23 #endif
25 #ifndef RLIMIT_NPROC
26 # define RLIMIT_NPROC 6 /* max number of processes */
27 #endif
29 #ifndef RLIMIT_NOFILE
30 # define RLIMIT_NOFILE 7 /* max number of open files */
31 #endif
33 #ifndef RLIMIT_MEMLOCK
34 # define RLIMIT_MEMLOCK 8 /* max locked-in-memory address space */
35 #endif
37 #ifndef RLIMIT_AS
38 # define RLIMIT_AS 9 /* address space limit */
39 #endif
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
51 * SuS says limits have to be unsigned.
52 * Which makes a ton more sense anyway.
54 * Some architectures override this (for compatibility reasons):
56 #ifndef RLIM_INFINITY
57 # define RLIM_INFINITY (~0UL)
58 #endif
61 * RLIMIT_STACK default maximum - some architectures override it:
63 #ifndef _STK_LIM_MAX
64 # define _STK_LIM_MAX RLIM_INFINITY
65 #endif
67 #ifdef __KERNEL__
70 * boot-time rlimit defaults for the init task:
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_CUR, INR_OPEN_MAX }, \
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 }, \
92 #endif /* __KERNEL__ */
94 #endif