Go to main content

man pages section 9: DDI and DKI Kernel Functions

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

ddi_dev_regsize(9F)

Name

ddi_dev_regsize - return the size of a device's register

Synopsis

#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);

Interface Level

Solaris DDI specific (Solaris DDI).

Parameters

dip

A pointer to the device's dev_info structure.

rnumber

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).

resultp

Pointer to an integer that holds the size, in bytes, of the described register (if it exists).

Description

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.

Return Values

The ddi_dev_regsize() function returns:

DDI_SUCCESS

A successful return. The size, in bytes, of the specified register, is set in resultp.

DDI_FAILURE

An invalid (non-existent) register number was specified.

Context

The ddi_dev_regsize() function can be called from user, interrupt, or kernel context.

See Also

ddi_dev_nintrs(9F), ddi_dev_nregs(9F)

Writing Device Drivers in Oracle Solaris 11.4