confdb_key_iter.3 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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 "corosync Man Page" "Corosync Cluster Engine 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 <corosync/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 " ); "
  43. .SH DESCRIPTION
  44. The
  45. .B confdb_key_iter
  46. function repeatedly returns all key/value pairs that are subobjects of the specified parent. You must call
  47. .B confdb_key_iter_start
  48. first. This establishes a context for the parent object so that it knows where you are in the list. Then the next call to
  49. .B confdb_key_iter
  50. 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.
  51. .BR
  52. 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
  53. .B confdb_object_find
  54. or
  55. .B confdb_object_iter
  56. calls on the same parent object.
  57. .BR
  58. .SH RETURN VALUE
  59. This call returns the CONFDB_OK value if successful, otherwise an error is returned.
  60. .PP
  61. .SH ERRORS
  62. The errors are undocumented.
  63. .SH "SEE ALSO"
  64. .BR confdb_overview (8),
  65. .BR confdb_initialize (3),
  66. .BR confdb_finalize (3),
  67. .BR confdb_dispatch (3),
  68. .BR confdb_object_create (3),
  69. .BR confdb_object_destroy (3),
  70. .BR confdb_object_parent_get (3),
  71. .BR confdb_key_create (3),
  72. .BR confdb_key_delete (3),
  73. .BR confdb_key_get (3),
  74. .BR confdb_key_replace (3),
  75. .BR confdb_object_find_start (3),
  76. .BR confdb_object_find (3),
  77. .BR confdb_object_iter_start (3),
  78. .BR confdb_object_iter (3),
  79. .BR confdb_key_iter_start (3),
  80. .BR confdb_key_iter (3),
  81. .PP