X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Fsys%2Fresource.h;h=e0c86ae33c3e183df9b32387bd8a4bc4a897911c;hb=9432bbd4e880850357fd0a81b429499451eb2084;hp=b91890286c2a3b6f016bb6108d6cd8cfbdbb2c55;hpb=3ed8c9f2df0b5f0bfe1006037c46d4f32ec6ca7b;p=musl diff --git a/include/sys/resource.h b/include/sys/resource.h index b9189028..e0c86ae3 100644 --- a/include/sys/resource.h +++ b/include/sys/resource.h @@ -5,22 +5,26 @@ 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 */ @@ -49,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 @@ -65,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 @@ -79,6 +94,19 @@ int setpriority (int, id_t, int); #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 + +#if _REDIR_TIME64 +__REDIR(getrusage, __getrusage_time64); +#endif #ifdef __cplusplus }