SYNOPSIS

#include <corosync/confdb.h>

confdb_error_t confdb_object_find_start(confdb_handle_t handle, unsigned int parent_object_handle );

confdb_error_t confdb_object_find(confdb_handle_t handle, unsigned int parent_object_handle, void *object_name, int object_name_len, unsigned int *object_handle );

confdb_error_t confdb_object_find_destroy(confdb_handle_t handle, unsigned int parent_object_handle );

DESCRIPTION

The confdb_object_find function repeatedly returns objects that match a given name. You must call confdb_object_find_start first. This establishes a context for the parent object so that it knows where you are in the list. Then the next call to confdb_object_find will return the handle of the first object that matches the passed in name. Subsequent calls will return any remaining objects with the same name. The function returns CONFDB_ERR_ACCESS when the all of the matching objects have been seen.

You need to provide the same object name and length for each call to confdb_object_find, If you change either of then, the results are undefined.

The library holds a seperate context for each parent object, so you can call confdb_object_iter() on several parent objects at the same time and they will not interfere. Nor will they interfere with confdb_object_iter or confdb_key_iter calls on the same parent object.

When you have finished searching for objects, call the confdb_object_find_destroy library call to free up memory associated with the search context.

RETURN VALUE

This call returns the CONFDB_OK value if successful, otherwise an error is returned.

ERRORS

The errors are undocumented.

RELATED TO confdb_object_find…