corosync  3.1.5
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 {
74  mar_uint32_t nodeid __attribute__((aligned(8)));
75  mar_uint64_t seq __attribute__((aligned(8)));
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)));
99  mar_int32_t quorate __attribute__((aligned(8)));
100  mar_uint64_t ring_seq __attribute__((aligned(8)));
101  mar_uint32_t view_list_entries __attribute__((aligned(8)));
102  mar_uint32_t view_list[];
103 };
104 
106  struct qb_ipc_response_header header __attribute__((aligned(8)));
107  mar_int32_t quorate __attribute__((aligned(8)));
109  mar_uint32_t view_list_entries __attribute__((aligned(8)));
110  mar_uint32_t view_list[];
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)));
119  mar_uint32_t member_list[];
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
The res_lib_quorum_getquorate struct.
Definition: ipc_quorum.h:89
The req_lib_quorum_trackstart struct.
Definition: ipc_quorum.h:81
req_quorum_types
The req_quorum_types enum.
Definition: ipc_quorum.h:43
The res_lib_quorum_notification struct.
Definition: ipc_quorum.h:97
unsigned long long seq
Definition: coroapi.h:76
uint64_t mar_uint64_t
Definition: mar_gen.h:54
uint32_t quorate
Definition: sam.c:134
The res_lib_quorum_gettype struct.
Definition: ipc_quorum.h:127
uint32_t mar_uint32_t
Definition: mar_gen.h:53
unsigned int track_flags
Definition: ipc_quorum.h:83
res_quorum_types
The res_quorum_types enum.
Definition: ipc_quorum.h:54
mar_uint32_t quorum_type
Definition: ipc_quorum.h:129
unsigned long long ring_seq
Definition: totemsrp.c:264
typedef __attribute__
unsigned int nodeid
Definition: coroapi.h:75
struct memb_ring_id ring_id
Definition: totemsrp.c:264
int32_t mar_int32_t
Definition: mar_gen.h:48
lib_quorum_model
Definition: ipc_quorum.h:68