bstr_composite_loop(3) — Subroutines
Name
bstr_composite_loop − Performs a user-defined operation on all the objects in a composite matching a pattern.
Syntax
bstr_t_status bstr_composite_loop (
bstr_t_reference ∗composite,
bstr_t_component_criteria criteria,
bstr_t_descriptor ∗key,
bstr_t_string pattern,
int (∗func)() ∗user_function,
bstr_t_address user_parameter,
bstr_t_status continue_on_error,
bstr_t_rcb ∗control,
bstr_t_sequence ∗matching_objects,
bstr_t_status ∗last_status);
Description
The bstr_composite_loop procedure searches a composite for all the objects whose name matches a pattern and applies to them the user-defined function.
Refer to the previous paragraph for the concepts related to user function.
Arguments
composite
access: read
The reference to the composite to be examined.
criteria
access: read
See bstr_composite_get_components.
key
access: read
See bstr_composite_get_components.
pattern
access: read
The optional pattern to be used for matching object names. If not defined, the default pattern "∗" is used.
(∗func)() ∗user_function
access: read
This optional parameter is activated on the objects belonging to a composite and matching the pattern.
user_parameter
access: read
This optional parameter specifies a user-supplied parameter to be passed to user function after the reference to an object matching the pattern.
continue_on_error
access: read
Refer to the corresponding entry for the bstr_collection_loop function.
∗control
access: write
The address of an optional request control block.
∗matching_objects
access: write
This optional parameter represents the list of objects satisfying the pattern matching. This parameter of the user function parameter should be provided.
last_status
access: write
The status returned by the most recent execution of user_function.
Return Values
| BSTR_S_ABORTED | Operation aborted |
| BSTR_S_BAD_BUFFER | Bad sequence buffer |
| BSTR_S_BAD_PARAMETER | Bad parameter value |
| BSTR_S_BAD_REFERENCE | Bad reference |
| BSTR_S_COMMUNICATION_ERROR | Communication error |
| BSTR_S_FINISH | Request aborted by bstr_finish |
| BSTR_S_INTERNAL_ERROR | Internal error |
| BSTR_S_INTR | Operation interrupted |
| BSTR_S_INVALID_NAME | Invalid name |
| BSTR_S_INVALID_OPERATION | Invalid operation |
| BSTR_S_NORMAL | Normal successful completion |
| BSTR_S_NO_MEMORY | Insufficient virtual memory |
| BSTR_S_REFERENCE_IN_USE | Reference already in use |
| BSTR_S_SEQUENCE_IN_USE | Sequence already in use |
| BSTR_S_SERVER_NOT_REACHABLE | Server not reachable |
| BSTR_S_TIMEOUT | Timeout expired |
| BSTR_S_TOO_MANY_REQUESTS | Too many pending requests |
| BSTR_S_NO_MATCHING_OBJ | No objects matching the request |