'\" te .\" Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. .TH pool_walk_components 3POOL "22 Apr 2014" "SunOS 5.11" "Pool Configuration Manipulation Library Functions" .SH NAME pool_walk_components, pool_walk_pools, pool_walk_resources \- walk objects within resource pool configurations .SH SYNOPSIS .LP .nf cc [ \fIflag\fR\&.\|.\|. ] \fIfile\fR\&.\|.\|. \fB-lpool\fR [ \fIlibrary\fR\&.\|.\|. ] #include \fBint\fR \fBpool_walk_components\fR(\fBpool_conf_t *\fR\fIconf\fR, \fBpool_resource_t *\fR\fIresource\fR, \fBvoid *\fR\fIarg\fR, \fBint (*\fR\fIcallback\fR)(\fBpool_conf_t *\fR, \fBpool_component_t *\fR, \fBvoid *\fR)); .fi .LP .nf \fBint\fR \fBpool_walk_pools\fR(\fBpool_conf_t *\fR\fIconf\fR, \fBvoid *\fR\fIarg\fR, \fBint (*\fR\fIcallback\fR)(\fBpool_conf_t *\fR, \fBpool_t *\fR, \fBvoid *\fR)); .fi .LP .nf \fBint\fR \fBpool_walk_resources\fR(\fBpool_conf_t *\fR\fIconf\fR, \fBpool_t *\fR\fIpool\fR, \fBvoid *\fR\fIarg\fR, \fBint (*\fR\fIcallback\fR)(\fBpool_conf_t *\fR, \fBpool_resource_t *\fR, \fBvoid *\fR)); .fi .SH DESCRIPTION .sp .LP The walker functions provided with \fBlibpool\fR(3LIB) visit each associated entity of the given type, and call the caller-provided \fIcallback\fR function with a user-provided additional opaque argument. There is no implied order of visiting nodes in the walk. If the \fIcallback\fR function returns a non-zero value at any of the nodes, the walk is terminated, and an error value of -1 returned. The \fIconf\fR argument for each function refers to the target configuration to which the operation applies. .sp .LP The \fBpool_walk_components()\fR function invokes \fIcallback\fR on all components contained in the resource. .sp .LP The \fBpool_walk_pools()\fR function invokes \fIcallback\fR on all pools defined in the configuration. .sp .LP The \fBpool_walk_resources()\fR function invokes \fIcallback\fR function on all resources associated with \fIpool\fR. .SH RETURN VALUES .sp .LP Upon successful completion of the walk, these functions return 0. Otherwise -1 is returned and \fBpool_error\fR(3POOL) returns the pool-specific error value. .SH ERRORS .sp .LP These functions will fail if: .sp .ne 2 .mk .na \fB\fBPOE_BADPARAM\fR\fR .ad .RS 20n .rt The supplied configuration's status is not \fBPOF_VALID\fR. .RE .sp .ne 2 .mk .na \fB\fBPOE_INVALID_CONF\fR\fR .ad .RS 20n .rt The configuration is invalid. .RE .sp .ne 2 .mk .na \fB\fBPOE_SYSTEM\fR\fR .ad .RS 20n .rt A system error has occurred. Check the system error code for more details. .RE .SH ATTRIBUTES .sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . ATTRIBUTE TYPEATTRIBUTE VALUE _ CSIEnabled _ Interface StabilityUncommitted _ MT-LevelSafe .TE .SH SEE ALSO .sp .LP \fBlibpool\fR(3LIB), \fBpool_error\fR(3POOL), \fBattributes\fR(5)