uchar_t ddi_getb(ddi_acc_handle_t handle, uchar_t *dev_addr);
ushort_t ddi_getw(ddi_acc_handle_t handle, ushort_t *dev_addr);
ulong_t ddi_getl(ddi_acc_handle_t handle, ulong_t *dev_addr);
unsigned long long ddi_getll(ddi_acc_handle_t handle, unsigned long long *dev_addr);
The ddi_getb(), ddi_getw(), ddi_getl(), and ddi_getll() functions read 8 bits, 16 bits, 32 bits and 64 bits of data, respectively, from the device address, dev_addr.
Each individual datum will automatically be translated to maintain a consistent view between the host and the device based on the encoded information in the data access handle. The translation may involve byte-swapping if the host and the device have incompatible endian characteristics.