From 2f078db56fe65c0720078c1af9dac3ed6e9c5252 Mon Sep 17 00:00:00 2001 From: Andreas Oberritter Date: Tue, 25 Mar 2008 15:48:44 +0000 Subject: [PATCH] adjust ioprio_get/set for kernels which don't define _syscall2/3 (i.e. 2.6.24 and higher) --- lib/base/ioprio.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/base/ioprio.cpp b/lib/base/ioprio.cpp index 63e6ff48..fb257401 100644 --- a/lib/base/ioprio.cpp +++ b/lib/base/ioprio.cpp @@ -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 { -- 2.30.2