diff options
Diffstat (limited to 'include/linux/resource.h')
-rw-r--r-- | include/linux/resource.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/include/linux/resource.h b/include/linux/resource.h new file mode 100644 index 000000000..93db09bc9 --- /dev/null +++ b/include/linux/resource.h @@ -0,0 +1,71 @@ +#ifndef _LINUX_RESOURCE_H +#define _LINUX_RESOURCE_H + +/* + * Resource control/accounting header file for linux + */ + +/* + * Definition of struct rusage taken from BSD 4.3 Reno + * + * We don't support all of these yet, but we might as well have them.... + * Otherwise, each time we add new items, programs which depend on this + * structure will lose. This reduces the chances of that happening. + */ +#define RUSAGE_SELF 0 +#define RUSAGE_CHILDREN (-1) +#define RUSAGE_BOTH (-2) /* sys_wait4() uses this */ + +struct rusage { + struct timeval ru_utime; /* user time used */ + struct timeval ru_stime; /* system time used */ + long ru_maxrss; /* maximum resident set size */ + long ru_ixrss; /* integral shared memory size */ + long ru_idrss; /* integral unshared data size */ + long ru_isrss; /* integral unshared stack size */ + long ru_minflt; /* page reclaims */ + long ru_majflt; /* page faults */ + long ru_nswap; /* swaps */ + long ru_inblock; /* block input operations */ + long ru_oublock; /* block output operations */ + long ru_msgsnd; /* messages sent */ + long ru_msgrcv; /* messages received */ + long ru_nsignals; /* signals received */ + long ru_nvcsw; /* voluntary context switches */ + long ru_nivcsw; /* involuntary " */ +}; + +/* + * Resource limits + */ + +#define RLIMIT_CPU 0 /* CPU time in ms */ +#define RLIMIT_FSIZE 1 /* Maximum filesize */ +#define RLIMIT_DATA 2 /* max data size */ +#define RLIMIT_STACK 3 /* max stack size */ +#define RLIMIT_CORE 4 /* max core file size */ +#define RLIMIT_RSS 5 /* max resident set size */ + +#ifdef notdef +#define RLIMIT_MEMLOCK 6 /* max locked-in-memory address space*/ +#define RLIMIT_NPROC 7 /* max number of processes */ +#define RLIMIT_NOFILE 8 /* max number of open files */ +#endif + +#define RLIM_NLIMITS 6 + +#define RLIM_INFINITY ((long)(~0UL>>1)) + +struct rlimit { + int rlim_cur; + int rlim_max; +}; + +#define PRIO_MIN (-99) +#define PRIO_MAX 14 + +#define PRIO_PROCESS 0 +#define PRIO_PGRP 1 +#define PRIO_USER 2 + +#endif |