- return the size of a device's register
#include <sys/conf.h> #include <sys/ddi.h> #include <sys/sunddi.h> int ddi_dev_regsize(dev_info_t *dip, uint_t rnumber, off_t *resultp);
Solaris DDI specific (Solaris DDI).
A pointer to the device's dev_info structure.
The ordinal register number. Device registers are associated with a dev_info and are enumerated in arbitrary sets from 0 on up. The number of registers a device has can be determined from a call to ddi_dev_nregs(9F).
Pointer to an integer that holds the size, in bytes, of the described register (if it exists).
The ddi_dev_regsize() function returns the size, in bytes, of the device register specified by dip and rnumber. This is useful when, for example, one of the registers is a frame buffer with a varying size known only to its proms.
The ddi_dev_regsize() function returns:
A successful return. The size, in bytes, of the specified register, is set in resultp.
An invalid (nonexistent) register number was specified.
The ddi_dev_regsize() function can be called from user, interrupt, or kernel context.