X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fbase%2Fioprio.cpp;h=fb257401c57434e3ba57aa94185691555fbc2916;hb=04f4636324ab06c5a3a4f618100048e159eaf6f9;hp=2ada7361f462cd40ab4644124c88db1b7b54e3e3;hpb=9c3098c8667241d18d2551a9a37ce7fbce396b71;p=vuplus_dvbapp diff --git a/lib/base/ioprio.cpp b/lib/base/ioprio.cpp index 2ada736..fb25740 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 {