mirror of https://git.musl-libc.org/git/musl
Browse Source
based on patches by orc and Isaac Dunham, with some fixes. sys/io.h exists and contains prototypes for these functions regardless of whether the target arch has them; this is a bit unorthodox but I don't think it will break anything. the function definitions do not exist unless the appropriate SYS_* syscall number macro is defined, which should make sure configure scripts looking for these functions don't find them on other systems. presently, sys/io.h does not have the inb/outb/etc. port io macros/functions. I'd be surprised if ioperm/iopl are useful without them, so they probably need to be added at some point in appropriate bits/io.h files...rs-1.0
3 changed files with 31 additions and 0 deletions
@ -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 |
|||
@ -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 |
|||
@ -0,0 +1,9 @@ |
|||
#include <sys/io.h> |
|||
#include "syscall.h" |
|||
|
|||
#ifdef SYS_iopl |
|||
int iopl(int level) |
|||
{ |
|||
return syscall(SYS_iopl, level); |
|||
} |
|||
#endif |
|||
Loading…
Reference in new issue