.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1995 Paul Gortmaker .\" (gpg109@rsphy1.anu.edu.au) .\" Wed Nov 29 10:58:54 EST 1995 .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH outb 2 "23 июля 2024 г." "Linux man\-pages 6.12" .SH НАИМЕНОВАНИЕ outb, outw, outl, outsb, outsw, outsl, inb, inw, inl, insb, insw, insl, outb_p, outw_p, outl_p, inb_p, inw_p, inl_p \- ввод/вывод в порт .SH БИБЛИОТЕКА Standard C library (\fIlibc\fP,\ \fI\-lc\fP) .SH ОБЗОР .nf \fB#include \fP .P \fBunsigned char inb(unsigned short \fP\fIport\fP\fB);\fP \fBunsigned char inb_p(unsigned short \fP\fIport\fP\fB);\fP \fBunsigned short inw(unsigned short \fP\fIport\fP\fB);\fP \fBunsigned short inw_p(unsigned short \fP\fIport\fP\fB);\fP \fBunsigned int inl(unsigned short \fP\fIport\fP\fB);\fP \fBunsigned int inl_p(unsigned short \fP\fIport\fP\fB);\fP .P \fBvoid outb(unsigned char \fP\fIvalue\fP\fB, unsigned short \fP\fIport\fP\fB);\fP \fBvoid outb_p(unsigned char \fP\fIvalue\fP\fB, unsigned short \fP\fIport\fP\fB);\fP \fBvoid outw(unsigned short \fP\fIvalue\fP\fB, unsigned short \fP\fIport\fP\fB);\fP \fBvoid outw_p(unsigned short \fP\fIvalue\fP\fB, unsigned short \fP\fIport\fP\fB);\fP \fBvoid outl(unsigned int \fP\fIvalue\fP\fB, unsigned short \fP\fIport\fP\fB);\fP \fBvoid outl_p(unsigned int \fP\fIvalue\fP\fB, unsigned short \fP\fIport\fP\fB);\fP .P \fBvoid insb(unsigned short \fP\fIport\fP\fB, void \fP\fIaddr\fP\fB[.\fP\fIcount\fP\fB],\fP \fB unsigned long \fP\fIcount\fP\fB);\fP \fBvoid insw(unsigned short \fP\fIport\fP\fB, void \fP\fIaddr\fP\fB[.\fP\fIcount\fP\fB],\fP \fB unsigned long \fP\fIcount\fP\fB);\fP \fBvoid insl(unsigned short \fP\fIport\fP\fB, void \fP\fIaddr\fP\fB[.\fP\fIcount\fP\fB],\fP \fB unsigned long \fP\fIcount\fP\fB);\fP \fBvoid outsb(unsigned short \fP\fIport\fP\fB, const void \fP\fIaddr\fP\fB[.\fP\fIcount\fP\fB],\fP \fB unsigned long \fP\fIcount\fP\fB);\fP \fBvoid outsw(unsigned short \fP\fIport\fP\fB, const void \fP\fIaddr\fP\fB[.\fP\fIcount\fP\fB],\fP \fB unsigned long \fP\fIcount\fP\fB);\fP \fBvoid outsl(unsigned short \fP\fIport\fP\fB, const void \fP\fIaddr\fP\fB[.\fP\fIcount\fP\fB],\fP \fB unsigned long \fP\fIcount\fP\fB);\fP .fi .SH ОПИСАНИЕ Это семейство вызовов используется для низкоуровневой работы с портами ввода/вывода. Вызовы out* выполняют запись в порт, а вызовы in* выполняют чтение из порта; вызовы с суффиксом b работают с данными шириной один байт, а вызовы с суффиксом w работают с данными шириной в одно слово; вызовы с суффиксом _p ждут завершения операции ввода\-вывода. .P .\" , given the following information .\" in addition to that given in .\" .BR outb (9). В основном, они предназначены для использования внутри ядра, но могут быть вызваны и из пользовательского пространства. .P Вы должны скомпилировать свою программу с флагами \fB\-O\fP, \fB\-O2\fP и им подобными. Данные вызовы определены в виде встроенных макросов и не будут подставляться без включённой оптимизации, что приводит к появлению неразрешаемых ссылок в процессе компоновки программы. .P Для того, чтобы запросить у ядра разрешение доступа к портам ввода\-вывода из приложения, работающего в пользовательском пространстве, используйте \fBioperm\fP(2) или \fBiopl\fP(2). Если этого не сделать, приложение получит сообщение об ошибке сегментации. .SH ВЕРСИИ Вызовы \fBoutb\fP() и ему подобные зависят от конкретного оборудования. Аргумент \fIvalue\fP передаётся первым, а \fIport\fP \(em вторым, что является обратным порядком по сравнению с большинством реализаций этих вызовов в DOS. .SH СТАНДАРТЫ Отсутствуют. .SH "СМОТРИТЕ ТАКЖЕ" \fBioperm\fP(2), \fBiopl\fP(2) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Azamat Hackimov , Konstantin Shvaykovskiy , 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 .