DOKK / manpages / debian 10 / freebsd-manpages / BUS_WRITE_IVAR.9freebsd.en
BUS_READ_IVAR(9) Kernel Developer's Manual BUS_READ_IVAR(9)

BUS_READ_IVAR, BUS_WRITE_IVARmanipulate bus-specific device instance variables

#include <sys/param.h>
#include <sys/bus.h>

int
BUS_READ_IVAR(device_t dev, device_t child, int index, uintptr_t *result);

int
BUS_WRITE_IVAR(device_t dev, device_t child, int index, uintptr_t value);

These two methods manage a bus specific set of instance variables of a child device. The intention is that each different type of bus defines a set of appropriate instance variables (such as ports and irqs for ISA bus etc.)

This information could be given to the child device as a struct but that makes it hard for a bus to add or remove variables without forcing an edit and recompile for all drivers which may not be possible for vendor supplied binary drivers.

Zero is returned on success, otherwise an appropriate error is returned.

device(9), driver(9)

This manual page was written by Doug Rabson.

June 16, 1998 Debian