Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ddi_device_zero(9F) — SunOS 5.5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ddi_regs_map_free(9F)

ddi_regs_map_setup(9F)

ddi_device_zero(9F)

NAME

ddi_device_zero − zero fill the device

SYNOPSIS

#include <sys/ddi.h>
#include <sys/sunddi.h>

int ddi_device_zero(ddi_acc_handle_t handle, caddr_t dev_addr, size_t bytecount,

long dev_advcnt, ulong_t dev_datasz);

INTERFACE LEVEL

Solaris DDI specific (Solaris DDI). 

ARGUMENTS

handle The data access handle returned from setup calls, such as ddi_regs_map_setup(9F). 

dev_addr Beginning of the device address. 

bytecount Number of bytes to zero. 

dev_advcnt Number of dev_datasz units to advance on every access. 

dev_datasz The size of each data word.  Possible values are defined as:

DDI_DATA_SZ01_ACC
1 byte data size

DDI_DATA_SZ02_ACC
2 bytes data size

DDI_DATA_SZ04_ACC
4 bytes data size

DDI_DATA_SZ08_ACC
8 bytes data size

DESCRIPTION

ddi_device_zero() function fills the given, bytecount, number of byte of zeroes to the device register or memory. 

The dev_advcnt argument determines the value of the device address, dev_addr, on each access. A value of 0 will use the same device address, dev_addr, 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/decremented in dev_datasz units. 

The dev_datasz argument determines the size of data word on each access. 

RETURN VALUES

ddi_device_zero() returns:

DDI_SUCCESS
Successfully zeroed the data.

DDI_FAILURE
The byte count is not a multiple of dev_datasz.

CONTEXT

ddi_device_zero() can be called from user, kernel, or interrupt context. 

SEE ALSO

ddi_regs_map_free(9F), ddi_regs_map_setup(9F)

Writing Device Drivers

SunOS 5.5.1  —  Last change: 10 Jan 1995

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026