1/*-
2 * See the file LICENSE for redistribution information.
3 *
4 * Copyright (c) 2001,2008 Oracle.  All rights reserved.
5 *
6 * $Id: rep.src,v 12.17 2008/04/17 00:55:00 alanb Exp $
7 */
8
9DBPRIVATE
10PREFIX  __rep
11
12INCLUDE #include "db_int.h"
13INCLUDE #include "dbinc/db_page.h"
14INCLUDE #include "dbinc/db_am.h"
15INCLUDE #include "dbinc/log.h"
16INCLUDE #include "dbinc/mp.h"
17INCLUDE #include "dbinc/txn.h"
18INCLUDE
19
20/*
21 * bulk - message for bulk log records or pages
22 */
23BEGIN_MSG bulk		check_length
24ARG	len		u_int32_t
25ARG	lsn		DB_LSN
26ARG	bulkdata	DBT
27END
28
29/*
30 * control - replication control message
31 */
32BEGIN_MSG control	check_length
33ARG	rep_version	u_int32_t
34ARG	log_version	u_int32_t
35ARG	lsn		DB_LSN
36ARG	rectype		u_int32_t
37ARG	gen		u_int32_t
38ARG	msg_sec		u_int32_t
39ARG	msg_nsec	u_int32_t
40ARG	flags		u_int32_t
41END
42
43/*
44 * egen data
45 */
46BEGIN_MSG egen		check_length
47ARG	egen		u_int32_t
48END
49
50/*
51 * file info
52 */
53BEGIN_MSG fileinfo	alloc check_length version
54ARG	pgsize		u_int32_t
55ARG	pgno		db_pgno_t
56ARG	max_pgno	db_pgno_t
57ARG	filenum		u_int32_t
58ARG	finfo_flags	u_int32_t
59ARG	type		u_int32_t
60ARG	db_flags	u_int32_t
61ARG	uid		DBT
62ARG	info		DBT
63END
64
65/*
66 * grant info - clients send to masters granting a lease.
67 */
68BEGIN_MSG grant_info	check_length
69ARG	msg_sec		u_int32_t
70ARG	msg_nsec	u_int32_t
71END
72
73/*
74 * We do not need to do anything with LOG record data.
75 * It is opaque data to us.
76 */
77
78/*
79 * log request
80 */
81BEGIN_MSG logreq	check_length
82ARG	endlsn		DB_LSN
83END
84
85/*
86 * We do not need to do anything with NEWCLIENT/NEWSITE cdata dbt.
87 * It is user data and the app has to do whatever transformation
88 * it needs to with its own data.
89 */
90/*
91 * newfile version
92 */
93BEGIN_MSG newfile	check_length
94ARG	version		u_int32_t
95END
96
97/*
98 * update - send update information
99 */
100BEGIN_MSG update	alloc check_length version
101ARG	first_lsn	DB_LSN
102ARG	first_vers	u_int32_t
103ARG	num_files	u_int32_t
104END
105
106/*
107 * vote info
108 */
109BEGIN_MSG vote_info	check_length
110ARG	egen		u_int32_t
111ARG	nsites		u_int32_t
112ARG	nvotes		u_int32_t
113ARG	priority	u_int32_t
114ARG	tiebreaker	u_int32_t
115END
116
117