Find a named object in the configuration database
#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 );
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.
This call returns the CONFDB_OK value if successful, otherwise an error is returned.
The errors are undocumented.
confdb_overview(8), confdb_initialize(3), confdb_finalize(3), confdb_dispatch(3), confdb_object_create(3), confdb_object_destroy(3), confdb_object_parent_get(3), confdb_key_create(3), confdb_key_delete(3), confdb_key_get(3), confdb_key_replace(3), confdb_object_find_start(3), confdb_object_find(3), confdb_object_iter_start(3), confdb_object_iter(3), confdb_key_iter_start(3), confdb_key_iter(3),