#include <sys/ddi.h> #include <sys/sunddi.h>int ddi_mapdev_set_device_acc_attr(ddi_mapdev_handle_t mapping_handle, off_t offset, off_t len, ddi_device_acc_attr_t *accattrp, uint_t rnumber);
Solaris DDI specific (Solaris DDI).
A pointer to a device mapping handle.
The offset within device memory to which the device access attributes structure applies.
Length (in bytes) of the memory to which the device access attributes structure applies.
Pointer to a ddi_device_acc_attr(9S) structure. Contains the device access attributes to be applied to this range of memory.
Index number to the register address space set.
The ddi_mapdev_set_device_acc_attr() function assigns device access attributes to a range of device memory in the register set given by rnumber.
*accattrp defines the device access attributes. See ddi_device_acc_attr(9S) for more details.
mapping_handle is a mapping handle returned from a call to ddi_mapdev(9F).
The range to be affected is defined by the offset and len arguments. Requests affect the entire page containing the offset and all pages up to and including the page containing the last byte as indicated by offset+len. Supplying a value of 0 for the len argument affects all addresses from the offset to the end of the mapping. Supplying a value of 0 for the offset argument and a value of 0 for the len argument affect all addresses in the mapping.
The ddi_mapdev_set_device_acc_attr() function returns the following values:
The attributes were successfully set.
It is not possible to set these attributes for this mapping handle.
This routine can be called from user or kernel context only.