Provided by: manpages-ru-dev_4.18.1-1_all bug

ИМЯ

       pciconfig_read, pciconfig_write, pciconfig_iobase - работа с информацией устройства PCI

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <pci.h>

       int pciconfig_read(unsigned long bus, unsigned long dfn,
                          unsigned long off, unsigned long len,
                          unsigned char *buf);
       int pciconfig_write(unsigned long bus, unsigned long dfn,
                          unsigned long off, unsigned long len,
                          unsigned char *buf);
       int pciconfig_iobase(int which, unsigned long bus,
                          unsigned long devfn);

ОПИСАНИЕ

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

       pciconfig_read()
              Выполняет чтение в буфер buf из устройства dev со смещением off.

       pciconfig_write()
              Выполняет запись буфера buf в устройство dev со смещением off.

       pciconfig_iobase()
              Принимает пару шина/функция_устройства и возвращает физический адрес или смещения в
              памяти  (для  таких  вещей  как prep, это 0xc0000000), базы ввода-вывода для циклов
              PIO, или промежутки (holes) ISA, если они есть.

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

       pciconfig_read()
              On success, zero is returned.  On error,  -1  is  returned  and  errno  is  set  to
              indicate the error.

       pciconfig_write()
              On  success,  zero  is  returned.   On  error,  -1  is returned and errno is set to
              indicate the error.

       pciconfig_iobase()
              Возвращает информацию о расположении различных областей ввода-вывода  в  физической
              памяти  согласно значению which. Значениями which могут быть: IOBASE_BRIDGE_NUMBER,
              IOBASE_MEMORY, IOBASE_IO, IOBASE_ISA_IO, IOBASE_ISA_MEM.

ОШИБКИ

       EINVAL Неправильное значение len. Не применимо к pciconfig_iobase().

       EIO    Ошибка ввода-вывода.

       ENODEV Для pciconfig_iobase() значение «рукава (hose)» равно NULL. Для других  вызовов  не
              удаётся найти слот.

       ENOSYS Данные вызовы в системе не реализованы (не определён макрос CONFIG_PCI).

       EOPNOTSUPP
              Данное  значение  верно  только  для pciconfig_iobase(). Возвращается, если указано
              неверное значение which.

       EPERM  Пользователь не имеет мандата CAP_SYS_ADMIN. Не применимо к pciconfig_iobase().

СТАНДАРТЫ

       Данные вызовы есть только в Linux, они доступны начиная с версии 2.0.26/2.1.11.

СМ. ТАКЖЕ

       capabilities(7)

ПЕРЕВОД

       Русский  перевод  этой  страницы  руководства   был   сделан   Alexey,   Azamat   Hackimov
       <azamat.hackimov@gmail.com>,   kogamatranslator49  <r.podarov@yandex.ru>,  Kogan,  Max  Is
       <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.