Go to main content

man pages section 3: Extended Library Functions, Volume 3

Exit Print View

Updated: July 2017
 
 

pool_walk_components(3POOL)

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_component_t *, void *));
int pool_walk_pools(pool_conf_t *conf, void *arg,
     int (*callback)(pool_conf_t *, pool_t *, void *));
int pool_walk_resources(pool_conf_t *conf, pool_t *pool,
     void *arg, int (*callback)(pool_conf_t *,
     pool_resource_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
Uncommitted
MT-Level
Safe

See Also

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