> Linux Reviews > man >

ioperm


  1. ioperm.2.man


1. ioperm.2.man

Manpage of IOPERM

IOPERM

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

ИМЯ

ioperm - устанавливает права на работу с портами ввода/вывода  

ОБЗОР

#include <unistd.h> /* для libc5 */
#include <sys/io.h> /* для glibc */

int ioperm(unsigned long from, unsigned long num, int turn_on);  

ОПИСАНИЕ

ioperm() устанавливает биты прав доступа вызывающего процесса к порту ввода-вывода num, начиная с адреса порта from до значения turn_on. Если turn_on не равно 0, вызывающий процесс должен быть привилегированным (CAP_SYS_RAWIO).

Можно задать права доступа только к первым 0x3ff портам ввода-вывода. Для работы с другими портами необходимо использовать системный вызов iopl(2).

Права не наследуются при вызове fork(2); права сохраняются при вызове execve(2); это можно использовать для предоставления доступа к портам ввода-вывода непривилегированным программам.

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

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

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

ОШИБКИ

EINVAL
Неверные значения from или num.
EIO
(на PowerPC) Этот системный вызов не поддерживается.
ENOMEM
Не хватает памяти.
EPERM
Вызывающий процесс не имеет достаточно прав.
 

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

Вызов ioperm() есть только в Linux. Он не должен использоваться в переносимых программах.  

ЗАМЕЧАНИЯ

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

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

iopl(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