cmap_set.3.in 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. .\"/*
  2. .\" * Copyright (c) 2012 Red Hat, Inc.
  3. .\" *
  4. .\" * All rights reserved.
  5. .\" *
  6. .\" * Author: Jan Friesse (jfriesse@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 Red Hat, 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 "CMAP_SET" 3 "23/01/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual"
  35. .SH NAME
  36. .P
  37. cmap_set \- Store value in CMAP
  38. .SH SYNOPSIS
  39. .P
  40. \fB#include <corosync/cmap.h>\fR
  41. .P
  42. \fBcs_error_t
  43. cmap_set (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, const void *\fIvalue\fB,
  44. size_t \fIvalue_len\fB, cmap_value_types_t \fItype\fB);\fR
  45. .P
  46. Also shortcuts for different types are defined
  47. .P
  48. \fBcs_error_t cmap_set_int8(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, int8_t \fIvalue\fB);\fR
  49. .P
  50. \fBcs_error_t cmap_set_uint8(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, uint8_t \fIvalue\fB);\fR
  51. .P
  52. \fBcs_error_t cmap_set_int16(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, int16_t \fIvalue\fB);\fR
  53. .P
  54. \fBcs_error_t cmap_set_uint16(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, uint16_t \fIvalue\fB);\fR
  55. .P
  56. \fBcs_error_t cmap_set_int32(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, int32_t \fIvalue\fB);\fR
  57. .P
  58. \fBcs_error_t cmap_set_uint32(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, uint32_t \fIvalue\fB);\fR
  59. .P
  60. \fBcs_error_t cmap_set_int64(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, int64_t \fIvalue\fB);\fR
  61. .P
  62. \fBcs_error_t cmap_set_uint64(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, uint64_t \fIvalue\fB);\fR
  63. .P
  64. \fBcs_error_t cmap_set_float(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, float \fIvalue\fB);\fR
  65. .P
  66. \fBcs_error_t cmap_set_double(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, double \fIvalue\fB);\fR
  67. .P
  68. \fBcs_error_t cmap_set_string(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, const char *\fIvalue\fB);\fR
  69. .SH DESCRIPTION
  70. .P
  71. The
  72. .B cmap_set
  73. function is used to store key inside cmap. The
  74. .I handle
  75. argument is connection to CMAP database obtained by calling
  76. .B cmap_initialize(3)
  77. function.
  78. .I key_name
  79. is name of key to set value. Key name is limited by minimal (CMAP_KEYNAME_MINLEN, currently 3) and
  80. maximal (CMAP_KEYNAME_MAXLEN, currently 255) length. Also key can contain only limited set of characters expressed
  81. by regexp [a-zA-Z0-9._-/:]*.
  82. .I value
  83. is pointer to allocated data which will be stored inside CMAP. Length of value (number of bytes) is supplied
  84. as
  85. .I value_len
  86. parameter. Last parameter is
  87. .I type
  88. which gives type of value. It may be one of:
  89. .PP
  90. \fBCMAP_VALUETYPE_INT8\fR - 8-bit signed interger
  91. .PP
  92. \fBCMAP_VALUETYPE_UINT8\fR - 8-bit unsigned integer
  93. .PP
  94. \fBCMAP_VALUETYPE_INT16\fR - 16-bit signed interger
  95. .PP
  96. \fBCMAP_VALUETYPE_UINT16\fR - 16-bit unsigned integer
  97. .PP
  98. \fBCMAP_VALUETYPE_INT32\fR - 32-bit signed interger
  99. .PP
  100. \fBCMAP_VALUETYPE_UINT32\fR - 32-bit unsigned integer
  101. .PP
  102. \fBCMAP_VALUETYPE_INT64\fR - 64-bit signed interger
  103. .PP
  104. \fBCMAP_VALUETYPE_UINT64\fR - 64-bit unsigned integer
  105. .PP
  106. \fBCMAP_VALUETYPE_FLOAT\fR - Float value
  107. .PP
  108. \fBCMAP_VALUETYPE_DOUBLE\fR - Double value
  109. .PP
  110. \fBCMAP_VALUETYPE_STRING\fR - C-style string
  111. .PP
  112. \fBCMAP_VALUETYPE_BINARY\fR - Binary data, byte with zero value has no special meaning
  113. .SH RETURN VALUE
  114. This call returns the CS_OK value if successful. If value or key_name are unspecified, CS_ERR_INVALID_PARAM
  115. is returned. Too short or too long key_name returns CS_ERR_NAME_TOO_LONG error code. Some of keys may
  116. be tagged read-only directly in corosync and seting such key will result in CS_ERR_ACCESS error.
  117. .SH "SEE ALSO"
  118. .BR cmap_get (3),
  119. .BR cmap_initialize (3),
  120. .BR cmap_overview (8)