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

НАИМЕНОВАНИЕ

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

БИБЛИОТЕКА

       Стандартная библиотека языка C (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()
              При  успешном  выполнении  возвращается  ноль.  В  случае  ошибки   возвращается   -1,   а   errno
              устанавливается в соответствующее значение ошибки.

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

       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.

ИСТОРИЯ

       Linux 2.0.26/2.1.11.

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

       capabilities(7)

ПЕРЕВОД

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

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                pciconfig_read(2)