1#ifndef _ASM_GENERIC_RESOURCE_H
2#define _ASM_GENERIC_RESOURCE_H
3
4
5
6
7
8
9
10
11
12
13
14
15#define RLIMIT_CPU 0
16#define RLIMIT_FSIZE 1
17#define RLIMIT_DATA 2
18#define RLIMIT_STACK 3
19#define RLIMIT_CORE 4
20
21#ifndef RLIMIT_RSS
22# define RLIMIT_RSS 5
23#endif
24
25#ifndef RLIMIT_NPROC
26# define RLIMIT_NPROC 6
27#endif
28
29#ifndef RLIMIT_NOFILE
30# define RLIMIT_NOFILE 7
31#endif
32
33#ifndef RLIMIT_MEMLOCK
34# define RLIMIT_MEMLOCK 8
35#endif
36
37#ifndef RLIMIT_AS
38# define RLIMIT_AS 9
39#endif
40
41#define RLIMIT_LOCKS 10
42#define RLIMIT_SIGPENDING 11
43#define RLIMIT_MSGQUEUE 12
44#define RLIMIT_NICE 13
45
46#define RLIMIT_RTPRIO 14
47#define RLIMIT_RTTIME 15
48#define RLIM_NLIMITS 16
49
50
51
52
53
54
55
56#ifndef RLIM_INFINITY
57# define RLIM_INFINITY (~0UL)
58#endif
59
60
61
62
63#ifndef _STK_LIM_MAX
64# define _STK_LIM_MAX RLIM_INFINITY
65#endif
66
67#ifdef __KERNEL__
68
69
70
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_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 }, \
90}
91
92#endif
93
94#endif
95