PTREE_GET_NODE_BY_PATH(3PICLTREE) PICL Plug-In Library Functions PTREE_GET_NODE_BY_PATH(3PICLTREE)

ptree_get_node_by_path - get handle of node specified by PICL tree path

cc [ flag... ] file... -lpicltree [ library... ]
#include <picltree.h>
int ptree_get_node_by_path(const char *ptreepath,

picl_nodehdl_t *nodeh);

The ptree_get_node_by_path() function copies the handle of the node in the PICL tree specified by the path given in ptreepath into the location nodeh.

The syntax of a PICL tree path is:


[def_propname:]/[def_propval[match_cond] ... ]

where def_propname prefix is a shorthand notation to specify the name of the property whose value is specified in def_propval, and the match_cond expression specifies the matching criteria for that node in the form of one or more pairs of property names and values such as


[@address][?prop_name[=prop_val] ... ]

where '@' is a shorthand notation to refer to the device address, which is followed by the device address value address. The address value is matched with the value of the property "bus-addr" if it exists. If no "bus-addr" property exists, then it is matched with the value of the property "UnitAddress". Use the '?' notation to limit explicitly the comparison to "bus-addr" or "UnitAddress" property. The expression following '?' specifies matching property name and value pairs, where prop_name gives the property name and prop_val gives the property value for non PICL_PTYPE_VOID properties. The values for properties of type PICL_PTYPE_TABLE, PICL_PTYPE_BYTEARRAY, and PICL_PTYPE_REFERENCE cannot be specified in the match_cond expression.

A "_class" property value of "picl" may be used to match nodes of all PICL classes.

All valid paths must start at the root node denoted by '/'.

If no prefix is specified for the path, then the prefix defaults to the "name" property.

Upon successful completion, 0 is returned. On failure, a non-negative integer is returned to indicate an error.

PICL_NOTNODE is returned if there is no node corresponding to the specified path.

PICL_INVALIDARG

Invalid argument

PICL_NOTNODE

Not a node

PICL_FAILURE

General system failure

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

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Evolving
MT-Level MT-Safe

ptree_get_propval_by_name(3PICLTREE), attributes(7)

April 9, 2016 OmniOS