DI_DEVFS_PATH(3DEVINFO) Device Information Library Functions

NAME


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

SYNOPSIS


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);


PARAMETERS


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().


DESCRIPTION


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().

RETURN VALUES


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.

ERRORS


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

ATTRIBUTES


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


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+

SEE ALSO


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


Writing Device Drivers

May 15, 2008 DI_DEVFS_PATH(3DEVINFO)