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