DI_DEVFS_PATH(3DEVINFO) Device Information Library Functions DI_DEVFS_PATH(3DEVINFO)

di_devfs_path, di_devfs_minor_path, di_path_devfs_path, di_path_client_devfs_path, di_devfs_path_free - generate and free path names

cc [ flag... ] file... -ldevinfo [ library... ]
#include <libdevinfo.h>
char *di_devfs_path(di_node_t node);

char *di_devfs_minor_path(di_minor_t minor);

char *di_path_devfs_path(di_path_t path);

char *di_path_client_devfs_path(di_path_t path);

void di_devfs_path_free(char *path_buf);

node

The handle to a device node in a di_init(3DEVINFO) snapshot.

minor

The handle to a device minor node in a snapshot.

path

The handle to a device path node in a snapshot.

path_buf

A pointer returned by di_devfs_path(), di_devfs_minor_path(), di_path_devfs_path(), or di_path_client_devfs_path().

The di_devfs_path() function generates the physical path of the device node specified by node.

The di_devfs_minor_path() function generates the physical path of the device minor node specified by minor.

The di_path_devfs_path() function generates the pHCI physical path to the device associated with the specified path node. The returned string is identical to the di_devfs_path() for the device had the device not been supported by multipath.

The di_path_client_devfs_path() function generates the vHCI physical path of the multipath client device node associated with the device identity of the specified path node. The returned string is identical to the di_devfs_path() of the multipath client device node.

The di_devfs_path_free() function frees memory that was allocated to store the path returned by di_devfs_path(), di_devfs_minor_path(), di_path_devfs_path(), and di_path_client_devfs_path(). The caller is responsible for freeing this memory by calling di_devfs_path_free().

Upon successful completion, the di_devfs_path(), di_devfs_minor_path(), di_path_devfs_path(), and di_path_client_devfs_path() functions return a pointer to the string containing the path to a device node, a device minor node, or a device path node, respectively. Otherwise, they return NULL and errno is set to indicate the error. For a non-NULL return, the path will not have a "/devices" prefix.

The di_devfs_path(), di_devfs_minor_path(), di_path_devfs_path(), and di_path_client_devfs_path() functions will fail if:

EINVAL

The node, minor, or path argument is not a valid handle.

The di_devfs_path(), di_devfs_minor_path(), di_path_devfs_path(), and di_path_client_devfs_path() functions can also return any error value returned by malloc(3C).

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
MT-Level Safe

malloc(3C), di_init(3DEVINFO), libdevinfo(3LIB), attributes(7)

Writing Device Drivers

May 15, 2008 OmniOS