POOL_WALK_COMPONENTS(3POOL) Pool Configuration Manipulation Library Functions


NAME


pool_walk_components, pool_walk_pools, pool_walk_resources - walk objects
within resource pool configurations

SYNOPSIS


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 *));


DESCRIPTION


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.

RETURN VALUES


Upon successful completion of the walk, these functions return 0.
Otherwise -1 is returned and pool_error(3POOL) returns the pool-specific
error value.

ERRORS


These functions will fail if:

POE_BADPARAM
The supplied configuration's status is not POF_VALID.


POE_INVALID_CONF
The configuration is invalid.


POE_SYSTEM
A system error has occurred. Check the system error
code for more details.


ATTRIBUTES


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


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|CSI | Enabled |
+--------------------+-----------------+
|Interface Stability | Unstable |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+

SEE ALSO


libpool(3LIB), pool_error(3POOL), attributes(5)


July 18, 2005 POOL_WALK_COMPONENTS(3POOL)