1*8a1ab315SDavid Howells #ifndef _UAPI_ASM_GENERIC_RESOURCE_H
2*8a1ab315SDavid Howells #define _UAPI_ASM_GENERIC_RESOURCE_H
3*8a1ab315SDavid Howells 
4*8a1ab315SDavid Howells /*
5*8a1ab315SDavid Howells  * Resource limit IDs
6*8a1ab315SDavid Howells  *
7*8a1ab315SDavid Howells  * ( Compatibility detail: there are architectures that have
8*8a1ab315SDavid Howells  *   a different rlimit ID order in the 5-9 range and want
9*8a1ab315SDavid Howells  *   to keep that order for binary compatibility. The reasons
10*8a1ab315SDavid Howells  *   are historic and all new rlimits are identical across all
11*8a1ab315SDavid Howells  *   arches. If an arch has such special order for some rlimits
12*8a1ab315SDavid Howells  *   then it defines them prior including asm-generic/resource.h. )
13*8a1ab315SDavid Howells  */
14*8a1ab315SDavid Howells 
15*8a1ab315SDavid Howells #define RLIMIT_CPU		0	/* CPU time in sec */
16*8a1ab315SDavid Howells #define RLIMIT_FSIZE		1	/* Maximum filesize */
17*8a1ab315SDavid Howells #define RLIMIT_DATA		2	/* max data size */
18*8a1ab315SDavid Howells #define RLIMIT_STACK		3	/* max stack size */
19*8a1ab315SDavid Howells #define RLIMIT_CORE		4	/* max core file size */
20*8a1ab315SDavid Howells 
21*8a1ab315SDavid Howells #ifndef RLIMIT_RSS
22*8a1ab315SDavid Howells # define RLIMIT_RSS		5	/* max resident set size */
23*8a1ab315SDavid Howells #endif
24*8a1ab315SDavid Howells 
25*8a1ab315SDavid Howells #ifndef RLIMIT_NPROC
26*8a1ab315SDavid Howells # define RLIMIT_NPROC		6	/* max number of processes */
27*8a1ab315SDavid Howells #endif
28*8a1ab315SDavid Howells 
29*8a1ab315SDavid Howells #ifndef RLIMIT_NOFILE
30*8a1ab315SDavid Howells # define RLIMIT_NOFILE		7	/* max number of open files */
31*8a1ab315SDavid Howells #endif
32*8a1ab315SDavid Howells 
33*8a1ab315SDavid Howells #ifndef RLIMIT_MEMLOCK
34*8a1ab315SDavid Howells # define RLIMIT_MEMLOCK		8	/* max locked-in-memory address space */
35*8a1ab315SDavid Howells #endif
36*8a1ab315SDavid Howells 
37*8a1ab315SDavid Howells #ifndef RLIMIT_AS
38*8a1ab315SDavid Howells # define RLIMIT_AS		9	/* address space limit */
39*8a1ab315SDavid Howells #endif
40*8a1ab315SDavid Howells 
41*8a1ab315SDavid Howells #define RLIMIT_LOCKS		10	/* maximum file locks held */
42*8a1ab315SDavid Howells #define RLIMIT_SIGPENDING	11	/* max number of pending signals */
43*8a1ab315SDavid Howells #define RLIMIT_MSGQUEUE		12	/* maximum bytes in POSIX mqueues */
44*8a1ab315SDavid Howells #define RLIMIT_NICE		13	/* max nice prio allowed to raise to
45*8a1ab315SDavid Howells 					   0-39 for nice level 19 .. -20 */
46*8a1ab315SDavid Howells #define RLIMIT_RTPRIO		14	/* maximum realtime priority */
47*8a1ab315SDavid Howells #define RLIMIT_RTTIME		15	/* timeout for RT tasks in us */
48*8a1ab315SDavid Howells #define RLIM_NLIMITS		16
49*8a1ab315SDavid Howells 
50*8a1ab315SDavid Howells /*
51*8a1ab315SDavid Howells  * SuS says limits have to be unsigned.
52*8a1ab315SDavid Howells  * Which makes a ton more sense anyway.
53*8a1ab315SDavid Howells  *
54*8a1ab315SDavid Howells  * Some architectures override this (for compatibility reasons):
55*8a1ab315SDavid Howells  */
56*8a1ab315SDavid Howells #ifndef RLIM_INFINITY
57*8a1ab315SDavid Howells # define RLIM_INFINITY		(~0UL)
58*8a1ab315SDavid Howells #endif
59*8a1ab315SDavid Howells 
60*8a1ab315SDavid Howells /*
61*8a1ab315SDavid Howells  * RLIMIT_STACK default maximum - some architectures override it:
62*8a1ab315SDavid Howells  */
63*8a1ab315SDavid Howells #ifndef _STK_LIM_MAX
64*8a1ab315SDavid Howells # define _STK_LIM_MAX		RLIM_INFINITY
65*8a1ab315SDavid Howells #endif
66*8a1ab315SDavid Howells 
67*8a1ab315SDavid Howells 
68*8a1ab315SDavid Howells #endif /* _UAPI_ASM_GENERIC_RESOURCE_H */
69