> Linux Reviews > man >

iopl


  1. iopl.2.man


1. iopl.2.man

Manpage of IOPL

IOPL

Section: Руководство программиста Linux (2)
Updated: 2004-05-27
Index Return to Main Contents
 

ИМЯ

iopl - меняет уровень привилегий ввода-вывода  

ОБЗОР

#include <sys/io.h>

int iopl(int level);  

ОПИСАНИЕ

iopl() изменяет уровень привилегий ввода/вывода вызывающего процесса на значение level.

Этот вызов необходим для того, чтобы 8514-совместимые X-серверы могли работать под управлением Linux. Этим X-серверам необходим доступ ко всем 65536-и портам ввода/вывода, вызова ioperm(2) для этого недостаточно.

В дополнение к неограниченному доступу к портам ввода-вывода работа на высоком уровне привилегий также позволяет процессу отключать прерывания. Скорее всего, это приведет к сбою системы, поэтому использование этой возможности не рекомендуется.

Эти права наследуются через fork(2) и execve(2).

Уровень привилегий ввода/вывода обычного процесса равен 0.

Данный вызов, в основном, предназначен для архитектуры i386. На большинстве других архитектур он не существует или будет возвращать ошибку.  

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении возвращается 0. В случае ошибки возвращается -1, а errno устанавливается в соответствующее значение.  

ОШИБКИ

EINVAL
Значение level больше 3.
ENOSYS
Этот вызов не реализован.
EPERM
У вызывающего процесса недостаточно прав вызвать iopl(); для этого требуется мандат CAP_SYS_RAWIO.
 

СООТВЕТСТВИЕ СТАНДАРТАМ

Вызов iopl() есть только в Linux. Не рекомендуется использовать её в программах, переносимых на другие системы.  

ЗАМЕЧАНИЯ

В libc5 данный вызов считается системным и имеет прототип в <unistd.h>. В glibc1 этого прототипа нет. В glibc2 в <sys/io.h> и в <sys/perm.h> этот прототип есть. Не используйте последний вариант, он существует только для i386.  

СМОТРИТЕ ТАКЖЕ

ioperm(2), capabilities(7)


 

Index

ИМЯ
ОБЗОР
ОПИСАНИЕ
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ОШИБКИ
СООТВЕТСТВИЕ СТАНДАРТАМ
ЗАМЕЧАНИЯ
СМОТРИТЕ ТАКЖЕ

This document was created by man2html using the manual pages.
Time: 17:41:23 GMT, October 23, 2013

SVENSKA - SVENSKA - SVENSKA - SVENSKA - ja - nl - pl