X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/9c3098c8667241d18d2551a9a37ce7fbce396b71..cc250de04712b9d585642cc9317a3b3319b94b89:/lib/base/ioprio.cpp diff --git a/lib/base/ioprio.cpp b/lib/base/ioprio.cpp index 2ada7361..fb257401 100644 --- a/lib/base/ioprio.cpp +++ b/lib/base/ioprio.cpp @@ -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 {