LDI_GET_DEV(9F) Kernel Functions for Drivers LDI_GET_DEV(9F)

ldi_get_dev, ldi_get_otyp, ldi_get_devid, ldi_get_minor_name - Extract information from a layered handle

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

June 3, 2003 OmniOS