corosync  3.1.7
ipc_quorum.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008-2020 Red Hat, Inc.
3  *
4  * All rights reserved.
5  *
6  * Author: Christine Caulfield (ccaulfie@redhat.com)
7  *
8  * This software licensed under BSD license, the text of which follows:
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions are met:
12  *
13  * - Redistributions of source code must retain the above copyright notice,
14  * this list of conditions and the following disclaimer.
15  * - Redistributions in binary form must reproduce the above copyright notice,
16  * this list of conditions and the following disclaimer in the documentation
17  * and/or other materials provided with the distribution.
18  * - Neither the name of the MontaVista Software, Inc. nor the names of its
19  * contributors may be used to endorse or promote products derived from this
20  * software without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
26  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
32  * THE POSSIBILITY OF SUCH DAMAGE.
33  */
34 #ifndef IPC_QUORUM_H_DEFINED
35 #define IPC_QUORUM_H_DEFINED
36 
37 #include <corosync/corotypes.h>
38 #include <corosync/mar_gen.h>
39 
49 };
50 
63 };
64 
65 /*
66  * Must be in sync with definition in quorum.h
67  */
71 };
72 
73 typedef struct {
77 
82  struct qb_ipc_request_header header __attribute__((aligned(8)));
83  unsigned int track_flags;
84 };
85 
90  struct qb_ipc_response_header header __attribute__((aligned(8)));
92 };
93 
98  struct qb_ipc_response_header header __attribute__((aligned(8)));
101  mar_uint32_t view_list_entries __attribute__((aligned(8)));
103 };
104 
106  struct qb_ipc_response_header header __attribute__((aligned(8)));
109  mar_uint32_t view_list_entries __attribute__((aligned(8)));
111 };
112 
114  struct qb_ipc_response_header header __attribute__((aligned(8)));
116  mar_uint32_t member_list_entries __attribute__((aligned(8)));
117  mar_uint32_t joined_list_entries __attribute__((aligned(8)));
118  mar_uint32_t left_list_entries __attribute__((aligned(8)));
120 // mar_uint32_t joined_list[];
121 // mar_uint32_t left_list[];
122 };
123 
128  struct qb_ipc_response_header header __attribute__((aligned(8)));
130 };
131 
133  struct qb_ipc_request_header header __attribute__((aligned(8)));
134  mar_uint32_t model __attribute__((aligned(8)));
135 };
136 
138  struct qb_ipc_response_header header __attribute__((aligned(8)));
139  mar_uint32_t quorum_type __attribute__((aligned(8)));
140 };
141 
142 #endif
unsigned long long seq
Definition: coroapi.h:1
unsigned int nodeid
Definition: coroapi.h:0
res_quorum_types
The res_quorum_types enum.
Definition: ipc_quorum.h:54
@ MESSAGE_RES_QUORUM_TRACKSTART
Definition: ipc_quorum.h:56
@ MESSAGE_RES_QUORUM_V1_QUORUM_NOTIFICATION
Definition: ipc_quorum.h:61
@ MESSAGE_RES_QUORUM_TRACKSTOP
Definition: ipc_quorum.h:57
@ MESSAGE_RES_QUORUM_V1_NODELIST_NOTIFICATION
Definition: ipc_quorum.h:62
@ MESSAGE_RES_QUORUM_GETTYPE
Definition: ipc_quorum.h:59
@ MESSAGE_RES_QUORUM_NOTIFICATION
Definition: ipc_quorum.h:58
@ MESSAGE_RES_QUORUM_MODEL_GETTYPE
Definition: ipc_quorum.h:60
@ MESSAGE_RES_QUORUM_GETQUORATE
Definition: ipc_quorum.h:55
lib_quorum_model
Definition: ipc_quorum.h:68
@ LIB_QUORUM_MODEL_V1
Definition: ipc_quorum.h:70
@ LIB_QUORUM_MODEL_V0
Definition: ipc_quorum.h:69
req_quorum_types
The req_quorum_types enum.
Definition: ipc_quorum.h:43
@ MESSAGE_REQ_QUORUM_GETTYPE
Definition: ipc_quorum.h:47
@ MESSAGE_REQ_QUORUM_TRACKSTART
Definition: ipc_quorum.h:45
@ MESSAGE_REQ_QUORUM_TRACKSTOP
Definition: ipc_quorum.h:46
@ MESSAGE_REQ_QUORUM_GETQUORATE
Definition: ipc_quorum.h:44
@ MESSAGE_REQ_QUORUM_MODEL_GETTYPE
Definition: ipc_quorum.h:48
int32_t mar_int32_t
Definition: mar_gen.h:48
uint32_t mar_uint32_t
Definition: mar_gen.h:53
uint64_t mar_uint64_t
Definition: mar_gen.h:54
uint32_t quorate
Definition: sam.c:134
mar_uint64_t seq __attribute__((aligned(8)))
mar_uint32_t nodeid __attribute__((aligned(8)))
mar_uint32_t model __attribute__((aligned(8)))
struct qb_ipc_request_header header __attribute__((aligned(8)))
The req_lib_quorum_trackstart struct.
Definition: ipc_quorum.h:81
unsigned int track_flags
Definition: ipc_quorum.h:83
struct qb_ipc_request_header header __attribute__((aligned(8)))
The res_lib_quorum_getquorate struct.
Definition: ipc_quorum.h:89
struct qb_ipc_response_header header __attribute__((aligned(8)))
The res_lib_quorum_gettype struct.
Definition: ipc_quorum.h:127
mar_uint32_t quorum_type
Definition: ipc_quorum.h:129
struct qb_ipc_response_header header __attribute__((aligned(8)))
struct qb_ipc_response_header header __attribute__((aligned(8)))
The res_lib_quorum_notification struct.
Definition: ipc_quorum.h:97
mar_uint64_t ring_seq __attribute__((aligned(8)))
mar_uint32_t view_list_entries __attribute__((aligned(8)))
struct qb_ipc_response_header header __attribute__((aligned(8)))
mar_uint32_t view_list[]
Definition: ipc_quorum.h:102
mar_int32_t quorate __attribute__((aligned(8)))
mar_uint32_t member_list_entries __attribute__((aligned(8)))
mar_quorum_ring_id_t ring_id __attribute__((aligned(8)))
mar_uint32_t joined_list_entries __attribute__((aligned(8)))
struct qb_ipc_response_header header __attribute__((aligned(8)))
mar_uint32_t left_list_entries __attribute__((aligned(8)))
mar_int32_t quorate __attribute__((aligned(8)))
mar_uint32_t view_list_entries __attribute__((aligned(8)))
mar_quorum_ring_id_t ring_id __attribute__((aligned(8)))
struct qb_ipc_response_header header __attribute__((aligned(8)))
unsigned long long ring_seq
Definition: totemsrp.c:4
struct memb_ring_id ring_id
Definition: totemsrp.c:4
struct totem_message_header header
Definition: totemsrp.c:0