summaryrefslogtreecommitdiff
path: root/src/dbinc_auto/repmgr_automsg.h
blob: 17e467e9be883807d53690a6c96f54918a01f4af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
/* Do not edit: automatically built by gen_msg.awk. */

#ifndef	__repmgr_AUTOMSG_H
#define	__repmgr_AUTOMSG_H

/*
 * Message sizes are simply the sum of field sizes (not
 * counting variable size parts, when DBTs are present),
 * and may be different from struct sizes due to padding.
 */
#define	__REPMGR_HANDSHAKE_SIZE	12
typedef struct ___repmgr_handshake_args {
	u_int16_t	port;
	u_int16_t	alignment;
	u_int32_t	ack_policy;
	u_int32_t	flags;
} __repmgr_handshake_args;

#define	__REPMGR_V3HANDSHAKE_SIZE	10
typedef struct ___repmgr_v3handshake_args {
	u_int16_t	port;
	u_int32_t	priority;
	u_int32_t	flags;
} __repmgr_v3handshake_args;

#define	__REPMGR_V2HANDSHAKE_SIZE	6
typedef struct ___repmgr_v2handshake_args {
	u_int16_t	port;
	u_int32_t	priority;
} __repmgr_v2handshake_args;

#define	__REPMGR_PARM_REFRESH_SIZE	8
typedef struct ___repmgr_parm_refresh_args {
	u_int32_t	ack_policy;
	u_int32_t	flags;
} __repmgr_parm_refresh_args;

#define	__REPMGR_PERMLSN_SIZE	12
typedef struct ___repmgr_permlsn_args {
	u_int32_t	generation;
	DB_LSN		lsn;
} __repmgr_permlsn_args;

#define	__REPMGR_VERSION_PROPOSAL_SIZE	8
typedef struct ___repmgr_version_proposal_args {
	u_int32_t	min;
	u_int32_t	max;
} __repmgr_version_proposal_args;

#define	__REPMGR_VERSION_CONFIRMATION_SIZE	4
typedef struct ___repmgr_version_confirmation_args {
	u_int32_t	version;
} __repmgr_version_confirmation_args;

#define	__REPMGR_MSG_HDR_SIZE	9
typedef struct ___repmgr_msg_hdr_args {
	u_int8_t	type;
	u_int32_t	word1;
	u_int32_t	word2;
} __repmgr_msg_hdr_args;

#define	__REPMGR_MSG_METADATA_SIZE	12
typedef struct ___repmgr_msg_metadata_args {
	u_int32_t	tag;
	u_int32_t	limit;
	u_int32_t	flags;
} __repmgr_msg_metadata_args;

#define	__REPMGR_MEMBERSHIP_KEY_SIZE	6
typedef struct ___repmgr_membership_key_args {
	DBT		host;
	u_int16_t	port;
} __repmgr_membership_key_args;

#define	__REPMGR_MEMBERSHIP_DATA_SIZE	8
typedef struct ___repmgr_membership_data_args {
	u_int32_t	status;
	u_int32_t	flags;
} __repmgr_membership_data_args;

#define	__REPMGR_V4MEMBERSHIP_DATA_SIZE	4
typedef struct ___repmgr_v4membership_data_args {
	u_int32_t	flags;
} __repmgr_v4membership_data_args;

#define	__REPMGR_MEMBER_METADATA_SIZE	8
typedef struct ___repmgr_member_metadata_args {
	u_int32_t	format;
	u_int32_t	version;
} __repmgr_member_metadata_args;

#define	__REPMGR_GM_FWD_SIZE	10
typedef struct ___repmgr_gm_fwd_args {
	DBT		host;
	u_int16_t	port;
	u_int32_t	gen;
} __repmgr_gm_fwd_args;

#define	__REPMGR_MEMBR_VERS_SIZE	8
typedef struct ___repmgr_membr_vers_args {
	u_int32_t	version;
	u_int32_t	gen;
} __repmgr_membr_vers_args;

#define	__REPMGR_SITE_INFO_SIZE	14
typedef struct ___repmgr_site_info_args {
	DBT		host;
	u_int16_t	port;
	u_int32_t	status;
	u_int32_t	flags;
} __repmgr_site_info_args;

#define	__REPMGR_V4SITE_INFO_SIZE	10
typedef struct ___repmgr_v4site_info_args {
	DBT		host;
	u_int16_t	port;
	u_int32_t	flags;
} __repmgr_v4site_info_args;

#define	__REPMGR_CONNECT_REJECT_SIZE	12
typedef struct ___repmgr_connect_reject_args {
	u_int32_t	version;
	u_int32_t	gen;
	u_int32_t	status;
} __repmgr_connect_reject_args;

#define	__REPMGR_V4CONNECT_REJECT_SIZE	8
typedef struct ___repmgr_v4connect_reject_args {
	u_int32_t	version;
	u_int32_t	gen;
} __repmgr_v4connect_reject_args;

#define	__REPMGR_LSNHIST_MATCH_SIZE	24
typedef struct ___repmgr_lsnhist_match_args {
	DB_LSN		lsn;
	u_int32_t	hist_sec;
	u_int32_t	hist_nsec;
	DB_LSN		next_gen_lsn;
} __repmgr_lsnhist_match_args;

#define	__REPMGR_MAXMSG_SIZE	24
#endif