Ver código fonte

man: Add description of cpg_iteration_* functions

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Steven Dake <sdake@redhat.com>
Jan Friesse 14 anos atrás
pai
commit
500ae491e3

+ 3 - 0
man/Makefile.am

@@ -54,6 +54,9 @@ autogen_man		= cpg_context_get.3 \
 			  cpg_zcb_alloc.3 \
 			  cpg_zcb_alloc.3 \
 			  cpg_zcb_free.3 \
 			  cpg_zcb_free.3 \
 			  cpg_membership_get.3 \
 			  cpg_membership_get.3 \
+			  cpg_iteration_finalize.3 \
+			  cpg_iteration_initialize.3 \
+			  cpg_iteration_next.3 \
 			  evs_dispatch.3 \
 			  evs_dispatch.3 \
 			  evs_fd_get.3 \
 			  evs_fd_get.3 \
 			  evs_finalize.3 \
 			  evs_finalize.3 \

+ 67 - 0
man/cpg_iteration_finalize.3.in

@@ -0,0 +1,67 @@
+.\"/*
+.\" * Copyright (c) 2012 Red Hat, Inc.
+.\" *
+.\" * All rights reserved.
+.\" *
+.\" * Author: Jan Friesse (jfriesse@redhat.com)
+.\" *
+.\" * 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)

+ 96 - 0
man/cpg_iteration_initialize.3.in

@@ -0,0 +1,96 @@
+.\"/*
+.\" * Copyright (c) 2012 Red Hat, Inc.
+.\" *
+.\" * All rights reserved.
+.\" *
+.\" * Author: Jan Friesse (jfriesse@redhat.com)
+.\" *
+.\" * 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)

+ 85 - 0
man/cpg_iteration_next.3.in

@@ -0,0 +1,85 @@
+.\"/*
+.\" * Copyright (c) 2012 Red Hat, Inc.
+.\" *
+.\" * All rights reserved.
+.\" *
+.\" * Author: Jan Friesse (jfriesse@redhat.com)
+.\" *
+.\" * 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)

+ 17 - 8
man/cpg_overview.8

@@ -40,12 +40,19 @@ to create distributed applications that operate properly during cluster
 partitions, merges, and faults.
 partitions, merges, and faults.
 .PP
 .PP
 The library provides a mechanism to:
 The library provides a mechanism to:
+.PP
 * handle abstraction for multiple instances of a CPG library in one application
 * handle abstraction for multiple instances of a CPG library in one application
+.PP
 * join one or more groups
 * join one or more groups
+.PP
 * leave one or more groups
 * leave one or more groups
+.PP
 * Deliver messages to members of that group
 * Deliver messages to members of that group
+.PP
 * Deliver configuration changes
 * Deliver configuration changes
 .PP
 .PP
+* Iterate members of groups
+.PP
 .SH SECURITY
 .SH SECURITY
 If encryption is enabled in corosync.conf, the CPG library will encrypt and
 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
 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_leave (3),
 .BR cpg_mcast_joined (3),
 .BR cpg_mcast_joined (3),
 .BR cpg_model_initialize (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
 .PP

+ 12 - 0
man/index.html

@@ -130,6 +130,18 @@
       Description of the cpg_groups_get interface.
       Description of the cpg_groups_get interface.
       <br>
       <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>
       <h3>EVS service</h3>
 
 
       <a href="evs_overview.8.html">evs_overview(8)</a>:
       <a href="evs_overview.8.html">evs_overview(8)</a>: