1/*- 2 * See the file LICENSE for redistribution information. 3 * 4 * Copyright (c) 2001, 2013 Oracle and/or its affiliates. All rights reserved. 5 * 6 * $Id$ 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/mp.h" 16INCLUDE #include "dbinc/txn.h" 17INCLUDE 18 19/* 20 * bulk - message for bulk log records or pages 21 */ 22BEGIN_MSG bulk check_length 23ARG len u_int32_t 24ARG lsn DB_LSN 25ARG bulkdata DBT 26END 27 28/* 29 * control - replication control message 30 */ 31BEGIN_MSG control check_length 32ARG rep_version u_int32_t 33ARG log_version u_int32_t 34ARG lsn DB_LSN 35ARG rectype u_int32_t 36ARG gen u_int32_t 37ARG msg_sec u_int32_t 38ARG msg_nsec u_int32_t 39ARG flags u_int32_t 40END 41 42/* 43 * egen data 44 */ 45BEGIN_MSG egen check_length 46ARG egen u_int32_t 47END 48 49/* 50 * file info 51 * 52 * NOTE: The order of the DBTs is important and relevant in the 53 * GET_CURINFO macro. 54 */ 55BEGIN_MSG fileinfo alloc check_length version 56ARG pgsize u_int32_t 57ARG pgno db_pgno_t 58ARG max_pgno db_pgno_t 59ARG filenum u_int32_t 60ARG finfo_flags u_int32_t 61ARG type u_int32_t 62ARG db_flags u_int32_t 63ARG uid DBT 64ARG info DBT 65ARG dir DBT 66END 67 68BEGIN_MSG fileinfo_v6 alloc check_length version 69ARG pgsize u_int32_t 70ARG pgno db_pgno_t 71ARG max_pgno db_pgno_t 72ARG filenum u_int32_t 73ARG finfo_flags u_int32_t 74ARG type u_int32_t 75ARG db_flags u_int32_t 76ARG uid DBT 77ARG info DBT 78END 79 80/* 81 * grant info - clients send to masters granting a lease. 82 */ 83BEGIN_MSG grant_info check_length 84ARG msg_sec u_int32_t 85ARG msg_nsec u_int32_t 86END 87 88/* 89 * We do not need to do anything with LOG record data. 90 * It is opaque data to us. 91 */ 92 93/* 94 * log request 95 */ 96BEGIN_MSG logreq check_length 97ARG endlsn DB_LSN 98END 99 100/* 101 * We do not need to do anything with NEWCLIENT/NEWSITE cdata dbt. 102 * It is user data and the app has to do whatever transformation 103 * it needs to with its own data. 104 */ 105/* 106 * newfile version 107 */ 108BEGIN_MSG newfile check_length 109ARG version u_int32_t 110END 111 112/* 113 * update - send update information 114 */ 115BEGIN_MSG update alloc check_length version 116ARG first_lsn DB_LSN 117ARG first_vers u_int32_t 118ARG num_files u_int32_t 119END 120 121/* 122 * vote info. Current version. 123 */ 124BEGIN_MSG vote_info check_length 125ARG egen u_int32_t 126ARG nsites u_int32_t 127ARG nvotes u_int32_t 128ARG priority u_int32_t 129ARG spare_pri u_int32_t 130ARG tiebreaker u_int32_t 131ARG data_gen u_int32_t 132END 133/* 134 * vote info old version from REPVERSION 5 and earlier. 135 */ 136BEGIN_MSG vote_info_v5 check_length 137ARG egen u_int32_t 138ARG nsites u_int32_t 139ARG nvotes u_int32_t 140ARG priority u_int32_t 141ARG tiebreaker u_int32_t 142END 143 144/* 145 * LSN history database - key 146 */ 147BEGIN_MSG lsn_hist_key 148ARG version u_int32_t 149ARG gen u_int32_t 150END 151 152/* 153 * LSN history database - data 154 */ 155BEGIN_MSG lsn_hist_data 156ARG envid u_int32_t 157ARG lsn DB_LSN 158ARG hist_sec u_int32_t 159ARG hist_nsec u_int32_t 160END 161