Copyright (c) 2003, Sun Microsystems, Inc., All Rights Reserved
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/sunldi.h> int ldi_get_dev(ldi_handle_t lh, dev_t *devp);
int ldi_get_otyp(ldi_handle_t lh, int *otyp);
int ldi_get_devid(ldi_handle_t lh, ddi_devid_t *devid);
int ldi_get_minor_name(ldi_handle_t lh, char **minor_name);
lh
Layered handle
otyp
Indicates on which interface the driver was opened. Valid settings are:
OTYP_BLK
Open device block interface.
OTYP_CHR
Open device character interface.
devp
Pointer to a device number.
devid
Device ID.
minor_name
Minor device node name.
The ldi_get_dev() function retrieves the dev_t associated with a layered handle.
The ldi_get_otyp() retrieves the open flag that was used to open the device associated with the layered handle.
The ldi_get_devid() function retrieves a devid for the device associated with the layered handle. The caller should use ddi_devid_free() to free the devid when done with it.
The ldi_get_minor_name() function retrieves the name of the minor node opened for the device associated with the layered handle. ldi_get_minor_name() allocates a buffer containing the minor node name and returns it via the minor_name parameter. The caller should use kmem_free() to release the buffer when done with it.
The ldi_get_dev(), ldi_get_otyp(), ldi_get_devid(), and ldi_get_devid() functions return 0 upon success.
In case of an error, the following values may be returned:
EINVAL
Invalid input parameters.
ENOTSUP
The operation is not supported for this device.
These functions may be called from user or kernel context.