.\" -*- 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 "30 марта 2023 г." "Linux man\-pages 6.05.01" .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 LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .PP \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 .PP \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 .PP \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 ждут завершения операции ввода\-вывода. .PP .\" , given the following information .\" in addition to that given in .\" .BR outb (9). В основном, они предназначены для использования внутри ядра, но могут быть вызваны и из пользовательского пространства. .PP Вы должны скомпилировать свою программу с флагами \fB\-O\fP, \fB\-O2\fP и им подобными. Данные вызовы определены в виде встроенных макросов и не будут подставляться без включённой оптимизации, что приводит к появлению неразрешаемых ссылок в процессе компоновки программы. .PP Для того, чтобы запросить у ядра разрешение доступа к портам ввода\-вывода из приложения, работающего в пользовательском пространстве, используйте \fBioperm\fP(2) или \fBiopl\fP(2). Если этого не сделать, приложение получит сообщение об ошибке сегментации. .SH ВЕРСИИ Вызовы \fBoutb\fP() и ему подобные зависят от конкретного оборудования. Аргумент \fIvalue\fP передаётся первым, а \fIport\fP \(em вторым, что является обратным порядком по сравнению с большинством реализаций этих вызовов в DOS. .SH СТАНДАРТЫ None. .SH "СМ. ТАКЖЕ" \fBioperm\fP(2), \fBiopl\fP(2) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Azamat Hackimov , Konstantin Shvaykovskiy , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .