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]
#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);
Solaris DDI specific (Solaris DDI).
A pointer to the device's dev_info structure.
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).
Pointer to an integer that holds the size, in bytes, of the described register (if it exists).
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.
The ddi_dev_regsize() function returns: DDI_SUCCESS
A successful return. The size, in bytes, of the specified register, is set in resultp.
An invalid (nonexistent) register number was specified.
The ddi_dev_regsize() function can be called from user, interrupt, or kernel context.
ddi_dev_nintrs(9F), ddi_dev_nregs(9F)
Writing Device Drivers