'\" te .\" Copyright (c) 1996, Sun Microsystems, Inc All Rights Reserved .TH ddi_device_zero 9F "25 Sep 1996" "SunOS 5.11" "Kernel Functions for Drivers" .SH NAME ddi_device_zero \- zero fill the device .SH SYNOPSIS .LP .nf #include #include \fBint\fR \fBddi_device_zero\fR(\fBddi_acc_handle_t\fR \fIhandle\fR, \fBcaddr_t\fR \fIdev_addr\fR, \fBsize_t\fR \fIbytecount\fR, \fBssize_t\fR \fIdev_advcnt\fR, \fBuint_t\fR \fIdev_datasz\fR); .fi .SH INTERFACE LEVEL .sp .LP Solaris DDI specific (Solaris DDI). .SH PARAMETERS .sp .ne 2 .mk .na \fB\fIhandle\fR \fR .ad .RS 15n .rt The data access handle returned from setup calls, such as \fBddi_regs_map_setup\fR(9F). .RE .sp .ne 2 .mk .na \fB\fIdev_addr\fR \fR .ad .RS 15n .rt Beginning of the device address. .RE .sp .ne 2 .mk .na \fB\fIbytecount\fR \fR .ad .RS 15n .rt Number of bytes to zero. .RE .sp .ne 2 .mk .na \fB\fIdev_advcnt\fR \fR .ad .RS 15n .rt Number of \fIdev_datasz\fR units to advance on every access. .RE .sp .ne 2 .mk .na \fB\fIdev_datasz\fR \fR .ad .RS 15n .rt The size of each data word. Possible values are defined as: .sp .ne 2 .mk .na \fB\fBDDI_DATA_SZ01_ACC\fR \fR .ad .RS 22n .rt 1 byte data size .RE .sp .ne 2 .mk .na \fB\fBDDI_DATA_SZ02_ACC\fR \fR .ad .RS 22n .rt 2 bytes data size .RE .sp .ne 2 .mk .na \fB\fBDDI_DATA_SZ04_ACC\fR \fR .ad .RS 22n .rt 4 bytes data size .RE .sp .ne 2 .mk .na \fB\fBDDI_DATA_SZ08_ACC\fR \fR .ad .RS 22n .rt 8 bytes data size .RE .RE .SH DESCRIPTION .sp .LP \fBddi_device_zero()\fR function fills the given, \fIbytecount\fR, number of byte of zeroes to the device register or memory. .sp .LP The \fIdev_advcnt\fR argument determines the value of the device address, \fIdev_addr\fR, on each access. A value of \fB0\fR will use the same device address, \fIdev_addr\fR, on every access. A positive value increments the device address in the next access while a negative value decrements the address. The device address is incremented and decremented in \fIdev_datasz\fR units. .sp .LP The \fIdev_datasz\fR argument determines the size of data word on each access. .SH RETURN VALUES .sp .LP \fBddi_device_zero()\fR returns: .sp .ne 2 .mk .na \fB\fBDDI_SUCCESS\fR \fR .ad .RS 16n .rt Successfully zeroed the data. .RE .sp .ne 2 .mk .na \fB\fBDDI_FAILURE\fR \fR .ad .RS 16n .rt The byte count is not a multiple of \fIdev_datasz\fR. .RE .SH CONTEXT .sp .LP \fBddi_device_zero()\fR can be called from user, kernel, or interrupt context. .SH SEE ALSO .sp .LP \fBddi_regs_map_free\fR(9F), \fBddi_regs_map_setup\fR(9F) .sp .LP \fIWriting Device Drivers for Oracle Solaris 11.2\fR