:man| Alphabetical   Categories   About us 
 
PCICONFIG_READ (2) | System calls | Unix Manual Pages | :man

NAME

pciconfig_read, pciconfig_write, pciconfig_iobase - pci device information handling

CONTENTS

Synopsis
Description
Errors

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

ENOSYS The system has not implemented these calls (CONFIG_PCI not defined).
EPERM User does not have the CAP_SYS_ADMIN capability. This does not apply to pci_iobase.
ENODEV For pci_iobase, hose value is NULL? For the other calls, could not find a slot.
EINVAL len value is invalid. This does not apply to pci_iobase.
EIO I/O error.
EOPNOTSUPP
This return value is only valid for pci_iobase. It is returned if the value for which is invalid.

"CONFORMING TO"

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

"Linux 2.4.19" PCICONFIG_READ (2) 2003-07-14
shtml">manServer 1.07 from pciconfig_read.2 using man macros.

 
Created by Blin Media, 2008-2013