diff options
-rw-r--r-- | include/sys/io.h | 13 | ||||
-rw-r--r-- | src/linux/ioperm.c | 9 | ||||
-rw-r--r-- | src/linux/iopl.c | 9 |
3 files changed, 31 insertions, 0 deletions
diff --git a/include/sys/io.h b/include/sys/io.h new file mode 100644 index 00000000..a6ba4674 --- /dev/null +++ b/include/sys/io.h @@ -0,0 +1,13 @@ +#ifndef _SYS_IO_H +#define _SYS_IO_H +#ifdef __cplusplus +extern "C" { +#endif + +int ioperm(unsigned long, unsigned long, int); +int iopl(int); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/linux/ioperm.c b/src/linux/ioperm.c new file mode 100644 index 00000000..6d7c37d0 --- /dev/null +++ b/src/linux/ioperm.c @@ -0,0 +1,9 @@ +#include <sys/io.h> +#include "syscall.h" + +#ifdef SYS_ioperm +int ioperm(unsigned long from, unsigned long num, int turn_on) +{ + return syscall(SYS_ioperm, from, num, turn_on); +} +#endif diff --git a/src/linux/iopl.c b/src/linux/iopl.c new file mode 100644 index 00000000..5a626e16 --- /dev/null +++ b/src/linux/iopl.c @@ -0,0 +1,9 @@ +#include <sys/io.h> +#include "syscall.h" + +#ifdef SYS_iopl +int iopl(int level) +{ + return syscall(SYS_iopl, level); +} +#endif |