This library provides the functionality of the internal pci-api used by
drivers inside the linux 2.4.18 kernel. It can be used stand-alone, or it
can be linked together with drivers from linux 2.4.18.

Functionality:
PCI access: read/write, memory/io port resource management, some fixups,
device and vendor names

Not included: Interrupt fixup, interrupt-handling on hotplug. This requires
either a lot of hacking, or external support for irq resource management

External requirements:
The user must provide two functions: libpci_lock and libpci_unlock. These
functions are used for internal locking against parallel execution. If you
run a single-threaded system, or can ensure that pci-functions arent called
in parallel, these functions can be dummies.

External memory management is not needed. If you encounter problems with
memory shortage in this lib, look at the defines in libpci-compat24.h:
libpci_compat_MAX_DEV, libpci_compat_MAX_BUS, libpci_compat_MAX_RES. They
specify how much pci_dev-structs, pci_bus-structs, and resource-structs can
be internally allocated, respectively.


Namespace and nameclashes:
This library exports the various pci_xxx functions. It also provides the
resource allocation functions used in the linux 2.4.18 kernel. The resource
allocation functions are weak symbols. If you link this lib against larger
portions of the linux kernel, you can use the resource management of linux.

Symbols that are defined in the header files and that are not pci-related
(mainly the ioresource-stuff) have own names. This is to prevent clashes
with double-defines when using other linux-includes. If you intend to link
this lib with other linux-stuff, just include the original linux-headers and
this should be ok (as long as you use the same linux version as this lib).

