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