xref: /aosp_15_r20/prebuilts/build-tools/sysroots/i686-unknown-linux-musl/include/sys/resource.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker #ifndef	_SYS_RESOURCE_H
2*cda5da8dSAndroid Build Coastguard Worker #define	_SYS_RESOURCE_H
3*cda5da8dSAndroid Build Coastguard Worker 
4*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus
5*cda5da8dSAndroid Build Coastguard Worker extern "C" {
6*cda5da8dSAndroid Build Coastguard Worker #endif
7*cda5da8dSAndroid Build Coastguard Worker 
8*cda5da8dSAndroid Build Coastguard Worker #include <features.h>
9*cda5da8dSAndroid Build Coastguard Worker #include <sys/time.h>
10*cda5da8dSAndroid Build Coastguard Worker 
11*cda5da8dSAndroid Build Coastguard Worker #define __NEED_id_t
12*cda5da8dSAndroid Build Coastguard Worker 
13*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE
14*cda5da8dSAndroid Build Coastguard Worker #define __NEED_pid_t
15*cda5da8dSAndroid Build Coastguard Worker #endif
16*cda5da8dSAndroid Build Coastguard Worker 
17*cda5da8dSAndroid Build Coastguard Worker #include <bits/alltypes.h>
18*cda5da8dSAndroid Build Coastguard Worker #include <bits/resource.h>
19*cda5da8dSAndroid Build Coastguard Worker 
20*cda5da8dSAndroid Build Coastguard Worker typedef unsigned long long rlim_t;
21*cda5da8dSAndroid Build Coastguard Worker 
22*cda5da8dSAndroid Build Coastguard Worker struct rlimit {
23*cda5da8dSAndroid Build Coastguard Worker 	rlim_t rlim_cur;
24*cda5da8dSAndroid Build Coastguard Worker 	rlim_t rlim_max;
25*cda5da8dSAndroid Build Coastguard Worker };
26*cda5da8dSAndroid Build Coastguard Worker 
27*cda5da8dSAndroid Build Coastguard Worker struct rusage {
28*cda5da8dSAndroid Build Coastguard Worker 	struct timeval ru_utime;
29*cda5da8dSAndroid Build Coastguard Worker 	struct timeval ru_stime;
30*cda5da8dSAndroid Build Coastguard Worker 	/* linux extentions, but useful */
31*cda5da8dSAndroid Build Coastguard Worker 	long	ru_maxrss;
32*cda5da8dSAndroid Build Coastguard Worker 	long	ru_ixrss;
33*cda5da8dSAndroid Build Coastguard Worker 	long	ru_idrss;
34*cda5da8dSAndroid Build Coastguard Worker 	long	ru_isrss;
35*cda5da8dSAndroid Build Coastguard Worker 	long	ru_minflt;
36*cda5da8dSAndroid Build Coastguard Worker 	long	ru_majflt;
37*cda5da8dSAndroid Build Coastguard Worker 	long	ru_nswap;
38*cda5da8dSAndroid Build Coastguard Worker 	long	ru_inblock;
39*cda5da8dSAndroid Build Coastguard Worker 	long	ru_oublock;
40*cda5da8dSAndroid Build Coastguard Worker 	long	ru_msgsnd;
41*cda5da8dSAndroid Build Coastguard Worker 	long	ru_msgrcv;
42*cda5da8dSAndroid Build Coastguard Worker 	long	ru_nsignals;
43*cda5da8dSAndroid Build Coastguard Worker 	long	ru_nvcsw;
44*cda5da8dSAndroid Build Coastguard Worker 	long	ru_nivcsw;
45*cda5da8dSAndroid Build Coastguard Worker 	/* room for more... */
46*cda5da8dSAndroid Build Coastguard Worker 	long    __reserved[16];
47*cda5da8dSAndroid Build Coastguard Worker };
48*cda5da8dSAndroid Build Coastguard Worker 
49*cda5da8dSAndroid Build Coastguard Worker int getrlimit (int, struct rlimit *);
50*cda5da8dSAndroid Build Coastguard Worker int setrlimit (int, const struct rlimit *);
51*cda5da8dSAndroid Build Coastguard Worker int getrusage (int, struct rusage *);
52*cda5da8dSAndroid Build Coastguard Worker 
53*cda5da8dSAndroid Build Coastguard Worker int getpriority (int, id_t);
54*cda5da8dSAndroid Build Coastguard Worker int setpriority (int, id_t, int);
55*cda5da8dSAndroid Build Coastguard Worker 
56*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE
57*cda5da8dSAndroid Build Coastguard Worker int prlimit(pid_t, int, const struct rlimit *, struct rlimit *);
58*cda5da8dSAndroid Build Coastguard Worker #define prlimit64 prlimit
59*cda5da8dSAndroid Build Coastguard Worker #endif
60*cda5da8dSAndroid Build Coastguard Worker 
61*cda5da8dSAndroid Build Coastguard Worker #define PRIO_MIN (-20)
62*cda5da8dSAndroid Build Coastguard Worker #define PRIO_MAX 20
63*cda5da8dSAndroid Build Coastguard Worker 
64*cda5da8dSAndroid Build Coastguard Worker #define PRIO_PROCESS 0
65*cda5da8dSAndroid Build Coastguard Worker #define PRIO_PGRP    1
66*cda5da8dSAndroid Build Coastguard Worker #define PRIO_USER    2
67*cda5da8dSAndroid Build Coastguard Worker 
68*cda5da8dSAndroid Build Coastguard Worker #define RUSAGE_SELF     0
69*cda5da8dSAndroid Build Coastguard Worker #define RUSAGE_CHILDREN (-1)
70*cda5da8dSAndroid Build Coastguard Worker #define RUSAGE_THREAD   1
71*cda5da8dSAndroid Build Coastguard Worker 
72*cda5da8dSAndroid Build Coastguard Worker #define RLIM_INFINITY (~0ULL)
73*cda5da8dSAndroid Build Coastguard Worker #define RLIM_SAVED_CUR RLIM_INFINITY
74*cda5da8dSAndroid Build Coastguard Worker #define RLIM_SAVED_MAX RLIM_INFINITY
75*cda5da8dSAndroid Build Coastguard Worker 
76*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_CPU     0
77*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_FSIZE   1
78*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_DATA    2
79*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_STACK   3
80*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_CORE    4
81*cda5da8dSAndroid Build Coastguard Worker #ifndef RLIMIT_RSS
82*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_RSS     5
83*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_NPROC   6
84*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_NOFILE  7
85*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_MEMLOCK 8
86*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_AS      9
87*cda5da8dSAndroid Build Coastguard Worker #endif
88*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_LOCKS   10
89*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_SIGPENDING 11
90*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_MSGQUEUE 12
91*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_NICE    13
92*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_RTPRIO  14
93*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_RTTIME  15
94*cda5da8dSAndroid Build Coastguard Worker #define RLIMIT_NLIMITS 16
95*cda5da8dSAndroid Build Coastguard Worker 
96*cda5da8dSAndroid Build Coastguard Worker #define RLIM_NLIMITS RLIMIT_NLIMITS
97*cda5da8dSAndroid Build Coastguard Worker 
98*cda5da8dSAndroid Build Coastguard Worker #if defined(_LARGEFILE64_SOURCE)
99*cda5da8dSAndroid Build Coastguard Worker #define RLIM64_INFINITY RLIM_INFINITY
100*cda5da8dSAndroid Build Coastguard Worker #define RLIM64_SAVED_CUR RLIM_SAVED_CUR
101*cda5da8dSAndroid Build Coastguard Worker #define RLIM64_SAVED_MAX RLIM_SAVED_MAX
102*cda5da8dSAndroid Build Coastguard Worker #define getrlimit64 getrlimit
103*cda5da8dSAndroid Build Coastguard Worker #define setrlimit64 setrlimit
104*cda5da8dSAndroid Build Coastguard Worker #define rlimit64 rlimit
105*cda5da8dSAndroid Build Coastguard Worker #define rlim64_t rlim_t
106*cda5da8dSAndroid Build Coastguard Worker #endif
107*cda5da8dSAndroid Build Coastguard Worker 
108*cda5da8dSAndroid Build Coastguard Worker #if _REDIR_TIME64
109*cda5da8dSAndroid Build Coastguard Worker __REDIR(getrusage, __getrusage_time64);
110*cda5da8dSAndroid Build Coastguard Worker #endif
111*cda5da8dSAndroid Build Coastguard Worker 
112*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus
113*cda5da8dSAndroid Build Coastguard Worker }
114*cda5da8dSAndroid Build Coastguard Worker #endif
115*cda5da8dSAndroid Build Coastguard Worker 
116*cda5da8dSAndroid Build Coastguard Worker #endif
117