Provided by: manpages-dev_3.35-0.1ubuntu1_all bug

NAME

       pciconfig_read, pciconfig_write, pciconfig_iobase - pci device information handling

SYNOPSIS

       #include <pci.h>

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

DESCRIPTION

       Most  of  the interaction with PCI devices is already handled by the kernel PCI layer, and
       thus these calls should not normally need to be accessed from userspace.

       pciconfig_read()
              Reads to buf from device dev at offset off value.

       pciconfig_write()
              Writes from buf to device dev at offset off value.

       pciconfig_iobase()
              You pass it a bus/devfn pair and get a  physical  address  for  either  the  memory
              offset  (for  things like prep, this is 0xc0000000), the IO base for PIO cycles, or
              the ISA holes if any.

RETURN VALUE

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

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

       pciconfig_iobase()
              Returns information  on  locations  of  various  I/O  regions  in  physical  memory
              according  to  the  which  value.   Values  for  which  are:  IOBASE_BRIDGE_NUMBER,
              IOBASE_MEMORY, IOBASE_IO, IOBASE_ISA_IO, IOBASE_ISA_MEM.

ERRORS

       EINVAL len value is invalid.  This does not apply to pciconfig_iobase().

       EIO    I/O error.

       ENODEV For pciconfig_iobase(), "hose" value is NULL.  For the other calls, could not  find
              a slot.

       ENOSYS The system has not implemented these calls (CONFIG_PCI not defined).

       EOPNOTSUPP
              This  return  value  is  only  valid for pciconfig_iobase().  It is returned if the
              value for which is invalid.

       EPERM  User  does  not  have  the  CAP_SYS_ADMIN  capability.   This  does  not  apply  to
              pciconfig_iobase().

CONFORMING TO

       These calls are Linux-specific, available since Linux 2.0.26/2.1.11.

SEE ALSO

       capabilities(7)

COLOPHON

       This  page  is  part of release 3.35 of the Linux man-pages project.  A description of the
       project, and information about reporting bugs, can be found at  http://man7.org/linux/man-
       pages/.