Signed-off-by: Jan Friesse <jfriesse@xxxxxxxxxx>
---
man/Makefile.am | 3 +
man/cpg_iteration_finalize.3.in | 67 ++++++++++++++++++++++++++
man/cpg_iteration_initialize.3.in | 96 +++++++++++++++++++++++++++++++++++++
man/cpg_iteration_next.3.in | 85 ++++++++++++++++++++++++++++++++
man/cpg_overview.8 | 25 +++++++---
man/index.html | 12 +++++
6 files changed, 280 insertions(+), 8 deletions(-)
create mode 100644 man/cpg_iteration_finalize.3.in
create mode 100644 man/cpg_iteration_initialize.3.in
create mode 100644 man/cpg_iteration_next.3.in
diff --git a/man/Makefile.am b/man/Makefile.am
index d5feb71..69c536c 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -54,6 +54,9 @@ autogen_man = cpg_context_get.3 \
cpg_zcb_alloc.3 \
cpg_zcb_free.3 \
cpg_membership_get.3 \
+ cpg_iteration_finalize.3 \
+ cpg_iteration_initialize.3 \
+ cpg_iteration_next.3 \
evs_dispatch.3 \
evs_fd_get.3 \
evs_finalize.3 \
diff --git a/man/cpg_iteration_finalize.3.in b/man/cpg_iteration_finalize.3.in
new file mode 100644
index 0000000..747d227
--- /dev/null
+++ b/man/cpg_iteration_finalize.3.in
@@ -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 "CPG_ITERATION_FINALIZE" 3 "05/03/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual"
+
+.SH NAME
+.P
+cpg_iteration_finalize \- Finalize iterator for members of CPG
+
+.SH SYNOPSIS
+.P
+\fB#include <corosync/cpg.h>\fR
+
+.P
+\fBcs_error_t
+cpg_iteration_finalize (cpg_iteration_handle_t \fIhandle\fB);\fR
+
+.SH DESCRIPTION
+.P
+The
+.B cpg_iteration_finalize
+function is used to free up memory asociated with iteration obtained by calling of
+.B cpg_iteration_initialize(3)
+function.
+The
+.I handle
+argument is iterator handle obtained by
+.B cpg_iteration_initialize(3)
+function.
+
+.SH RETURN VALUE
+This call returns the CS_OK value if successful. CS_ERR_BAD_HANDLE error is returned when handle
+is invalid.
+
+.SH "SEE ALSO"
+.BR cpg_iteration_initialize (3),
+.BR cpg_overview (8)
diff --git a/man/cpg_iteration_initialize.3.in b/man/cpg_iteration_initialize.3.in
new file mode 100644
index 0000000..5777459
--- /dev/null
+++ b/man/cpg_iteration_initialize.3.in
@@ -0,0 +1,96 @@
+.\"/*
+.\" * 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 "CPG_ITERATION_INITIALIZE" 3 "05/03/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual"
+
+.SH NAME
+.P
+cpg_iteration_initialize \- Initialize iterator for members of CPG
+
+.SH SYNOPSIS
+.P
+\fB#include <corosync/cpg.h>\fR
+
+.P
+\fBcs_error_t
+cpg_iteration_initialize (cpg_handle_t \fIhandle\fB, cpg_iteration_type_t \fIiteration_type\fB,
+const struct cpg_name *\fIgroup\fB, cpg_iteration_handle_t *\fIcpg_iteration_handle\fB);\fR
+
+.SH DESCRIPTION
+.P
+The
+.B cpg_iteration_initialize
+function is used to initialize iteration of CPG members.
+The
+.I handle
+argument is connection to CPG database obtained by calling
+.B cpg_initialize(3)
+function.
+.I iteration_type
+is used for limit number of returned items and can be one of:
+.PP
+\fBCPG_ITERATION_NAME_ONLY\fR - only name of used groups are returned
+.PP
+\fBCPG_ITERATION_ONE_GROUP\fR - only members group with name \fIgroup\fR are returned
+.PP
+\fBCPG_ITERATION_ALL\fR - all members are returned
+
+The
+.I group
+parameter is used only with \fBCPG_ITERATION_ONE_GROUP\fR and it's name of group with
+members to iterate. For other \fIiteration_type\fR, this parameter must be NULL.
+
+.B cpg_iteration_initialize
+is used only for initialize context for future
+.B cpg_iteration_next(3)
+calls and handle needed for that function is returned in
+.I cpg_iteration_handle
+variable. When you have finished iteration over objects, call
+.B cpg_iteration_finalize(3)
+function to free up memory associated with iteration.
+
+.SH RETURN VALUE
+This call returns the CS_OK value if successful. If \fIcpg_iteration_handle\fR is NULL,
+\fBCS_ERR_INVALID_PARAM\fR error is returned. Same error is returned when \fIiteration_type\fR
+is \fBCPG_ITERATION_ONE_GROUP\fR, but \fIgroup\fR is NULL, or when \fIgroup\fR is not NULL and
+\fIiteration_type\fR is not \fBCPG_ITERATION_ONE_GROUP\fR. If there is not enough memory
+for internal store of data, \fBCS_ERR_NO_MEMORY\fR is returned. \fBCS_ERR_BAD_HANDLE\fR can
+be returned, if \fIhandle\fR is not valid handle.
+
+.SH COMMON IPC ERRORS
+@COMMONIPCERRORS@
+.SH "SEE ALSO"
+.BR cpg_iteration_next (3),
+.BR cpg_iteration_finalize (3),
+.BR cpg_initialize (3),
+.BR cpg_overview (8)
diff --git a/man/cpg_iteration_next.3.in b/man/cpg_iteration_next.3.in
new file mode 100644
index 0000000..656f5f4
--- /dev/null
+++ b/man/cpg_iteration_next.3.in
@@ -0,0 +1,85 @@
+.\"/*
+.\" * 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 "CPG_ITERATION_NEXT" 3 "05/03/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual"
+
+.SH NAME
+.P
+cpg_iteration_next \- Return next item in iteration of CPG
+
+.SH SYNOPSIS
+.P
+\fB#include <corosync/cpg.h>\fR
+
+.P
+\fBcs_error_t
+cpg_iteration_next (cpg_iteration_handle_t \fIhandle\fB, struct cpg_iteration_description_t *\fIdescription\fB);\fR
+
+.SH DESCRIPTION
+.P
+The
+.B cpg_iter_next
+function is used to get next value in iteration. The
+.I handle
+argument is iterator handle obtained by
+.B cpg_iteration_initalize(3)
+function.
+.I description
+is pointer to structure with following definition:
+.IP
+.RS
+.ne 18
+.nf
+.PP
+struct cpg_iteration_description_t {
+ struct cpg_name group;
+ uint32_t nodeid;
+ uint32_t pid;
+};
+.ta
+.fi
+.RE
+.IP
+.PP
+
+where \fBgroup\fR is name of group, \fBnodeid\fR is ID of connected node and \fBpid\fR is pid of
+connected process. If iteration was initialized with \fBCPG_ITERATION_NAME_ONLY\fR iteration
+type, both \fBnodeid\fR and \fBpid\fR are 0.
+
+.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 cpg_iteration_initialize (3),
+.BR cpg_overview (8)
diff --git a/man/cpg_overview.8 b/man/cpg_overview.8
index 1f268a5..bea1090 100644
--- a/man/cpg_overview.8
+++ b/man/cpg_overview.8
@@ -40,12 +40,19 @@ to create distributed applications that operate properly during cluster
partitions, merges, and faults.
.PP
The library provides a mechanism to:
+.PP
* handle abstraction for multiple instances of a CPG library in one application
+.PP
* join one or more groups
+.PP
* leave one or more groups
+.PP
* Deliver messages to members of that group
+.PP
* Deliver configuration changes
.PP
+* Iterate members of groups
+.PP
.SH SECURITY
If encryption is enabled in corosync.conf, the CPG library will encrypt and
authenticate message contents. Applications must run as the ais user to be
@@ -62,12 +69,14 @@ access the corosync services.
.BR cpg_leave (3),
.BR cpg_mcast_joined (3),
.BR cpg_model_initialize (3),
-.BR cpg_membership_get (3)
-.BR cpg_zcb_alloc (3)
-.BR cpg_zcb_free (3)
-.BR cpg_zcb_mcast_joined (3)
-.BR cpg_context_get (3)
-.BR cpg_context_set (3)
-.BR cpg_local_get (3)
-
+.BR cpg_membership_get (3),
+.BR cpg_zcb_alloc (3),
+.BR cpg_zcb_free (3),
+.BR cpg_zcb_mcast_joined (3),
+.BR cpg_context_get (3),
+.BR cpg_context_set (3),
+.BR cpg_local_get (3),
+.BR cpg_iteration_initialize (3),
+.BR cpg_iteration_next (3),
+.BR cpg_iteration_finalize (3)
.PP
diff --git a/man/index.html b/man/index.html
index 0ead199..3c78fd3 100644
--- a/man/index.html
+++ b/man/index.html
@@ -130,6 +130,18 @@
Description of the cpg_groups_get interface.
<br>
+ <a href="cpg_iteration_initialize.3.html">cpg_iteration_initialize(3)</a>:
+ Description of the cpg_iteration_initialize interface.
+ <br>
+
+ <a href="cpg_iteration_next.3.html">cpg_iteration_next(3)</a>:
+ Description of the cpg_iteration_next interface.
+ <br>
+
+ <a href="cpg_iteration_finalize.3.html">cpg_iteration_finalize(3)</a>:
+ Description of the cpg_iteration_finalize interface.
+ <br>
+
<h3>EVS service</h3>
<a href="evs_overview.8.html">evs_overview(8)</a>:
--
1.7.1
_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss
[Corosync Project]
[Linux USB Devel]
[Video for Linux]
[Linux Audio Users]
[Photo]
[Yosemite News]
[Yosemite Photos]
[Free Online Dating]
[Linux Kernel]
[Linux SCSI]
[XFree86]