| Index: fusl/include/sys/resource.h
|
| diff --git a/fusl/include/sys/resource.h b/fusl/include/sys/resource.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cc33de7445e28e50e2f056f3861bd6173ff83167
|
| --- /dev/null
|
| +++ b/fusl/include/sys/resource.h
|
| @@ -0,0 +1,112 @@
|
| +#ifndef _SYS_RESOURCE_H
|
| +#define _SYS_RESOURCE_H
|
| +
|
| +#ifdef __cplusplus
|
| +extern "C" {
|
| +#endif
|
| +
|
| +#include <features.h>
|
| +#include <sys/time.h>
|
| +
|
| +#define __NEED_id_t
|
| +
|
| +#ifdef _GNU_SOURCE
|
| +#define __NEED_pid_t
|
| +#endif
|
| +
|
| +#include <bits/alltypes.h>
|
| +#include <bits/resource.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);
|
| +
|
| +#ifdef _GNU_SOURCE
|
| +int prlimit(pid_t, int, const struct rlimit *, struct rlimit *);
|
| +#define prlimit64 prlimit
|
| +#endif
|
| +
|
| +#define PRIO_MIN (-20)
|
| +#define PRIO_MAX 20
|
| +
|
| +#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
|
| +#ifndef RLIMIT_RSS
|
| +#define RLIMIT_RSS 5
|
| +#define RLIMIT_NPROC 6
|
| +#define RLIMIT_NOFILE 7
|
| +#define RLIMIT_MEMLOCK 8
|
| +#define RLIMIT_AS 9
|
| +#endif
|
| +#define RLIMIT_LOCKS 10
|
| +#define RLIMIT_SIGPENDING 11
|
| +#define RLIMIT_MSGQUEUE 12
|
| +#define RLIMIT_NICE 13
|
| +#define RLIMIT_RTPRIO 14
|
| +#define RLIMIT_NLIMITS 15
|
| +
|
| +#define RLIM_NLIMITS RLIMIT_NLIMITS
|
| +
|
| +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
|
| +#define RLIM64_INFINITY RLIM_INFINITY
|
| +#define RLIM64_SAVED_CUR RLIM_SAVED_CUR
|
| +#define RLIM64_SAVED_MAX RLIM_SAVED_MAX
|
| +#define getrlimit64 getrlimit
|
| +#define setrlimit64 setrlimit
|
| +#define rlimit64 rlimit
|
| +#define rlim64_t rlim_t
|
| +#endif
|
| +
|
| +#ifdef __cplusplus
|
| +}
|
| +#endif
|
| +
|
| +#endif
|
|
|