.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1993 Michael Haardt .\" (michael@moria.de) .\" Fri Apr 2 11:32:09 MET DST 1993 .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" Modified Sat Jul 24 15:12:05 1993 by Rik Faith .\" Modified Tue Aug 1 16:27 1995 by Jochen Karrer .\" .\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond .\" Modified Mon Feb 15 17:28:41 CET 1999 by Andries E. Brouwer .\" Modified, 27 May 2004, Michael Kerrisk .\" Added notes on capability requirements .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ioperm 2 "2 мая 2024 г." "Справочные страницы Linux 6.9.1" .SH НАИМЕНОВАНИЕ ioperm \- устанавливает права на работу с портами ввода/вывода .SH БИБЛИОТЕКА Стандартная библиотека языка C (\fIlibc\fP, \fI\-lc\fP) .SH ОБЗОР .nf \fB#include \fP .P \fBint ioperm(unsigned long \fP\fIfrom\fP\fB, unsigned long \fP\fInum\fP\fB, int \fP\fIturn_on\fP\fB);\fP .fi .SH ОПИСАНИЕ Вызов \fBioperm\fP() устанавливает \fInum\fP бит прав доступа вызывающей нити, начиная с адреса порта \fIfrom\fP. Если \fIturn_on\fP не равно 0, то права для указанных битов устанавливаются, иначе сбрасываются. Если \fIturn_on\fP не равно 0, вызывающая нить должна быть привилегированной (\fBCAP_SYS_RAWIO\fP). .P До Linux 2.6.8, можно было указывать только первые 0x3ff портов ввода\-вывода. Для остальных портов нужно было использовать системный вызов \fBiopl\fP(2) (с аргументом \fIlevel\fP равным 3). Начиная с Linux 2.6.8, можно указывать 65536 портов ввода\-вывода. .P Права наследуются дочерним процессом, созданным \fBfork\fP(2) (но смотрите ЗАМЕЧАНИЯ). Права сохраняются при вызове \fBexecve\fP(2); это полезно для предоставления доступа к портам ввода\-вывода непривилегированным программам. .P Данный вызов, в основном, предназначен для архитектуры i386. На большинстве других архитектур он не существует или будет возвращать ошибку. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" При успешном выполнении возвращается 0. При ошибке возвращается \-1, а в \fIerrno\fP содержится код ошибки. .SH ОШИБКИ .TP \fBEINVAL\fP Неверные значения \fIfrom\fP или \fInum\fP. .TP \fBEIO\fP (на PowerPC) Этот системный вызов не поддерживается. .TP \fBENOMEM\fP .\" Could not allocate I/O bitmap. Не хватает памяти. .TP \fBEPERM\fP Вызывающая нить не имеет достаточно прав. .SH ВЕРСИИ glibc имеет прототип \fBioperm\fP() как в \fI\fP, так и в \fI\fP. Избегайте последнего, он доступен только на i386. .SH СТАНДАРТЫ Linux. .SH ИСТОРИЯ До Linux 2.4 права не наследовались потомком, созданным \fBfork\fP(2). .SH ПРИМЕЧАНИЯ В \fI/proc/ioports\fP показываются все порты ввода\-вывода, которые выделены в системе в настоящий момент. .SH "СМОТРИТЕ ТАКЖЕ" \fBiopl\fP(2), \fBoutb\fP(2), \fBcapabilities\fP(7) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Azamat Hackimov , Dmitriy S. Seregin , Yuri Kozlov , Иван Павлов и Kirill Rekhov . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .