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);
Layered handle
Indicates on which interface the driver was opened. Valid settings are:
Open device block interface.
Open device character interface.
Pointer to a device number.
Device ID.
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:
Invalid input parameters.
The operation is not supported for this device.
These functions may be called from user or kernel context.