aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic/resource.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
commit1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch)
tree0bba044c4ce775e45a88a51686b5d9f90697ea9d /include/asm-generic/resource.h
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
Diffstat (limited to 'include/asm-generic/resource.h')
-rw-r--r--include/asm-generic/resource.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/include/asm-generic/resource.h b/include/asm-generic/resource.h
new file mode 100644
index 000000000000..b1fcda9eac23
--- /dev/null
+++ b/include/asm-generic/resource.h
@@ -0,0 +1,88 @@
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 ms */
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
45#define RLIM_NLIMITS 13
46
47/*
48 * SuS says limits have to be unsigned.
49 * Which makes a ton more sense anyway.
50 *
51 * Some architectures override this (for compatibility reasons):
52 */
53#ifndef RLIM_INFINITY
54# define RLIM_INFINITY (~0UL)
55#endif
56
57/*
58 * RLIMIT_STACK default maximum - some architectures override it:
59 */
60#ifndef _STK_LIM_MAX
61# define _STK_LIM_MAX RLIM_INFINITY
62#endif
63
64#ifdef __KERNEL__
65
66/*
67 * boot-time rlimit defaults for the init task:
68 */
69#define INIT_RLIMITS \
70{ \
71 [RLIMIT_CPU] = { RLIM_INFINITY, RLIM_INFINITY }, \
72 [RLIMIT_FSIZE] = { RLIM_INFINITY, RLIM_INFINITY }, \
73 [RLIMIT_DATA] = { RLIM_INFINITY, RLIM_INFINITY }, \
74 [RLIMIT_STACK] = { _STK_LIM, _STK_LIM_MAX }, \
75 [RLIMIT_CORE] = { 0, RLIM_INFINITY }, \
76 [RLIMIT_RSS] = { RLIM_INFINITY, RLIM_INFINITY }, \
77 [RLIMIT_NPROC] = { 0, 0 }, \
78 [RLIMIT_NOFILE] = { INR_OPEN, INR_OPEN }, \
79 [RLIMIT_MEMLOCK] = { MLOCK_LIMIT, MLOCK_LIMIT }, \
80 [RLIMIT_AS] = { RLIM_INFINITY, RLIM_INFINITY }, \
81 [RLIMIT_LOCKS] = { RLIM_INFINITY, RLIM_INFINITY }, \
82 [RLIMIT_SIGPENDING] = { 0, 0 }, \
83 [RLIMIT_MSGQUEUE] = { MQ_BYTES_MAX, MQ_BYTES_MAX }, \
84}
85
86#endif /* __KERNEL__ */
87
88#endif