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 addres 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(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|