resource.h
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021: #ifndef _SYS_RESOURCE_H
022: # error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
023: #endif
024:
025: #include <bits/types.h>
026:
027:
028:
029:
030:
031:
032:
033: enum __rlimit_resource
034: {
035:
036: RLIMIT_CPU = 0,
037: #define RLIMIT_CPU RLIMIT_CPU
038:
039:
040: RLIMIT_FSIZE = 1,
041: #define RLIMIT_FSIZE RLIMIT_FSIZE
042:
043:
044: RLIMIT_DATA = 2,
045: #define RLIMIT_DATA RLIMIT_DATA
046:
047:
048: RLIMIT_STACK = 3,
049: #define RLIMIT_STACK RLIMIT_STACK
050:
051:
052: RLIMIT_CORE = 4,
053: #define RLIMIT_CORE RLIMIT_CORE
054:
055:
056:
057:
058:
059: __RLIMIT_RSS = 5,
060: #define RLIMIT_RSS __RLIMIT_RSS
061:
062:
063: RLIMIT_NOFILE = 7,
064: __RLIMIT_OFILE = RLIMIT_NOFILE,
065: #define RLIMIT_NOFILE RLIMIT_NOFILE
066: #define RLIMIT_OFILE __RLIMIT_OFILE
067:
068:
069: RLIMIT_AS = 9,
070: #define RLIMIT_AS RLIMIT_AS
071:
072:
073: __RLIMIT_NPROC = 6,
074: #define RLIMIT_NPROC __RLIMIT_NPROC
075:
076:
077: __RLIMIT_MEMLOCK = 8,
078: #define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
079:
080:
081: __RLIMIT_LOCKS = 10,
082: #define RLIMIT_LOCKS __RLIMIT_LOCKS
083:
084:
085: __RLIMIT_SIGPENDING = 11,
086: #define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
087:
088:
089: __RLIMIT_MSGQUEUE = 12,
090: #define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
091:
092:
093:
094:
095: __RLIMIT_NICE = 13,
096: #define RLIMIT_NICE __RLIMIT_NICE
097:
098:
099:
100: __RLIMIT_RTPRIO = 14,
101: #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
102:
103:
104:
105:
106: __RLIMIT_RTTIME = 15,
107: #define RLIMIT_RTTIME __RLIMIT_RTTIME
108:
109: __RLIMIT_NLIMITS = 16,
110: __RLIM_NLIMITS = __RLIMIT_NLIMITS
111: #define RLIMIT_NLIMITS __RLIMIT_NLIMITS
112: #define RLIM_NLIMITS __RLIM_NLIMITS
113: };
114:
115:
116: #ifndef __USE_FILE_OFFSET64
117: # define RLIM_INFINITY ((unsigned long int)(~0UL))
118: #else
119: # define RLIM_INFINITY 0xffffffffffffffffuLL
120: #endif
121:
122: #ifdef __USE_LARGEFILE64
123: # define RLIM64_INFINITY 0xffffffffffffffffuLL
124: #endif
125:
126:
127: #define RLIM_SAVED_MAX RLIM_INFINITY
128: #define RLIM_SAVED_CUR RLIM_INFINITY
129:
130:
131:
132: #ifndef __USE_FILE_OFFSET64
133: typedef __rlim_t rlim_t;
134: #else
135: typedef __rlim64_t rlim_t;
136: #endif
137: #ifdef __USE_LARGEFILE64
138: typedef __rlim64_t rlim64_t;
139: #endif
140:
141: struct rlimit
142: {
143:
144: rlim_t rlim_cur;
145:
146: rlim_t rlim_max;
147: };
148:
149: #ifdef __USE_LARGEFILE64
150: struct rlimit64
151: {
152:
153: rlim64_t rlim_cur;
154:
155: rlim64_t rlim_max;
156: };
157: #endif
158:
159:
160: enum __rusage_who
161: {
162:
163: RUSAGE_SELF = 0,
164: #define RUSAGE_SELF RUSAGE_SELF
165:
166:
167: RUSAGE_CHILDREN = -1
168: #define RUSAGE_CHILDREN RUSAGE_CHILDREN
169:
170: #ifdef __USE_GNU
171: ,
172:
173: RUSAGE_THREAD = 1
174: # define RUSAGE_THREAD RUSAGE_THREAD
175:
176: # define RUSAGE_LWP RUSAGE_THREAD
177: #endif
178: };
179:
180: #define __need_timeval
181: #include <bits/time.h>
182:
183:
184: struct rusage
185: {
186:
187: struct timeval ru_utime;
188:
189: struct timeval ru_stime;
190:
191: long int ru_maxrss;
192:
193:
194: long int ru_ixrss;
195:
196: long int ru_idrss;
197:
198: long int ru_isrss;
199:
200:
201: long int ru_minflt;
202:
203: long int ru_majflt;
204:
205: long int ru_nswap;
206:
207:
208: long int ru_inblock;
209:
210: long int ru_oublock;
211:
212: long int ru_msgsnd;
213:
214: long int ru_msgrcv;
215:
216: long int ru_nsignals;
217:
218:
219:
220: long int ru_nvcsw;
221:
222:
223: long int ru_nivcsw;
224: };
225:
226:
227: #define PRIO_MIN -20
228: #define PRIO_MAX 20
229:
230:
231:
232: enum __priority_which
233: {
234: PRIO_PROCESS = 0,
235: #define PRIO_PROCESS PRIO_PROCESS
236: PRIO_PGRP = 1,
237: #define PRIO_PGRP PRIO_PGRP
238: PRIO_USER = 2
239: #define PRIO_USER PRIO_USER
240: };
241:
242:
243: __BEGIN_DECLS
244:
245: #ifdef __USE_GNU
246:
247: # ifndef __USE_FILE_OFFSET64
248: extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
249: __const struct rlimit *__new_limit,
250: struct rlimit *__old_limit) __THROW;
251: # else
252: # ifdef __REDIRECT_NTH
253: extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
254: enum __rlimit_resource __resource,
255: __const struct rlimit *__new_limit,
256: struct rlimit *__old_limit), prlimit64);
257: # else
258: # define prlimit prlimit64
259: # endif
260: # endif
261: # ifdef __USE_LARGEFILE64
262: extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
263: __const struct rlimit64 *__new_limit,
264: struct rlimit64 *__old_limit) __THROW;
265: # endif
266: #endif
267:
268: __END_DECLS
269:
© Andrew Scott 2006 -
2025,
All Rights Reserved