di_devfs_path(3DEVINFDevice Information Library Functiodi_devfs_path(3DEVINFO)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) snap‐
shot.
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(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Committed │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOdi_init(3DEVINFO), libdevinfo(3LIB), malloc(3C), attributes(5)
Writing Device Drivers
SunOS 5.11 15 May 2008 di_devfs_path(3DEVINFO)