1 /* 2 * Resource control/accounting header file for linux-86 3 */ 4 5 #ifndef __LINUXMT_RESOURCE_H 6 #define __LINUXMT_RESOURCE_H 7 8 #include <features.h> 9 #include <sys/time.h> 10 #include <limits.h> 11 12 #define RUSAGE_SELF 0 13 #define RUSAGE_CHILDREN (-1) 14 #define RUSAGE_BOTH (-2) /* sys_wait4() uses this */ 15 16 struct rusage { 17 struct timeval ru_utime; /* user time used */ 18 struct timeval ru_stime; /* system time used */ 19 long ru_maxrss; /* maximum resident set size */ 20 long ru_ixrss; /* integral shared memory size */ 21 long ru_idrss; /* integral unshared data size */ 22 long ru_isrss; /* integral unshared stack size */ 23 long ru_minflt; /* page reclaims */ 24 long ru_majflt; /* page faults */ 25 long ru_nswap; /* swaps */ 26 long ru_inblock; /* block input operations */ 27 long ru_oublock; /* block output operations */ 28 long ru_msgsnd; /* messages sent */ 29 long ru_msgrcv; /* messages received */ 30 long ru_nsignals; /* signals received */ 31 long ru_nvcsw; /* voluntary context switches */ 32 long ru_nivcsw; /* involuntary " */ 33 }; 34 35 #define RLIM_INFINITY ((long)(~0UL>>1)) 36 37 struct rlimit { 38 long rlim_cur; 39 long rlim_max; 40 }; 41 42 #define PRIO_MIN (-20) 43 #define PRIO_MAX 20 44 45 #define PRIO_PROCESS 0 46 #define PRIO_PGRP 1 47 #define PRIO_USER 2 48 49 #define RLIMIT_CPU 0 /* CPU time in ms */ 50 #define RLIMIT_FSIZE 1 /* Maximum filesize */ 51 #define RLIMIT_DATA 2 /* max data size */ 52 #define RLIMIT_STACK 3 /* max stack size */ 53 #define RLIMIT_CORE 4 /* max core file size */ 54 #define RLIMIT_RSS 5 /* max resident set size */ 55 #define RLIMIT_NPROC 6 /* max number of processes */ 56 #define RLIMIT_NOFILE 7 /* max number of open files */ 57 #define RLIMIT_MEMLOCK 8 /* max locked-in-memory address space */ 58 59 #define RLIM_NLIMITS 9 60 61 extern int getrlimit __P ((int __resource, 62 struct rlimit *__rlp)); 63 extern int setrlimit __P ((int __resource, 64 __const struct rlimit *__rlp)); 65 66 extern int getpriority __P((int __which, int __who)); 67 extern int setpriority __P((int __which, int __who, 68 int __prio)); 69 70 extern int __getrusage __P ((int __who, struct rusage *__rusage)); 71 extern int getrusage __P ((int __who, struct rusage *__rusage)); 72 73 #endif /* __LINUXMT_RESOURCE_H */ 74