12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #ifndef _SYS_RESOURCE_H
- #define _SYS_RESOURCE_H
- #define __NEED_id_t
- #define __NEED_time_t
- #define __NEED_struct_timeval
- #include <bits/alltypes.h>
- typedef unsigned long long rlim_t;
- struct rlimit
- {
- rlim_t rlim_cur;
- rlim_t rlim_max;
- };
- struct rusage
- {
- struct timeval ru_utime;
- struct timeval ru_stime;
- /* linux extentions, but useful */
- long ru_maxrss;
- long ru_ixrss;
- long ru_idrss;
- long ru_isrss;
- long ru_minflt;
- long ru_majflt;
- long ru_nswap;
- long ru_inblock;
- long ru_oublock;
- long ru_msgsnd;
- long ru_msgrcv;
- long ru_nsignals;
- long ru_nvcsw;
- long ru_nivcsw;
- /* room for more... */
- long __reserved[16];
- };
- int getrlimit (int, struct rlimit *);
- int setrlimit (int, const struct rlimit *);
- int getrusage (int, struct rusage *);
- int getpriority (int, id_t);
- int setpriority (int, id_t, int);
- #define PRIO_PROCESS 0
- #define PRIO_PGRP 1
- #define PRIO_USER 2
- #define RUSAGE_SELF 0
- #define RUSAGE_CHILDREN 1
- #define RLIM_INFINITY (~0ULL)
- #define RLIM_SAVED_CUR RLIM_INFINITY
- #define RLIM_SAVED_MAX RLIM_INFINITY
- #define RLIMIT_CPU 0
- #define RLIMIT_FSIZE 1
- #define RLIMIT_DATA 2
- #define RLIMIT_STACK 3
- #define RLIMIT_CORE 4
- #define RLIMIT_RSS 5
- #define RLIMIT_NOFILE 7
- #define RLIMIT_AS 9
- #define RLIMIT_NPROC 6
- #define RLIMIT_MEMLOCK 8
- #define RLIMIT_LOCKS 10
- #endif
|