- 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:
The supplied configuration's status is not POF_VALID.
The configuration is invalid.
A system error has occurred. Check the system error code for more details.
See attributes(5) for descriptions of the following attributes: