man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: July 2014
 
 

di_devfs_path_free(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) 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(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Safe

See Also

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

Writing Device Drivers for Oracle Solaris 11.2