X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=include%2Fsys%2Fresource.h;h=70d793d563f588469f74e670ac6a993aa528a407;hb=03919b26ed41c31876db41f7cee076ced4513fad;hp=42febc0aa8b4ea3222a3273e446da1b4cedfc17b;hpb=209f2bbd95cfac3a71bb8afa452c794d1ccf94cf;p=musl diff --git a/include/sys/resource.h b/include/sys/resource.h index 42febc0a..70d793d5 100644 --- a/include/sys/resource.h +++ b/include/sys/resource.h @@ -1,22 +1,30 @@ #ifndef _SYS_RESOURCE_H #define _SYS_RESOURCE_H +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + #define __NEED_id_t -#define __NEED_time_t -#define __NEED_struct_timeval + +#ifdef _GNU_SOURCE +#define __NEED_pid_t +#endif #include +#include typedef unsigned long long rlim_t; -struct rlimit -{ +struct rlimit { rlim_t rlim_cur; rlim_t rlim_max; }; -struct rusage -{ +struct rusage { struct timeval ru_utime; struct timeval ru_stime; /* linux extentions, but useful */ @@ -45,12 +53,21 @@ 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 RUSAGE_CHILDREN (-1) +#define RUSAGE_THREAD 1 #define RLIM_INFINITY (~0ULL) #define RLIM_SAVED_CUR RLIM_INFINITY @@ -61,11 +78,13 @@ int setpriority (int, id_t, int); #define RLIMIT_DATA 2 #define RLIMIT_STACK 3 #define RLIMIT_CORE 4 +#ifndef RLIMIT_RSS #define RLIMIT_RSS 5 -#define RLIMIT_NOFILE 7 -#define RLIMIT_AS 9 #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 @@ -73,9 +92,20 @@ int setpriority (int, id_t, int); #define RLIMIT_RTPRIO 14 #define RLIMIT_NLIMITS 15 -#ifdef _GNU_SOURCE -#define RLIMT_NLIMIT RLIMIT_NLIMITS +#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