#ifndef _SYS_RESOURCE_H #define _SYS_RESOURCE_H #define __NEED_id_t #define __NEED_time_t #define __NEED_struct_timeval #include 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