summaryrefslogtreecommitdiff
path: root/klibc/include/sched.h
diff options
context:
space:
mode:
Diffstat (limited to 'klibc/include/sched.h')
-rw-r--r--klibc/include/sched.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/klibc/include/sched.h b/klibc/include/sched.h
new file mode 100644
index 0000000000..fcf62a6e4f
--- /dev/null
+++ b/klibc/include/sched.h
@@ -0,0 +1,34 @@
+/*
+ * sched.h
+ */
+
+#ifndef _SCHED_H
+#define _SCHED_H
+
+#include <klibc/extern.h>
+
+/* linux/sched.h is unusable; put the declarations we need here... */
+
+#define SCHED_NORMAL 0
+#define SCHED_FIFO 1
+#define SCHED_RR 2
+
+struct sched_param {
+ int sched_priority;
+};
+
+__extern int sched_setscheduler(pid_t, int, const struct sched_param *);
+__extern int sched_yield(void);
+
+/* Raw interfaces to clone(2); only actually usable for non-VM-cloning */
+#ifdef __ia64__
+__extern pid_t __clone2(int, void *, void *);
+static __inline__ pid_t __clone(int _f, void *_sp)
+{
+ return __clone2(_f, _sp, 0);
+}
+#else
+__extern pid_t __clone(int, void *);
+#endif
+
+#endif /* _SCHED_H */