Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

di_path_client_next_path(3devinfo) [opensolaris man page]

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

NAME
di_path_client_next_path, di_path_phci_next_path - libdevinfo path node traversal functions SYNOPSIS
cc [ flag... ] file... -ldevinfo [ library... ] #include <libdevinfo.h> di_path_t di_path_client_next_path(di_node_t node node, di_path_t path); di_path_t di_path_phci_next_path(di_node_t node node, di_path_t path); PARAMETERS
node The handle to a device node in a di_init(3DEVINFO) snapshot. For di_path_client_next_path(), node must be a client device node. For di_path_phci_next_path(), node must be a pHCI device node. path DI_PATH_NIL, or the handle to a path node in a snapshot. DESCRIPTION
Each path node is an element in a pHCI-client matrix. The matrix is implemented by dual linked lists: one list links path nodes related to a common client head, and the other links path nodes related to a common pHCI head. The di_path_client_next_path() function is called on a multipathing 'client' device node, where a 'client' is the child of a vHCI device node, and is associated with a specific endpoint device identity (independent of physical paths). If the path argument is NULL, di_path_client_next_path() returns the first path node associated with the client. To walk all path nodes associated with a client, returned di_path_t values are fed back into di_path_client_next_path(), via the path argument, until a null path node is returned. For each path node, di_path_bus_addr(3DEVINFO) returns the pHCI child path node unit-address. The di_path_phci_next_path() function is called on a multipathing pHCI device node. If the path argument is NULL, di_path_phci_next_path() returns the first path node associated with the pHCI. To walk all path nodes associated with a pHCI, returned di_path_t values are fed back into di_path_phci_next_path(), via the path argument, until a null path node is returned. For each path node, di_path_client_node(3DEV- INFO) provides a pointer to the associated client device node. A device node can be a client device node of one multipathing class and a pHCI device node of another class. RETURN VALUES
Upon successful completion, a handle to the next path node is returned. Otherwise, DI_PATH_NIL is returned and errno is set to indicate the error. ERRORS
These functions will fail if: EINVAL One or more argument was invalid. ENOTSUP Path node information is not available in the snapshot. ENXIO The end of the path node list was reached. 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), di_path_bus_addr(3DEVINFO), di_path_client_node(3DEVINFO), libdevinfo(3LIB), attributes(5) Writing Device Drivers SunOS 5.11 15 May 2008 di_path_client_next_path(3DEVINFO)

Check Out this Related Man Page

di_devfs_path(3DEVINFO) 			       Device Information Library Functions				   di_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) 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 SunOS 5.11 15 May 2008 di_devfs_path(3DEVINFO)
Man Page