simplify some logic in scanf and remove redundant invalid-format check
[musl] / include / sys / resource.h
1 #ifndef _SYS_RESOURCE_H
2 #define _SYS_RESOURCE_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #include <features.h>
9
10 #define __NEED_id_t
11 #define __NEED_time_t
12 #define __NEED_struct_timeval
13
14 #ifdef _GNU_SOURCE
15 #define __NEED_pid_t
16 #endif
17
18 #include <bits/alltypes.h>
19
20 typedef unsigned long long rlim_t;
21
22 struct rlimit
23 {
24         rlim_t rlim_cur;
25         rlim_t rlim_max;
26 };
27
28 struct rusage
29 {
30         struct timeval ru_utime;
31         struct timeval ru_stime;
32         /* linux extentions, but useful */
33         long    ru_maxrss;
34         long    ru_ixrss;
35         long    ru_idrss;
36         long    ru_isrss;
37         long    ru_minflt;
38         long    ru_majflt;
39         long    ru_nswap;
40         long    ru_inblock;
41         long    ru_oublock;
42         long    ru_msgsnd;
43         long    ru_msgrcv;
44         long    ru_nsignals;
45         long    ru_nvcsw;
46         long    ru_nivcsw;
47         /* room for more... */
48         long    __reserved[16];
49 };
50
51 int getrlimit (int, struct rlimit *);
52 int setrlimit (int, const struct rlimit *);
53 int getrusage (int, struct rusage *);
54
55 int getpriority (int, id_t);
56 int setpriority (int, id_t, int);
57
58 #ifdef _GNU_SOURCE
59 int prlimit(pid_t, int, const struct rlimit *, struct rlimit *);
60 #define prlimit64 prlimit
61 #endif
62
63 #define PRIO_PROCESS 0
64 #define PRIO_PGRP    1
65 #define PRIO_USER    2
66
67 #define RUSAGE_SELF     0
68 #define RUSAGE_CHILDREN 1
69
70 #define RLIM_INFINITY (~0ULL)
71 #define RLIM_SAVED_CUR RLIM_INFINITY
72 #define RLIM_SAVED_MAX RLIM_INFINITY
73
74 #define RLIMIT_CPU     0
75 #define RLIMIT_FSIZE   1
76 #define RLIMIT_DATA    2
77 #define RLIMIT_STACK   3
78 #define RLIMIT_CORE    4
79 #define RLIMIT_RSS     5
80 #define RLIMIT_NOFILE  7
81 #define RLIMIT_AS      9
82 #define RLIMIT_NPROC   6
83 #define RLIMIT_MEMLOCK 8
84 #define RLIMIT_LOCKS   10
85 #define RLIMIT_SIGPENDING 11
86 #define RLIMIT_MSGQUEUE 12
87 #define RLIMIT_NICE    13
88 #define RLIMIT_RTPRIO  14
89 #define RLIMIT_NLIMITS 15
90
91 #define RLIM_NLIMITS RLIMIT_NLIMITS
92
93 #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
94 #define getrlimit64 getrlimit
95 #define setrlimit64 setrlimit
96 #define rlimit64 rlimit
97 #define rlim64_t rlim_t
98 #endif
99
100 #ifdef __cplusplus
101 }
102 #endif
103
104 #endif