aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2023-01-14 03:15:20 +0100
committerBen Hutchings <ben@decadent.org.uk>2023-02-12 18:53:53 +0100
commit79ee6b096470c6627f9e921668d6745d2418c951 (patch)
tree8e9a501a7716cc2ee7c9a5b31dcd3a5338b94a9a
parent6a3789f80c027899f7a7c39be0efe3db3f28e9d9 (diff)
downloadklibc-79ee6b096470c6627f9e921668d6745d2418c951.tar.gz
[klibc] resource: Avoid using <linux/resource.h>
Our <sys/resource.h> includes <linux/resource.h>, which includes <linux/time.h>, which conflicts with 64-bit time definitions. Copy the definitions we actually need instead of including <linux/resource.h>. Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r--usr/include/sys/resource.h35
1 files changed, 33 insertions, 2 deletions
diff --git a/usr/include/sys/resource.h b/usr/include/sys/resource.h
index 5d8bd5254a589f..94ed28a596dc81 100644
--- a/usr/include/sys/resource.h
+++ b/usr/include/sys/resource.h
@@ -6,8 +6,39 @@
#define _SYS_RESOURCE_H
#include <klibc/extern.h>
-#include <sys/types.h> /* MUST be included before linux/resource.h */
-#include <linux/resource.h>
+#include <sys/types.h>
+#include <sys/time.h>
+
+#define RUSAGE_SELF 0
+#define RUSAGE_CHILDREN (-1)
+#define RUSAGE_BOTH (-2)
+#define RUSAGE_THREAD 1
+
+struct rusage {
+ struct timeval ru_utime; /* user time used */
+ struct timeval ru_stime; /* system time used */
+ __kernel_long_t ru_maxrss; /* maximum resident set size */
+ __kernel_long_t ru_ixrss; /* integral shared memory size */
+ __kernel_long_t ru_idrss; /* integral unshared data size */
+ __kernel_long_t ru_isrss; /* integral unshared stack size */
+ __kernel_long_t ru_minflt; /* page reclaims */
+ __kernel_long_t ru_majflt; /* page faults */
+ __kernel_long_t ru_nswap; /* swaps */
+ __kernel_long_t ru_inblock; /* block input operations */
+ __kernel_long_t ru_oublock; /* block output operations */
+ __kernel_long_t ru_msgsnd; /* messages sent */
+ __kernel_long_t ru_msgrcv; /* messages received */
+ __kernel_long_t ru_nsignals; /* signals received */
+ __kernel_long_t ru_nvcsw; /* voluntary context switches */
+ __kernel_long_t ru_nivcsw; /* involuntary " */
+};
+
+#define PRIO_MIN (-20)
+#define PRIO_MAX 20
+
+#define PRIO_PROCESS 0
+#define PRIO_PGRP 1
+#define PRIO_USER 2
__extern int getpriority(int, int);
__extern int setpriority(int, int, int);