POOL_WALK_COMPONENTS(3POOL) | Pool Configuration Manipulation Library Functions | POOL_WALK_COMPONENTS(3POOL) |
pool_walk_components, pool_walk_pools, pool_walk_resources - walk objects within resource pool configurations
cc [ flag... ] file... -lpool [ library... ] #include <pool.h> int pool_walk_components(pool_conf_t *conf,
pool_resource_t *resource, void *arg,
int (*callback)(pool_conf_t *, pool_resource_t *, void *));
int pool_walk_pools(pool_conf_t *conf, void *arg,
int (*callback)(pool_conf_t *, pool_component_t *, void *));
int pool_walk_resources(pool_conf_t *conf, pool_t *pool,
void *arg, int (*callback)(pool_conf_t *,
pool_component_t *, void *));
The walker functions provided with libpool(3LIB) visit each associated entity of the given type, and call the caller-provided callback function with a user-provided additional opaque argument. There is no implied order of visiting nodes in the walk. If the callback function returns a non-zero value at any of the nodes, the walk is terminated, and an error value of -1 returned. The conf argument for each function refers to the target configuration to which the operation applies.
The pool_walk_components() function invokes callback on all components contained in the resource.
The pool_walk_pools() function invokes callback on all pools defined in the configuration.
The pool_walk_resources() function invokes callback function on all resources associated with pool.
Upon successful completion of the walk, these functions return 0. Otherwise -1 is returned and pool_error(3POOL) returns the pool-specific error value.
These functions will fail if:
POE_BADPARAM
POE_INVALID_CONF
POE_SYSTEM
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
CSI | Enabled |
Interface Stability | Unstable |
MT-Level | Safe |
July 18, 2005 | OmniOS |