Reviewed-by: Steven Dake <sdake@xxxxxxxxxx> On 02/06/2012 06:41 AM, Jan Friesse wrote: > Signed-off-by: Jan Friesse <jfriesse@xxxxxxxxxx> > --- > corosync.spec.in | 2 + > man/Makefile.am | 19 +++++- > man/cmap_context_get.3 | 58 ++++++++++++++++ > man/cmap_context_set.3 | 60 +++++++++++++++++ > man/cmap_dec.3 | 92 ++++++++++++++++++++++++++ > man/cmap_delete.3 | 70 ++++++++++++++++++++ > man/cmap_dispatch.3 | 87 ++++++++++++++++++++++++ > man/cmap_fd_get.3 | 67 +++++++++++++++++++ > man/cmap_finalize.3 | 61 +++++++++++++++++ > man/cmap_get.3 | 153 ++++++++++++++++++++++++++++++++++++++++++ > man/cmap_inc.3 | 92 ++++++++++++++++++++++++++ > man/cmap_initialize.3 | 63 ++++++++++++++++++ > man/cmap_iter_finalize.3 | 72 ++++++++++++++++++++ > man/cmap_iter_init.3 | 80 ++++++++++++++++++++++ > man/cmap_iter_next.3 | 82 +++++++++++++++++++++++ > man/cmap_overview.8 | 74 +++++++++++++++++++++ > man/cmap_set.3 | 127 +++++++++++++++++++++++++++++++++++ > man/cmap_track_add.3 | 164 ++++++++++++++++++++++++++++++++++++++++++++++ > man/cmap_track_delete.3 | 70 ++++++++++++++++++++ > 19 files changed, 1492 insertions(+), 1 deletions(-) > create mode 100644 man/cmap_context_get.3 > create mode 100644 man/cmap_context_set.3 > create mode 100644 man/cmap_dec.3 > create mode 100644 man/cmap_delete.3 > create mode 100644 man/cmap_dispatch.3 > create mode 100644 man/cmap_fd_get.3 > create mode 100644 man/cmap_finalize.3 > create mode 100644 man/cmap_get.3 > create mode 100644 man/cmap_inc.3 > create mode 100644 man/cmap_initialize.3 > create mode 100644 man/cmap_iter_finalize.3 > create mode 100644 man/cmap_iter_init.3 > create mode 100644 man/cmap_iter_next.3 > create mode 100644 man/cmap_overview.8 > create mode 100644 man/cmap_set.3 > create mode 100644 man/cmap_track_add.3 > create mode 100644 man/cmap_track_delete.3 > > diff --git a/corosync.spec.in b/corosync.spec.in > index 9341636..4e0f086 100644 > --- a/corosync.spec.in > +++ b/corosync.spec.in > @@ -301,6 +301,8 @@ The Corosync Cluster Engine APIs. > %{_mandir}/man8/evs_overview.8* > %{_mandir}/man8/votequorum_overview.8* > %{_mandir}/man8/sam_overview.8* > +%{_mandir}/man8/cmap_*3* > +%{_mandir}/man8/cmap_overview.8* > > %changelog > * @date@ Autotools generated version <nobody@xxxxxxxxxxx> - @version@-1-@numcomm@.@alphatag@.@dirty@ > diff --git a/man/Makefile.am b/man/Makefile.am > index 480d8b3..b173810 100644 > --- a/man/Makefile.am > +++ b/man/Makefile.am > @@ -117,7 +117,24 @@ dist_man_MANS = \ > sam_register.3 \ > sam_start.3 \ > sam_stop.3 \ > - sam_warn_signal_set.3 > + sam_warn_signal_set.3 \ > + cmap_context_get.3 \ > + cmap_dec.3 \ > + cmap_iter_init.3 \ > + cmap_get.3 \ > + cmap_inc.3 \ > + cmap_set.3 \ > + cmap_overview.8 \ > + cmap_iter_next.3 \ > + cmap_delete.3 \ > + cmap_iter_finalize.3 \ > + cmap_finalize.3 \ > + cmap_dispatch.3 \ > + cmap_initialize.3 \ > + cmap_track_add.3 \ > + cmap_context_set.3 \ > + cmap_fd_get.3 \ > + cmap_track_delete.3 > > if INSTALL_XMLCONF > dist_man_MANS += $(xml_man) > diff --git a/man/cmap_context_get.3 b/man/cmap_context_get.3 > new file mode 100644 > index 0000000..f6bead5 > --- /dev/null > +++ b/man/cmap_context_get.3 > @@ -0,0 +1,58 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_CONTEXT_GET" 3 "23/01/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_context_get \- Gets the context variable for a CMAP instance > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t > +cmap_context_get (cmap_handle_t \fIhandle\fB, const void **\fIcontext\fB);\fR > + > +.SH DESCRIPTION > +.P > +The \fBcmap_context_get\fR function is used to retrieve the context variable previously stored using > +.B cmap_context_set(3). > + > +.SH RETURN VALUE > +This call returns the CS_OK value if successful, otherwise an error is returned. > + > +.SH "SEE ALSO" > +.BR cmap_context_set (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_context_set.3 b/man/cmap_context_set.3 > new file mode 100644 > index 0000000..da1f60c > --- /dev/null > +++ b/man/cmap_context_set.3 > @@ -0,0 +1,60 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_CONTEXT_SET" 3 "23/01/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_context_set \- Sets the context variable for a CMAP instance > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t > +cmap_context_set (cmap_handle_t \fIhandle\fB, const void *\fIcontext\fB);\fR > + > +.SH DESCRIPTION > +.P > +The \fBcmap_context_set\fR function is used to store the context variable for cmap instance. > +It has no meaning insire libcmap itself and will not be touched by the library. It can > +be retrieved using > +.B cmap_context_get(3). > + > +.SH RETURN VALUE > +This call returns the CS_OK value if successful, otherwise an error is returned. > + > +.SH "SEE ALSO" > +.BR cmap_context_get (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_dec.3 b/man/cmap_dec.3 > new file mode 100644 > index 0000000..792c377 > --- /dev/null > +++ b/man/cmap_dec.3 > @@ -0,0 +1,92 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_DEC" 3 "03/02/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_inc \- Decrease already stored value in CMAP > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t > +cmap_dec (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB);\fR > + > +.SH DESCRIPTION > +.P > +The > +.B cmap_dec > +function is used to decrease integer value of already stored key inside cmap. The > +.I handle > +argument is connection to CMAP database obtained by calling > +.B cmap_initialize(3) > +function. > +.I key_name > +is name of key to increase value of. > + > +Function is defined only on values where increase makes sense and is well defined, > +so it can be one of: > +.PP > +\fBCMAP_VALUETYPE_INT8\fR - 8-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT8\fR - 8-bit unsigned integer > +.PP > +\fBCMAP_VALUETYPE_INT16\fR - 16-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT16\fR - 16-bit unsigned integer > +.PP > +\fBCMAP_VALUETYPE_INT32\fR - 32-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT32\fR - 32-bit unsigned integer > +.PP > +\fBCMAP_VALUETYPE_INT64\fR - 64-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT64\fR - 64-bit unsigned integer > + > +Overflow/underflow is not detected and it's ignored. > + > +.SH RETURN VALUE > +This call returns the CS_OK value if successful. If value or key_name are unspecified, CS_ERR_INVALID_PARAM > +is returned. CS_ERR_NOT_EXIST error is returned if key doesn't exist (wasn't created by calling > +.B cmap_set(3) > +first). Some of keys may be tagged read-only directly in corosync and seting such key will result in > +CS_ERR_ACCESS error. > + > +.SH "SEE ALSO" > +.BR cmap_get (3), > +.BR cmap_set (3), > +.BR cmap_initialize (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_delete.3 b/man/cmap_delete.3 > new file mode 100644 > index 0000000..e2ee07d > --- /dev/null > +++ b/man/cmap_delete.3 > @@ -0,0 +1,70 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_DELETE" 3 "03/02/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_delete \- Delete key/value pair from the CMAP service > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t > +cmap_delete(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB);\fR > + > +.SH DESCRIPTION > +.P > +The > +.B cmap_delete > +function is used to delete key from cmap. Key must be previously created by > +.B cmap_set(3) > +function. The > +.I handle > +argument is connection to CMAP database obtained by calling > +.B cmap_initialize(3) > +function. > +.I key_name > +is name of key to delete. > + > +.SH RETURN VALUE > +This call returns the CS_OK value if successful. If key_name is unspecified, CS_ERR_INVALID_PARAM > +is returned. For nonexisting keys, CS_ERR_NOT_EXIST error is returned. Some of keys may be tagged > +read-only directly in corosync and deleting such key will result in CS_ERR_ACCESS error. > + > +.SH "SEE ALSO" > +.BR cmap_initialize (3), > +.BR cmap_set (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_dispatch.3 b/man/cmap_dispatch.3 > new file mode 100644 > index 0000000..19970e4 > --- /dev/null > +++ b/man/cmap_dispatch.3 > @@ -0,0 +1,87 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_DISPATCH" 3 "23/01/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_dispatch \- Dispatches callbacks from the CMAP service > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t > +cmap_dispatch (cmap_handle_t \fIhandle\fB, cs_dispatch_flags_t \fIdispatch_types\fB);\fR > + > +.SH DESCRIPTION > +The > +.B cmap_dispatch > +function is used to dispatch configuration changes. > +.PP > +Each application may have several connections to the CMAP API. Each application > +uses the > +.I handle > +argument to uniquely identify the connection. > +.PP > +The > +.I dispatch_types > +argument is used to identify the type of dispatch to execute. The possible types are > +CS_DISPATCH_ONE, CS_DISPATCH_ALL and CS_DISPATCH_BLOCKING. > + > +The dispatch values have the following meanings: > +.TP > +.B CS_DISPATCH_ONE > +Dispatch at least one callback, blocking until the callback is dispatched. > +.TP > +.B CS_DISPATCH_ALL > +Dispatch all waiting callbacks without blocking to wait for any callbacks. > +.TP > +.B CS_DISPATCH_BLOCKING > +Dispatch all callbacks blocking indefinitely. This is used in a threaded > +program where a thread is created, and then cs_dispatch() is called immediately > +from the created thread to execute callbacks. > +.PP > +It's needed to call > +.B cmap_track_add(3) > +to add tracked items and receive callbacks. > + > +.SH RETURN VALUE > +.P > +This call returns the CS_OK value if successful, otherwise an error is returned. > + > +.SH "SEE ALSO" > +.BR cmap_track_add (3), > +.BR cmap_track_delete (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_fd_get.3 b/man/cmap_fd_get.3 > new file mode 100644 > index 0000000..34245c6 > --- /dev/null > +++ b/man/cmap_fd_get.3 > @@ -0,0 +1,67 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_FD_GET" 3 "23/01/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_fd_get \- Dispatches callbacks from the CMAP service > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t > +cmap_fd_get (cmap_handle_t \fIhandle\fB, int *\fIfd\fB);\fR > + > +.SH DESCRIPTION > +.P > +The > +.B cmap_fd_get > +function is used to retrieve the file descriptor that may be used with the poll > +system call to determine when > +.B cmap_dispatch(3) > +won't block. The > +.I handle > +argument may not be used directly with > +.B poll > +because it is not the file descriptor, but instead an internal identifier used > +by the CMAP library. > + > +.SH RETURN VALUE > +This call returns the CS_OK value if successful, otherwise an error is returned. > + > +.SH "SEE ALSO" > +.BR cmap_dispatch (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_finalize.3 b/man/cmap_finalize.3 > new file mode 100644 > index 0000000..4a2f8c0 > --- /dev/null > +++ b/man/cmap_finalize.3 > @@ -0,0 +1,61 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_FINALIZE" 3 "20/01/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_finalize \- Finalize connection to CMAP > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t cmap_finalize (cmap_handle_t \fIhandle\fB);\fR > + > +.SH DESCRIPTION > +.P > +The \fBcmap_finalize\fR function is used to to close a connection to the > +CMAP API. Once the connection is finalized, the handle may not be > +used again by applications. No more callbacks will be dispatched from the > +.B cmap_dispatch > +function. > +.SH RETURN VALUE > +This call returns the CS_OK value if successful, otherwise an error is returned. > +CS_ERR_BAD_HANDLE error is returned when handle is invalid. > + > +.SH "SEE ALSO" > +.BR cmap_initialize (3), > +.BR cmap_dispatch (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_get.3 b/man/cmap_get.3 > new file mode 100644 > index 0000000..7e8c797 > --- /dev/null > +++ b/man/cmap_get.3 > @@ -0,0 +1,153 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_GET" 3 "03/02/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_get \- Retreive value from CMAP > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t > +cmap_get (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, void *\fIvalue\fB, > +size_t *\fIvalue_len\fB, cmap_value_types_t *\fItype\fB);\fR > +.P > +Also shortcuts for different types are defined > +.P > +\fBcs_error_t cmap_get_int8 (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, int8_t *\fIi8\fB);\fR > +.P > +\fBcs_error_t cmap_get_uint8 (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, uint8_t *\fIu8\fB);\fR > +.P > +\fBcs_error_t cmap_get_int16 (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, int16_t *\fIi16\fB);\fR > +.P > +\fBcs_error_t cmap_get_uint16 (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, uint16_t *\fIu16\fB);\fR > +.P > +\fBcs_error_t cmap_get_int32 (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, int32_t *\fIi32\fB);\fR > +.P > +\fBcs_error_t cmap_get_uint32 (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, uint32_t *\fIu32\fB);\fR > +.P > +\fBcs_error_t cmap_get_int64 (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, int64_t *\fIi64\fB);\fR > +.P > +\fBcs_error_t cmap_get_uint64 (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, uint64_t *\fIu64\fB);\fR > +.P > +\fBcs_error_t cmap_get_float (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, float *\fIflt\fB);\fR > +.P > +\fBcs_error_t cmap_get_double (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, double *\fIdbl\fB);\fR > +.P > +\fBcs_error_t cmap_get_string (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, char **\fIstr\fB);\fR > + > +.SH DESCRIPTION > +.P > +The > +.B cmap_get > +function is used to retreive key from cmap previously set by > +.B cmap_set(3) > +function. The > +.I handle > +argument is connection to CMAP database obtained by calling > +.B cmap_initialize(3) > +function. > +.I key_name > +is name of key to get value from. > +.I value > +is pointer to preallocated data used as storage for data, but can be also NULL, and then only > +.I value_len > +and/or > +.I type > +is returned (both of them can also be NULL, allowing function to be used only for test of existence of key). > +If > +.I value > +is not NULL, actual length of value in map is checked against > +.I *value_len. > +If > +.I *value_len > +is shorter then length of value in map, error CS_ERR_INVALID_PARAM is returned. After successful copy of > +value, > +.I *value_len > +is set to actual length of value in map. Parameter > +.I type > +is pointer to memory, where type of value is stored after successful return. Pointer can also be NULL and > +then nothing is stored. Type can be one of: > +.PP > +\fBCMAP_VALUETYPE_INT8\fR - 8-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT8\fR - 8-bit unsigned integer > +.PP > +\fBCMAP_VALUETYPE_INT16\fR - 16-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT16\fR - 16-bit unsigned integer > +.PP > +\fBCMAP_VALUETYPE_INT32\fR - 32-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT32\fR - 32-bit unsigned integer > +.PP > +\fBCMAP_VALUETYPE_INT64\fR - 64-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT64\fR - 64-bit unsigned integer > +.PP > +\fBCMAP_VALUETYPE_FLOAT\fR - Float value > +.PP > +\fBCMAP_VALUETYPE_DOUBLE\fR - Double value > +.PP > +\fBCMAP_VALUETYPE_STRING\fR - C-style string > +.PP > +\fBCMAP_VALUETYPE_BINARY\fR - Binary data, byte with zero value has no special meaning > + > +Sortcut functions tests cmap type with it's own type. If type didn't match, CS_ERR_INVALID_PARAM error > +is returned. No conversions are done, so for example > +.B cmap_get_int16 > +is not able to return value with > +.B CMAP_VALUETYPE_INT8 > +type. > + > +String shortcut function returns newly allocated memory and caller is responsible for freeing that. > + > +.SH RETURN VALUE > +This call returns the CS_OK value if successful. If value or key_name are unspecified, CS_ERR_INVALID_PARAM > +is returned. Same error is also returned if > +.I value > +is specified, and > +.I *value_len > +is too short for store of data. If key doesn't exists (it was not set by calling > +.B cmap_set(3) > +function first) CS_ERR_NOT_EXIST error is returned. For helper functions, > +CS_ERR_INVALID_PARAM is returned if type stored in cmap doesn't match with type of helper function. > + > +.SH "SEE ALSO" > +.BR cmap_set (3), > +.BR cmap_initialize (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_inc.3 b/man/cmap_inc.3 > new file mode 100644 > index 0000000..5927eb2 > --- /dev/null > +++ b/man/cmap_inc.3 > @@ -0,0 +1,92 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_INC" 3 "03/02/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_inc \- Increase already stored value in CMAP > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t > +cmap_inc (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB);\fR > + > +.SH DESCRIPTION > +.P > +The > +.B cmap_inc > +function is used to increase integer value of already stored key inside cmap. The > +.I handle > +argument is connection to CMAP database obtained by calling > +.B cmap_initialize(3) > +function. > +.I key_name > +is name of key to increase value of. > + > +Function is defined only on values where increase makes sense and is well defined, > +so it can be one of: > +.PP > +\fBCMAP_VALUETYPE_INT8\fR - 8-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT8\fR - 8-bit unsigned integer > +.PP > +\fBCMAP_VALUETYPE_INT16\fR - 16-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT16\fR - 16-bit unsigned integer > +.PP > +\fBCMAP_VALUETYPE_INT32\fR - 32-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT32\fR - 32-bit unsigned integer > +.PP > +\fBCMAP_VALUETYPE_INT64\fR - 64-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT64\fR - 64-bit unsigned integer > + > +Overflow/underflow is not detected and it's ignored. > + > +.SH RETURN VALUE > +This call returns the CS_OK value if successful. If value or key_name are unspecified, CS_ERR_INVALID_PARAM > +is returned. CS_ERR_NOT_EXIST error is returned if key doesn't exist (wasn't created by calling > +.B cmap_set(3) > +first). Some of keys may be tagged read-only directly in corosync and seting such key will result in > +CS_ERR_ACCESS error. > + > +.SH "SEE ALSO" > +.BR cmap_get (3), > +.BR cmap_set (3), > +.BR cmap_initialize (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_initialize.3 b/man/cmap_initialize.3 > new file mode 100644 > index 0000000..8bdb017 > --- /dev/null > +++ b/man/cmap_initialize.3 > @@ -0,0 +1,63 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_INITIALIZE" 3 "20/01/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_initialize \- Initialize CMAP API > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t cmap_initialize (cmap_handle_t \fI*handle\fB);\fR > + > +.SH DESCRIPTION > +.P > +The \fBcmap_initialize\fR function is used to initialize a connection to > +the Configuration Map API. Each application may have several connections to the CMAP API. > +Each application uses the > +.I handle > +argument to uniquely identify the connection. The > +.I handle > +argument is then used in other function calls to identify the connection to be used > +for communication with the CMAP service. > + > +.SH RETURN VALUE > +This call returns the CS_OK value if successful, otherwise an error is returned. > + > +.SH "SEE ALSO" > +.BR cmap_finalize (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_iter_finalize.3 b/man/cmap_iter_finalize.3 > new file mode 100644 > index 0000000..df895d2 > --- /dev/null > +++ b/man/cmap_iter_finalize.3 > @@ -0,0 +1,72 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_ITER_FINALIZE" 3 "06/02/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_iter_init \- Finalize iterator for keys stored in CMAP > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t > +cmap_iter_finalize (cmap_handle_t \fIhandle\fB, cmap_iter_handle_t \fIiter_handle\fB);\fR > + > +.SH DESCRIPTION > +.P > +The > +.B cmap_iter_finalize > +function is used to free up memory asociated with iteration obtained by calling of > +.B cmap_iter_init(3) > +function. > +The > +.I handle > +argument is connection to CMAP database obtained by calling > +.B cmap_initialize(3) > +function. > +.I iter_handle > +argument is iterator handle obtained by > +.B cmap_iter_init(3) > +function. > + > +.SH RETURN VALUE > +This call returns the CS_OK value if successful. CS_ERR_BAD_HANDLE error is returned when iter_handle > +is invalid. > + > +.SH "SEE ALSO" > +.BR cmap_iter_init (3), > +.BR cmap_initialize (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_iter_init.3 b/man/cmap_iter_init.3 > new file mode 100644 > index 0000000..e825406 > --- /dev/null > +++ b/man/cmap_iter_init.3 > @@ -0,0 +1,80 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_ITER_INIT" 3 "03/02/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_iter_init \- Initialize iterator for keys stored in CMAP > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t > +cmap_iter_init (cmap_handle_t \fIhandle\fB, const char *\fIprefix\fB, cmap_iter_handle_t *\fIcmap_iter_handle\fB);\fR > + > +.SH DESCRIPTION > +.P > +The > +.B cmap_iter_init > +function is used to initialize iteration of all keys with given > +.I prefix. > +The > +.I handle > +argument is connection to CMAP database obtained by calling > +.B cmap_initialize(3) > +function. > +.I prefix > +is string, and every returned key must have name with given prefix. This variable can also > +be NULL (or empty string) and then all keys are iterated. > + > +.B cmap_iter_init > +is used only for initialize context for future > +.B cmap_iter_next(3) > +calls and handle needed for that function is returned in > +.I cmap_iter_handle > +variable. When you have finished iteration over objects, call > +.B cmap_iter_finalize(3) > +function to free up memory associated with iteration. > + > +.SH RETURN VALUE > +This call returns the CS_OK value if successful. If there are no items with given prefixes, > +CS_ERR_NO_SECTIONS is returned. > + > +.SH "SEE ALSO" > +.BR cmap_iter_next (3), > +.BR cmap_iter_finalize (3), > +.BR cmap_initialize (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_iter_next.3 b/man/cmap_iter_next.3 > new file mode 100644 > index 0000000..edc29f8 > --- /dev/null > +++ b/man/cmap_iter_next.3 > @@ -0,0 +1,82 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_ITER_NEXT" 3 "06/02/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_iter_next \- Return next item in iteration in CMAP > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t > +cmap_iter_next(cmap_handle_t \fIhandle\fB, cmap_iter_handle_t \fIiter_handle\fB, char \fIkey_name[]\fB, > +size_t *\fIvalue_len\fB, cmap_value_types_t *\fItype\fB);\fR > + > +.SH DESCRIPTION > +.P > +The > +.B cmap_iter_next > +function is used to get next value in iteration. The > +.I handle > +argument is connection to CMAP database obtained by calling > +.B cmap_initialize(3) > +function. > +.I iter_handle > +argument is iterator handle obtained by > +.B cmap_iter_init(3) > +function. Following key name is stored inside > +.I key_name > +argument, which must be preallocated by caller and its quaranted maximum size is CMAP_KEYNAME_MAXLEN > +(urrently 255). > +.I value_len > +is pointer where length of value is stored, but can be NULL. > +.I type > +is also optional argument (can be NULL) and here type of value is stored (type is one of types described > +in > +.B cmap_get(3) > +function). > + > +.SH RETURN VALUE > +This call returns the CS_OK value if successful. If there are no more items to iterate, CS_NO_SECTION > +error code is returned. > + > +.SH "SEE ALSO" > +.BR cmap_iter_init (3), > +.BR cmap_iter_finalize (3), > +.BR cmap_initialize (3), > +.BR cmap_get (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_overview.8 b/man/cmap_overview.8 > new file mode 100644 > index 0000000..eb8b99b > --- /dev/null > +++ b/man/cmap_overview.8 > @@ -0,0 +1,74 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_OVERVIEW" 8 "03/02/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_overview \- Overview of the Configuration Map > + > +.SH OVERVIEW > +.P > +The CMAP library is used to interact with the configuration database used by corosync. > + > +.PP > +The library provides a mechanism to: > +.PP > +* Create of new keys > +.PP > +* Change existing keys > +.PP > +* Remove keys > +.PP > +* Iterate keys with given prefix > +.PP > +* Track changes on keys > + > +.SH BUGS > +.SH "SEE ALSO" > +.BR cmap_initialize (3), > +.BR cmap_finalize (3), > +.BR cmap_get (3), > +.BR cmap_set (3), > +.BR cmap_delete (3), > +.BR cmap_inc (3), > +.BR cmap_dec (3), > +.BR cmap_fd_get (3), > +.BR cmap_dispatch (3), > +.BR cmap_context_set (3), > +.BR cmap_context_get (3), > +.BR cmap_iter_init (3), > +.BR cmap_iter_next (3), > +.BR cmap_iter_finalize (3), > +.BR cmap_track_add (3), > +.BR cmap_track_delete (3) > diff --git a/man/cmap_set.3 b/man/cmap_set.3 > new file mode 100644 > index 0000000..72264f6 > --- /dev/null > +++ b/man/cmap_set.3 > @@ -0,0 +1,127 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_SET" 3 "23/01/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_set \- Store value in CMAP > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t > +cmap_set (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, const void *\fIvalue\fB, > +size_t \fIvalue_len\fB, cmap_value_types_t \fItype\fB);\fR > +.P > +Also shortcuts for different types are defined > +.P > +\fBcs_error_t cmap_set_int8(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, int8_t \fIvalue\fB);\fR > +.P > +\fBcs_error_t cmap_set_uint8(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, uint8_t \fIvalue\fB);\fR > +.P > +\fBcs_error_t cmap_set_int16(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, int16_t \fIvalue\fB);\fR > +.P > +\fBcs_error_t cmap_set_uint16(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, uint16_t \fIvalue\fB);\fR > +.P > +\fBcs_error_t cmap_set_int32(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, int32_t \fIvalue\fB);\fR > +.P > +\fBcs_error_t cmap_set_uint32(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, uint32_t \fIvalue\fB);\fR > +.P > +\fBcs_error_t cmap_set_int64(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, int64_t \fIvalue\fB);\fR > +.P > +\fBcs_error_t cmap_set_uint64(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, uint64_t \fIvalue\fB);\fR > +.P > +\fBcs_error_t cmap_set_float(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, float \fIvalue\fB);\fR > +.P > +\fBcs_error_t cmap_set_double(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, double \fIvalue\fB);\fR > +.P > +\fBcs_error_t cmap_set_string(cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, const char *\fIvalue\fB);\fR > + > +.SH DESCRIPTION > +.P > +The > +.B cmap_set > +function is used to store key inside cmap. The > +.I handle > +argument is connection to CMAP database obtained by calling > +.B cmap_initialize(3) > +function. > +.I key_name > +is name of key to set value. Key name is limited by minimal (CMAP_KEYNAME_MINLEN, currently 3) and > +maximal (CMAP_KEYNAME_MAXLEN, currently 255) length. Also key can contain only limited set of characters expressed > +by regexp [a-zA-Z0-9._-/:]*. > +.I value > +is pointer to allocated data which will be stored inside CMAP. Length of value (number of bytes) is supplied > +as > +.I value_len > +parameter. Last parameter is > +.I type > +which gives type of value. It may be one of: > +.PP > +\fBCMAP_VALUETYPE_INT8\fR - 8-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT8\fR - 8-bit unsigned integer > +.PP > +\fBCMAP_VALUETYPE_INT16\fR - 16-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT16\fR - 16-bit unsigned integer > +.PP > +\fBCMAP_VALUETYPE_INT32\fR - 32-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT32\fR - 32-bit unsigned integer > +.PP > +\fBCMAP_VALUETYPE_INT64\fR - 64-bit signed interger > +.PP > +\fBCMAP_VALUETYPE_UINT64\fR - 64-bit unsigned integer > +.PP > +\fBCMAP_VALUETYPE_FLOAT\fR - Float value > +.PP > +\fBCMAP_VALUETYPE_DOUBLE\fR - Double value > +.PP > +\fBCMAP_VALUETYPE_STRING\fR - C-style string > +.PP > +\fBCMAP_VALUETYPE_BINARY\fR - Binary data, byte with zero value has no special meaning > + > + > +.SH RETURN VALUE > +This call returns the CS_OK value if successful. If value or key_name are unspecified, CS_ERR_INVALID_PARAM > +is returned. Too short or too long key_name returns CS_ERR_NAME_TOO_LONG error code. Some of keys may > +be tagged read-only directly in corosync and seting such key will result in CS_ERR_ACCESS error. > + > +.SH "SEE ALSO" > +.BR cmap_get (3), > +.BR cmap_initialize (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_track_add.3 b/man/cmap_track_add.3 > new file mode 100644 > index 0000000..07a6581 > --- /dev/null > +++ b/man/cmap_track_add.3 > @@ -0,0 +1,164 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_TRACK_ADD" 3 "06/02/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_track_add \- Set tracking function for values in CMAP > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t > +cmap_track_add (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB, int32_t \fItrack_type\fB, > +cmap_notify_fn_t \fInotify_fn\fB, void *\fIuser_data\fB, cmap_track_handle_t *\fIcmap_track_handle\fB);\fR > + > +.SH DESCRIPTION > +.P > +The > +.B cmap_track_add > +function is used to set function which tracks changes in CMAP. One CMAP connection can > +track multiple keys and also it's possible to track one key multiple times. The > +.I handle > +argument is connection to CMAP database obtained by calling > +.B cmap_initialize(3) > +function. > +.I key_name > +argument is ether exact key name or prefix of key name to track changes on. > +.I track_type > +is bitfield which may consist of following values: > +.PP > +\fBCMAP_TRACK_ADD\fR - track addition of new key (or key added in callback) > +.PP > +\fBCMAP_TRACK_DELETE\fR - track deletion of key (or key deleted in callback) > +.PP > +\fBCMAP_TRACK_MODIFY\fR - track modification of key (or key modified in callback) > +.PP > +\fBCMAP_TRACK_PREFIX\fR - whole prefix is tracked, instead of key only, so "totem." tracking means > +that "totem.nodeid", "totem.version", ... applies (this value is never returned > +in callback) > +.PP > +.I notify_fn > +is pointer to function which is called when value is changed. It's definition and meaning of parameters > +is discussed bellow. > +.I user_data > +argument is passed directly to > +.I notify_fn > +without any changes. > +.I cmap_track_handle > +is used for removing of tracking when no longer needed by calling > +.B cmap_track_delete(3) > +function. > + > +Callback function is defined as: > +.IP > +.RS > +.ne 18 > +.nf > +.PP > +typedef void (*cmap_notify_fn_t) ( > + cmap_handle_t cmap_handle, > + cmap_track_handle_t cmap_track_handle, > + int32_t event, > + const char *key_name, > + struct cmap_notify_value new_value, > + struct cmap_notify_value old_value, > + void *user_data); > +.ta > +.fi > +.RE > +.IP > +.PP > +where > +.I cmap_handle > +is handle used in registration of track function. > +.I cmap_track_handle > +is handle returned by > +.B cmap_track_add > +function. > +.I event > +is one of \fBCMAP_TRACK_ADD\fR, \fBCMAP_TRACK_DELETE\fR or \fBCMAP_TRACK_MODIFY\fR. > +.I key_name > +is name of changed key. > +.I new_value > +is new value of key, or unset if > +.I event > +is \fBCMAP_TRACK_DELETE\fR. > +.I old_value > +is previous value of key or unset if > +.I event > +is \fBCMAP_TRACK_ADD\fR or for some special keys set directly by Corosync due to speed optimalizations. > +Both > +.I new_value > +and > +.I old_value > +are structures defined as: > +.IP > +.RS > +.ne 18 > +.nf > +.PP > +struct cmap_notify_value { > + cmap_value_types_t type; > + size_t len; > + const void *data; > +}; > +.ta > +.fi > +.RE > +.IP > +.PP > +If value is unset, all fields are set to 0. Otherwise > +.I type > +is one of cmap types (as described in > +.B cmap_get(3) > +function), > +.I len > +is length of value in cmap and > +.I data > +is pointer to value of item. Data storage is dynamically alocated by caller and notify function must not try to > +free it. > + > +.SH RETURN VALUE > +This call returns the CS_OK value if successful. It can return CS_ERR_INVALID_PARAM if > +notify_fn is NULL or track_type is invalid value. > + > +.SH "SEE ALSO" > +.BR cmap_track_delete (3), > +.BR cmap_initialize (3), > +.BR cmap_get (3), > +.BR cmap_dispatch (3), > +.BR cmap_overview (8) > diff --git a/man/cmap_track_delete.3 b/man/cmap_track_delete.3 > new file mode 100644 > index 0000000..6c28530 > --- /dev/null > +++ b/man/cmap_track_delete.3 > @@ -0,0 +1,70 @@ > +.\"/* > +.\" * Copyright (c) 2012 Red Hat, Inc. > +.\" * > +.\" * All rights reserved. > +.\" * > +.\" * Author: Jan Friesse (jfriesse@xxxxxxxxxx) > +.\" * > +.\" * This software licensed under BSD license, the text of which follows: > +.\" * > +.\" * Redistribution and use in source and binary forms, with or without > +.\" * modification, are permitted provided that the following conditions are met: > +.\" * > +.\" * - Redistributions of source code must retain the above copyright notice, > +.\" * this list of conditions and the following disclaimer. > +.\" * - Redistributions in binary form must reproduce the above copyright notice, > +.\" * this list of conditions and the following disclaimer in the documentation > +.\" * and/or other materials provided with the distribution. > +.\" * - Neither the name of the Red Hat, Inc. nor the names of its > +.\" * contributors may be used to endorse or promote products derived from this > +.\" * software without specific prior written permission. > +.\" * > +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" > +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > +.\" * THE POSSIBILITY OF SUCH DAMAGE. > +.\" */ > +.TH "CMAP_TRACK_DELETE" 3 "06/02/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" > + > +.SH NAME > +.P > +cmap_track_delete \- Remove tracking of values in CMAP > + > +.SH SYNOPSIS > +.P > +\fB#include <corosync/cmap.h>\fR > + > +.P > +\fBcs_error_t > +cmap_track_delete (cmap_handle_t \fIhandle\fB, cmap_track_handle_t \fItrack_handle\fB);\fR > + > +.SH DESCRIPTION > +.P > +The > +.B cmap_track_delte > +function is used to remove tracking of values changed in CMAP. > +The > +.I handle > +argument is connection to CMAP database obtained by calling > +.B cmap_initialize(3) > +function. > +.I track_handle > +argument is iterator handle obtained by > +.B cmap_track_add(3) > +function. > + > +.SH RETURN VALUE > +This call returns the CS_OK value if successful. CS_ERR_BAD_HANDLE error is returned when track_handle > +is invalid. > + > +.SH "SEE ALSO" > +.BR cmap_track_add (3), > +.BR cmap_initialize (3), > +.BR cmap_overview (8) _______________________________________________ discuss mailing list discuss@xxxxxxxxxxxx http://lists.corosync.org/mailman/listinfo/discuss