Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6


resource.h
01: #ifndef _LINUX_RESOURCE_H
02: #define _LINUX_RESOURCE_H
03: 
04: #include <linux/time.h>
05: #include <linux/types.h>
06: 
07: /*
08:  * Resource control/accounting header file for linux
09:  */
10: 
11: /*
12:  * Definition of struct rusage taken from BSD 4.3 Reno
13:  * 
14:  * We don't support all of these yet, but we might as well have them....
15:  * Otherwise, each time we add new items, programs which depend on this
16:  * structure will lose.  This reduces the chances of that happening.
17:  */
18: #define RUSAGE_SELF     0
19: #define RUSAGE_CHILDREN (-1)
20: #define RUSAGE_BOTH     (-2)            /* sys_wait4() uses this */
21: #define RUSAGE_THREAD   1               /* only the calling thread */
22: 
23: struct  rusage {
24:         struct timeval ru_utime;        /* user time used */
25:         struct timeval ru_stime;        /* system time used */
26:         long    ru_maxrss;              /* maximum resident set size */
27:         long    ru_ixrss;               /* integral shared memory size */
28:         long    ru_idrss;               /* integral unshared data size */
29:         long    ru_isrss;               /* integral unshared stack size */
30:         long    ru_minflt;              /* page reclaims */
31:         long    ru_majflt;              /* page faults */
32:         long    ru_nswap;               /* swaps */
33:         long    ru_inblock;             /* block input operations */
34:         long    ru_oublock;             /* block output operations */
35:         long    ru_msgsnd;              /* messages sent */
36:         long    ru_msgrcv;              /* messages received */
37:         long    ru_nsignals;            /* signals received */
38:         long    ru_nvcsw;               /* voluntary context switches */
39:         long    ru_nivcsw;              /* involuntary " */
40: };
41: 
42: struct rlimit {
43:         unsigned long   rlim_cur;
44:         unsigned long   rlim_max;
45: };
46: 
47: #define RLIM64_INFINITY         (~0ULL)
48: 
49: struct rlimit64 {
50:         __u64 rlim_cur;
51:         __u64 rlim_max;
52: };
53: 
54: #define PRIO_MIN        (-20)
55: #define PRIO_MAX        20
56: 
57: #define PRIO_PROCESS    0
58: #define PRIO_PGRP       1
59: #define PRIO_USER       2
60: 
61: /*
62:  * Limit the stack by to some sane default: root can always
63:  * increase this limit if needed..  8MB seems reasonable.
64:  */
65: #define _STK_LIM        (8*1024*1024)
66: 
67: /*
68:  * GPG2 wants 64kB of mlocked memory, to make sure pass phrases
69:  * and other sensitive information are never written to disk.
70:  */
71: #define MLOCK_LIMIT     ((PAGE_SIZE > 64*1024) ? PAGE_SIZE : 64*1024)
72: 
73: /*
74:  * Due to binary compatibility, the actual resource numbers
75:  * may be different for different linux versions..
76:  */
77: #include <asm/resource.h>
78: 
79: 
80: #endif
81: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/