some more work on plugin manager
[enigma2.git] / lib / base / ioprio.cpp
index 2ada7361f462cd40ab4644124c88db1b7b54e3e3..fb257401c57434e3ba57aa94185691555fbc2916 100644 (file)
@@ -15,7 +15,7 @@ extern "C" int sys_ioprio_get(int, int);
 #if defined(__i386__)
 #define __NR_ioprio_set                289
 #define __NR_ioprio_get                290
-#elif defined(__ppc__)
+#elif defined(__ppc__) || defined(__powerpc__)
 #define __NR_ioprio_set                273
 #define __NR_ioprio_get                274
 #elif defined(__x86_64__)
@@ -31,9 +31,25 @@ extern "C" int sys_ioprio_get(int, int);
 #error "Unsupported arch"
 #endif
 
+#if defined(_syscall3) && defined(_syscall2)
+
 _syscall3(int, ioprio_set, int, which, int, who, int, ioprio);
 _syscall2(int, ioprio_get, int, which, int, who);
 
+#else
+
+static inline int ioprio_set(int which, int who, int ioprio)
+{
+       return syscall(__NR_ioprio_set, which, who, ioprio);
+}
+
+static inline int ioprio_get(int which, int who)
+{
+       return syscall(__NR_ioprio_get, which, who);
+}
+
+#endif
+
 #define IOPRIO_CLASS_SHIFT     13
 
 enum {