I386_IOPL(2) | System Calls Manual (i386) | I386_IOPL(2)

# NAME

i386_iopl — change the i386 I/O privilege level

# LIBRARY

i386 Architecture Library (libi386, -li386)

# SYNOPSIS

#include <sys/types.h>
#include <machine/sysarch.h>

int
i386_iopl(int iopl);

# DESCRIPTION

i386_iopl() sets the i386 I/O privilege level to the value specified by iopl. This call is restricted to the super-user.

# RETURN VALUES

Upon successful completion, i386_iopl() returns 0. Otherwise, a value of -1 is returned and the global variable errno is set to indicate the error.

# ERRORS

i386_iopl() will fail if:

[EPERM]
  The caller was not the super-user, or the operation was not permitted at the current security level.

# REFERENCES

i386 Microprocessor Programmer's Reference Manual, Intel

# WARNING

You can really hose your machine if you enable user-level I/O and write to hardware ports without care.

April 12, 2004 | NetBSD 7.2