Patch to remove segfault on the exiting of a service.
[openais.git] / man / confdb_key_iter.3
blobce9b5cb7fe50a36484489e81d0d995c6d8750aad
1 .\"/*
2 .\" * Copyright (c) 2008 Red Hat, Inc.
3 .\" *
4 .\" * All rights reserved.
5 .\" *
6 .\" * Author: Christine Caulfield <ccaulfie@redhat.com>
7 .\" *
8 .\" * This software licensed under BSD license, the text of which follows:
9 .\" * 
10 .\" * Redistribution and use in source and binary forms, with or without
11 .\" * modification, are permitted provided that the following conditions are met:
12 .\" *
13 .\" * - Redistributions of source code must retain the above copyright notice,
14 .\" *   this list of conditions and the following disclaimer.
15 .\" * - Redistributions in binary form must reproduce the above copyright notice,
16 .\" *   this list of conditions and the following disclaimer in the documentation
17 .\" *   and/or other materials provided with the distribution.
18 .\" * - Neither the name of the MontaVista Software, Inc. nor the names of its
19 .\" *   contributors may be used to endorse or promote products derived from this
20 .\" *   software without specific prior written permission.
21 .\" *
22 .\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 .\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 .\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 .\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
26 .\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27 .\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28 .\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 .\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 .\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31 .\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
32 .\" * THE POSSIBILITY OF SUCH DAMAGE.
33 .\" */
34 .TH CONFDB_KEY_ITER 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
35 .SH NAME
36 confdb_key_iter \- Iterate through key/value pairs in the Configuration Database
37 .SH SYNOPSIS
38 .B #include <openais/confdb.h>
39 .sp
40 .BI "confdb_error_t confdb_key_iter_start(confdb_handle_t " handle ", unsigned int " parent_object_handle " ); "
41 .sp
42 .BI "confdb_error_t confdb_key_iter(confdb_handle_t " handle ", unsigned int " parent_object_handle ", void " *key_name ", int " *key_name_len ",  void " *value ", int " *value_len " ); "
44 .SH DESCRIPTION
45 The
46 .B confdb_key_iter
47 function repeatedly returns all key/value pairs that are subobjects of the specified parent. You must call 
48 .B confdb_key_iter_start
49 first. This establishes a context for the parent object so that it knows where you are in the list. Then the next call to
50 .B confdb_key_iter
51 will return the first key/value in the list. Subsequent calls will return any remaining keys. The function returns CONFDB_ERR_ACCESS when the all of the matching keys have been seen.
52 .BR
53 The library holds a seperate context for each parent object, so you can call confdb_key_iter() on several parent objects at the same time and they will not interfere. Nor will they interfere with 
54 .B confdb_object_find
56 .B confdb_object_iter
57 calls on the same parent object.
58 .BR
59 .SH RETURN VALUE
60 This call returns the CONFDB_OK value if successful, otherwise an error is returned.
61 .PP
62 .SH ERRORS
63 The errors are undocumented.
64 .SH "SEE ALSO"
65 .BR confdb_overview (8),
66 .BR confdb_initialize (3),
67 .BR confdb_finalize (3),
68 .BR confdb_dispatch (3),
69 .BR confdb_object_create (3),
70 .BR confdb_object_destroy (3),
71 .BR confdb_object_parent_get (3),
72 .BR confdb_key_create (3),      
73 .BR confdb_key_delete (3),      
74 .BR confdb_key_get (3),
75 .BR confdb_key_replace (3),
76 .BR confdb_object_find_start (3),
77 .BR confdb_object_find (3),
78 .BR confdb_object_iter_start (3),       
79 .BR confdb_object_iter (3),     
80 .BR confdb_key_iter_start (3),  
81 .BR confdb_key_iter (3),        
82 .PP