xref: /illumos-gate/usr/src/man/man3devinfo/di_node_private_set.3devinfo (revision b30d193948be5a7794d7ae3ba0ed9c2f72c88e0f)
te
Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
DI_NODE_PRIVATE_SET 3DEVINFO "May 15, 2008"
NAME
di_node_private_set, di_node_private_get, di_path_private_set, di_path_private_get, di_minor_private_set, di_minor_private_get, di_link_private_set, di_link_private_get, di_lnode_private_set, di_lnode_private_get - manipulate libdevinfo user traversal pointers
SYNOPSIS

cc [ flag.\|.\|. ] file.\|.\|. -ldevinfo [ library.\|.\|. ]
#include <libdevinfo.h>

void di_node_private_set(di_node_t node, void *data);

void *di_node_private_get(di_node_t node);

void di_path_private_set(di_path_t path, void *data);

void *di_path_private_get(di_path_t path);

void di_minor_private_set(di_minor_t minor, void *data);

void *di_minor_private_get(di_minor_t minor);

void di_link_private_set(di_link_t link, void *data);

void *di_link_private_get(di_link_t link);

void di_lnode_private_set(di_lnode_t lnode, void *data);

void *di_lnode_private_get(di_lnode_t lnode);
PARAMETERS
node

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

path

The handle to a path node in a snapshot.

minor

The handle to a minor node in a snapshot.

link

The handle to a link in a snapshot.

lnode

The handle to an lnode in a snapshot.

data

A pointer to caller-specific data.

DESCRIPTION

The di_node_private_set() function allows a caller to associate caller-specific data pointed to by data with a devinfo node, thereby facilitating traversal of devinfo nodes in the snapshot.

The di_node_private_get() function allows a caller to retrieve a data pointer that was associated with a devinfo node obtained by a call to di_node_private_set().

The di_path_private_set() function allows a caller to associate caller-specific data pointed to by data with a devinfo path node, thereby facilitating traversal of path nodes in the snapshot.

The di_path_private_get()function allows a caller to retrieve a data pointer that was associated with a path node obtained by a call to di_path_private_set().

The di_minor_private_set() function allows a caller to associate caller-specific data pointed to by data with a minor node specified by minor, thereby facilitating traversal of minor nodes in the snapshot.

The di_minor_private_get() function allows a caller to retrieve a data pointer that was associated with a minor node obtained by a call to di_minor_private_set().

The di_link_private_set() function allows a caller to associate caller-specific data pointed to by data with a link, thereby facilitating traversal of links in the snapshot.

The di_link_private_get() function allows a caller to retrieve a data pointer that was associated with a link obtained by a call to di_link_private_set().

The di_lnode_private_set() function allows a caller to associate caller-specific data pointed to by data with an lnode specified by lnode, thereby facilitating traversal of lnodes in the snapshot.

The di_lnode_private_get() function allows a caller to retrieve a data pointer that was associated with an lnode by a call to di_lnode_private_set().

These functions do not perform any type of locking. It is up to the caller to satisfy any locking needs.

RETURN VALUES

The di_node_private_set(), di_path_private_set(), di_minor_private_set(), di_link_private_set(), and di_lnode_private_set() functions do not return values.

The di_node_private_get(), di_path_private_get(), di_minor_private_get(), di_link_private_get(), and di_lnode_private_get() functions return a pointer to caller-specific data that was initialized with their corresponding *_set() function. If no caller-specific data was assigned with a *_set() function, the results are undefined.

ERRORS

No errors are defined.

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), attributes(5)