Resuscitate POSIX subsystem from revision 21378.
[reactos.git] / rossubsys / posix / include / sched.h
diff --git a/rossubsys/posix/include/sched.h b/rossubsys/posix/include/sched.h
new file mode 100644 (file)
index 0000000..d18b2cf
--- /dev/null
@@ -0,0 +1,62 @@
+/* $Id: sched.h,v 1.4 2002/10/29 04:45:18 rex Exp $
+ */
+/*
+ * sched.h
+ *
+ * execution scheduling (REALTIME). Conforming to the Single UNIX(r)
+ * Specification Version 2, System Interface & Headers Issue 5
+ *
+ * This file is part of the ReactOS Operating System.
+ *
+ * Contributors:
+ *  Created by KJK::Hyperion <noog@libero.it>
+ *
+ *  THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ *  This source code is offered for use in the public domain. You may
+ *  use, modify or distribute it freely.
+ *
+ *  This code is distributed in the hope that it will be useful but
+ *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ *  DISCLAMED. This includes but is not limited to warranties of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+#ifndef __SCHED_H_INCLUDED__
+#define __SCHED_H_INCLUDED__
+
+/* INCLUDES */
+#include <time.h>
+
+/* OBJECTS */
+
+/* TYPES */
+struct sched_param
+{
+ int sched_priority; /* process execution scheduling priority */
+};
+
+/* CONSTANTS */
+/* First in-first out (FIFO) scheduling policy */
+#define SCHED_FIFO  (1)
+/* Round robin scheduling policy */
+#define SCHED_RR    (2)
+/* Another scheduling policy */
+#define SCHED_OTHER (3)
+
+/* PROTOTYPES */
+int    sched_get_priority_max(int);
+int    sched_get_priority_min(int);
+int    sched_getparam(pid_t, struct sched_param *);
+int    sched_getscheduler(pid_t);
+int    sched_rr_get_interval(pid_t, struct timespec *);
+int    sched_setparam(pid_t, const struct sched_param *);
+int    sched_setscheduler(pid_t, int, const struct sched_param *);
+int    sched_yield(void);
+
+/* MACROS */
+
+#endif /* __SCHED_H_INCLUDED__ */
+
+/* EOF */
+