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
73typedef 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