te
Copyright (c) 2006, Sun Microsystems, Inc.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
DDI_DEV_REGSIZE 9F "Jan 16, 2006"
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
illumos DDI specific (illumos 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 (nonexistent) 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