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 |
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: