summaryrefslogtreecommitdiffstats
path: root/c/src/exec/posix/inline/rtems/posix/priority.inl
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/exec/posix/inline/rtems/posix/priority.inl')
-rw-r--r--c/src/exec/posix/inline/rtems/posix/priority.inl37
1 files changed, 37 insertions, 0 deletions
diff --git a/c/src/exec/posix/inline/rtems/posix/priority.inl b/c/src/exec/posix/inline/rtems/posix/priority.inl
new file mode 100644
index 0000000000..dc8187d4ef
--- /dev/null
+++ b/c/src/exec/posix/inline/rtems/posix/priority.inl
@@ -0,0 +1,37 @@
+/*
+ * $Id$
+ */
+
+#ifndef __RTEMS_POSIX_PRIORITY_inl
+#define __RTEMS_POSIX_PRIORITY_inl
+
+/*
+ * 1003.1b-1993,2.2.2.80 definition of priority, p. 19
+ *
+ * "Numericallly higher values represent higher priorities."
+ *
+ * Thus, RTEMS Core has priorities run in the opposite sense of the POSIX API.
+ */
+
+RTEMS_INLINE_ROUTINE boolean _POSIX_Priority_Is_valid(
+ int priority
+)
+{
+ return (boolean) (priority >= 1 && priority <= 254);
+}
+
+RTEMS_INLINE_ROUTINE Priority_Control _POSIX_Priority_To_core(
+ int priority
+)
+{
+ return (Priority_Control) (255 - priority);
+}
+
+RTEMS_INLINE_ROUTINE int _POSIX_Priority_From_core(
+ Priority_Control priority
+)
+{
+ return 255 - priority;
+}
+
+#endif