Coverage Report

Created: 2026-08-14 06:45

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wireshark/epan/dissectors/packet-dcerpc-frstrans.c
Line
Count
Source
1
/* DO NOT EDIT
2
  This file was automatically generated by Pidl
3
  from frstrans.idl and frstrans.cnf.
4
5
  Pidl is a perl based IDL compiler for DCE/RPC idl files.
6
  It is maintained by the Samba team, not the Wireshark team.
7
  Instructions on how to download and install Pidl can be
8
  found at https://wiki.wireshark.org/Pidl
9
*/
10
11
12
#include "config.h"
13
#include <string.h>
14
#include <wsutil/array.h>
15
#include <epan/packet.h>
16
#include <epan/tfs.h>
17
18
#include "packet-dcerpc.h"
19
#include "packet-dcerpc-nt.h"
20
#include "packet-windows-common.h"
21
#include "packet-dcerpc-frstrans.h"
22
void proto_register_dcerpc_frstrans(void);
23
void proto_reg_handoff_dcerpc_frstrans(void);
24
25
/* Ett declarations */
26
static int ett_dcerpc_frstrans;
27
static int ett_frstrans_frstrans_TransportFlags;
28
static int ett_frstrans_frstrans_VersionVector;
29
static int ett_frstrans_frstrans_Update;
30
static int ett_frstrans_frstrans_EpoqueVector;
31
static int ett_frstrans_frstrans_AsyncVersionVectorResponse;
32
static int ett_frstrans_frstrans_AsyncResponseContext;
33
static int ett_frstrans_frstrans_RdcParameterGeneric;
34
static int ett_frstrans_frstrans_RdcParameterFilterMax;
35
static int ett_frstrans_frstrans_RdcParameterFilterPoint;
36
static int ett_frstrans_frstrans_RdcParameterUnion;
37
static int ett_frstrans_frstrans_RdcParameters;
38
static int ett_frstrans_frstrans_RdcFileInfo;
39
40
41
/* Header field declarations */
42
static int hf_frstrans_frstrans_AsyncPoll_connection_guid;
43
static int hf_frstrans_frstrans_AsyncPoll_response;
44
static int hf_frstrans_frstrans_AsyncResponseContext_response;
45
static int hf_frstrans_frstrans_AsyncResponseContext_sequence_number;
46
static int hf_frstrans_frstrans_AsyncResponseContext_status;
47
static int hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector;
48
static int hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector_count;
49
static int hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector;
50
static int hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector_count;
51
static int hf_frstrans_frstrans_AsyncVersionVectorResponse_vv_generation;
52
static int hf_frstrans_frstrans_CheckConnectivity_connection_guid;
53
static int hf_frstrans_frstrans_CheckConnectivity_replica_set_guid;
54
static int hf_frstrans_frstrans_EpoqueVector_day;
55
static int hf_frstrans_frstrans_EpoqueVector_day_of_week;
56
static int hf_frstrans_frstrans_EpoqueVector_hour;
57
static int hf_frstrans_frstrans_EpoqueVector_machine_guid;
58
static int hf_frstrans_frstrans_EpoqueVector_milli_seconds;
59
static int hf_frstrans_frstrans_EpoqueVector_minute;
60
static int hf_frstrans_frstrans_EpoqueVector_month;
61
static int hf_frstrans_frstrans_EpoqueVector_second;
62
static int hf_frstrans_frstrans_EpoqueVector_year;
63
static int hf_frstrans_frstrans_EstablishConnection_connection_guid;
64
static int hf_frstrans_frstrans_EstablishConnection_downstream_flags;
65
static int hf_frstrans_frstrans_EstablishConnection_downstream_protocol_version;
66
static int hf_frstrans_frstrans_EstablishConnection_replica_set_guid;
67
static int hf_frstrans_frstrans_EstablishConnection_upstream_flags;
68
static int hf_frstrans_frstrans_EstablishConnection_upstream_protocol_version;
69
static int hf_frstrans_frstrans_EstablishSession_connection_guid;
70
static int hf_frstrans_frstrans_EstablishSession_content_set_guid;
71
static int hf_frstrans_frstrans_InitializeFileTransferAsync_buffer_size;
72
static int hf_frstrans_frstrans_InitializeFileTransferAsync_connection_guid;
73
static int hf_frstrans_frstrans_InitializeFileTransferAsync_data_buffer;
74
static int hf_frstrans_frstrans_InitializeFileTransferAsync_frs_update;
75
static int hf_frstrans_frstrans_InitializeFileTransferAsync_is_end_of_file;
76
static int hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_desired;
77
static int hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_file_info;
78
static int hf_frstrans_frstrans_InitializeFileTransferAsync_server_context;
79
static int hf_frstrans_frstrans_InitializeFileTransferAsync_size_read;
80
static int hf_frstrans_frstrans_InitializeFileTransferAsync_staging_policy;
81
static int hf_frstrans_frstrans_RdcFileInfo_compression_algorithm;
82
static int hf_frstrans_frstrans_RdcFileInfo_file_size_estimate;
83
static int hf_frstrans_frstrans_RdcFileInfo_on_disk_file_size;
84
static int hf_frstrans_frstrans_RdcFileInfo_rdc_filter_parameters;
85
static int hf_frstrans_frstrans_RdcFileInfo_rdc_minimum_compatible_version;
86
static int hf_frstrans_frstrans_RdcFileInfo_rdc_signature_levels;
87
static int hf_frstrans_frstrans_RdcFileInfo_rdc_version;
88
static int hf_frstrans_frstrans_RdcParameterFilterMax_max_window_size;
89
static int hf_frstrans_frstrans_RdcParameterFilterMax_min_horizon_size;
90
static int hf_frstrans_frstrans_RdcParameterFilterPoint_max_chunk_size;
91
static int hf_frstrans_frstrans_RdcParameterFilterPoint_min_chunk_size;
92
static int hf_frstrans_frstrans_RdcParameterGeneric_chunker_parameters;
93
static int hf_frstrans_frstrans_RdcParameterGeneric_chunker_type;
94
static int hf_frstrans_frstrans_RdcParameterUnion_filter_generic;
95
static int hf_frstrans_frstrans_RdcParameterUnion_filter_max;
96
static int hf_frstrans_frstrans_RdcParameterUnion_filter_point;
97
static int hf_frstrans_frstrans_RdcParameters_rdc_chunker_algorithm;
98
static int hf_frstrans_frstrans_RdcParameters_u;
99
static int hf_frstrans_frstrans_RequestUpdates_connection_guid;
100
static int hf_frstrans_frstrans_RequestUpdates_content_set_guid;
101
static int hf_frstrans_frstrans_RequestUpdates_credits_available;
102
static int hf_frstrans_frstrans_RequestUpdates_frs_update;
103
static int hf_frstrans_frstrans_RequestUpdates_gvsn_db_guid;
104
static int hf_frstrans_frstrans_RequestUpdates_gvsn_version;
105
static int hf_frstrans_frstrans_RequestUpdates_hash_requested;
106
static int hf_frstrans_frstrans_RequestUpdates_update_count;
107
static int hf_frstrans_frstrans_RequestUpdates_update_request_type;
108
static int hf_frstrans_frstrans_RequestUpdates_update_status;
109
static int hf_frstrans_frstrans_RequestUpdates_version_vector_diff;
110
static int hf_frstrans_frstrans_RequestUpdates_version_vector_diff_count;
111
static int hf_frstrans_frstrans_RequestVersionVector_change_type;
112
static int hf_frstrans_frstrans_RequestVersionVector_connection_guid;
113
static int hf_frstrans_frstrans_RequestVersionVector_content_set_guid;
114
static int hf_frstrans_frstrans_RequestVersionVector_request_type;
115
static int hf_frstrans_frstrans_RequestVersionVector_sequence_number;
116
static int hf_frstrans_frstrans_RequestVersionVector_vv_generation;
117
static int hf_frstrans_frstrans_TransportFlags_FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY;
118
static int hf_frstrans_frstrans_Update_attributes;
119
static int hf_frstrans_frstrans_Update_clock;
120
static int hf_frstrans_frstrans_Update_content_set_guid;
121
static int hf_frstrans_frstrans_Update_create_time;
122
static int hf_frstrans_frstrans_Update_fence;
123
static int hf_frstrans_frstrans_Update_flags;
124
static int hf_frstrans_frstrans_Update_gsvn_db_guid;
125
static int hf_frstrans_frstrans_Update_gsvn_version;
126
static int hf_frstrans_frstrans_Update_name;
127
static int hf_frstrans_frstrans_Update_name_conflict;
128
static int hf_frstrans_frstrans_Update_parent_db_guid;
129
static int hf_frstrans_frstrans_Update_parent_version;
130
static int hf_frstrans_frstrans_Update_present;
131
static int hf_frstrans_frstrans_Update_rdc_similarity;
132
static int hf_frstrans_frstrans_Update_sha1_hash;
133
static int hf_frstrans_frstrans_Update_uid_db_guid;
134
static int hf_frstrans_frstrans_Update_uid_version;
135
static int hf_frstrans_frstrans_VersionVector_db_guid;
136
static int hf_frstrans_frstrans_VersionVector_high;
137
static int hf_frstrans_frstrans_VersionVector_low;
138
static int hf_frstrans_opnum;
139
static int hf_frstrans_werror;
140
141
static int proto_dcerpc_frstrans;
142
/* Version information */
143
144
145
static e_guid_t uuid_dcerpc_frstrans = {
146
  0x897e2e5f, 0x93f3, 0x4376,
147
  { 0x9c, 0x9c, 0xfd, 0x22, 0x77, 0x49, 0x5c, 0x27 }
148
};
149
static uint16_t ver_dcerpc_frstrans = 1;
150
151
const value_string frstrans_frstrans_ProtocolVersion_vals[] = {
152
  { FRSTRANS_PROTOCOL_VERSION_W2K3R2, "FRSTRANS_PROTOCOL_VERSION_W2K3R2" },
153
  { FRSTRANS_PROTOCOL_VERSION_LONGHORN_SERVER, "FRSTRANS_PROTOCOL_VERSION_LONGHORN_SERVER" },
154
{ 0, NULL }
155
};
156
static const true_false_string frstrans_TransportFlags_FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY_tfs = {
157
   "FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY is SET",
158
   "FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY is NOT SET",
159
};
160
const value_string frstrans_frstrans_UpdateRequestType_vals[] = {
161
  { FRSTRANS_UPDATE_REQUEST_ALL, "FRSTRANS_UPDATE_REQUEST_ALL" },
162
  { FRSTRANS_UPDATE_REQUEST_TOMBSTONES, "FRSTRANS_UPDATE_REQUEST_TOMBSTONES" },
163
  { FRSTRANS_UPDATE_REQUEST_LIVE, "FRSTRANS_UPDATE_REQUEST_LIVE" },
164
{ 0, NULL }
165
};
166
const value_string frstrans_frstrans_UpdateStatus_vals[] = {
167
  { FRSTRANS_UPDATE_STATUS_DONE, "FRSTRANS_UPDATE_STATUS_DONE" },
168
  { FRSTRANS_UPDATE_STATUS_MORE, "FRSTRANS_UPDATE_STATUS_MORE" },
169
{ 0, NULL }
170
};
171
static unsigned frstrans_dissect_element_VersionVector_db_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
172
static unsigned frstrans_dissect_element_VersionVector_low(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
173
static unsigned frstrans_dissect_element_VersionVector_high(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
174
static unsigned frstrans_dissect_element_Update_present(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
175
static unsigned frstrans_dissect_element_Update_name_conflict(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
176
static unsigned frstrans_dissect_element_Update_attributes(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
177
static unsigned frstrans_dissect_element_Update_fence(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
178
static unsigned frstrans_dissect_element_Update_clock(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
179
static unsigned frstrans_dissect_element_Update_create_time(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
180
static unsigned frstrans_dissect_element_Update_content_set_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
181
static unsigned frstrans_dissect_element_Update_sha1_hash(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
182
static unsigned frstrans_dissect_element_Update_sha1_hash_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
183
static unsigned frstrans_dissect_element_Update_rdc_similarity(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
184
static unsigned frstrans_dissect_element_Update_rdc_similarity_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
185
static unsigned frstrans_dissect_element_Update_uid_db_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
186
static unsigned frstrans_dissect_element_Update_uid_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
187
static unsigned frstrans_dissect_element_Update_gsvn_db_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
188
static unsigned frstrans_dissect_element_Update_gsvn_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
189
static unsigned frstrans_dissect_element_Update_parent_db_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
190
static unsigned frstrans_dissect_element_Update_parent_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
191
static unsigned frstrans_dissect_element_Update_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
192
static unsigned frstrans_dissect_element_Update_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
193
const value_string frstrans_frstrans_VersionRequestType_vals[] = {
194
  { FRSTRANS_VERSION_REQUEST_NORMAL_SYNC, "FRSTRANS_VERSION_REQUEST_NORMAL_SYNC" },
195
  { FRSTRANS_VERSION_REQUEST_SLOW_SYNC, "FRSTRANS_VERSION_REQUEST_SLOW_SYNC" },
196
  { FRSTRANS_VERSION_REQUEST_SLAVE_SYNC, "FRSTRANS_VERSION_REQUEST_SLAVE_SYNC" },
197
{ 0, NULL }
198
};
199
const value_string frstrans_frstrans_VersionChangeType_vals[] = {
200
  { FRSTRANS_VERSION_CHANGE_NOTIFY, "FRSTRANS_VERSION_CHANGE_NOTIFY" },
201
  { FRSTRANS_VERSION_CHANGE_ALL, "FRSTRANS_VERSION_CHANGE_ALL" },
202
{ 0, NULL }
203
};
204
static unsigned frstrans_dissect_element_EpoqueVector_machine_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
205
static unsigned frstrans_dissect_element_EpoqueVector_year(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
206
static unsigned frstrans_dissect_element_EpoqueVector_month(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
207
static unsigned frstrans_dissect_element_EpoqueVector_day_of_week(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
208
static unsigned frstrans_dissect_element_EpoqueVector_day(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
209
static unsigned frstrans_dissect_element_EpoqueVector_hour(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
210
static unsigned frstrans_dissect_element_EpoqueVector_minute(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
211
static unsigned frstrans_dissect_element_EpoqueVector_second(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
212
static unsigned frstrans_dissect_element_EpoqueVector_milli_seconds(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
213
static unsigned frstrans_dissect_element_AsyncVersionVectorResponse_vv_generation(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
214
static unsigned frstrans_dissect_element_AsyncVersionVectorResponse_version_vector_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
215
static unsigned frstrans_dissect_element_AsyncVersionVectorResponse_version_vector(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
216
static unsigned frstrans_dissect_element_AsyncVersionVectorResponse_version_vector_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
217
static unsigned frstrans_dissect_element_AsyncVersionVectorResponse_version_vector__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
218
static unsigned frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
219
static unsigned frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
220
static unsigned frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
221
static unsigned frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
222
static unsigned frstrans_dissect_element_AsyncResponseContext_sequence_number(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
223
static unsigned frstrans_dissect_element_AsyncResponseContext_status(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
224
static unsigned frstrans_dissect_element_AsyncResponseContext_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
225
const value_string frstrans_frstrans_RequestedStagingPolicy_vals[] = {
226
  { FRSTRANS_STAGING_POLICY_SERVER_DEFAULTY, "FRSTRANS_STAGING_POLICY_SERVER_DEFAULTY" },
227
  { FRSTRANS_STAGING_POLICY_STATGING_REQUIRED, "FRSTRANS_STAGING_POLICY_STATGING_REQUIRED" },
228
  { FRSTRANS_STAGING_POLICY_RESTATGING_REQUIRED, "FRSTRANS_STAGING_POLICY_RESTATGING_REQUIRED" },
229
{ 0, NULL }
230
};
231
const value_string frstrans_frstrans_RdcChunckerAlgorithm_vals[] = {
232
  { FRSTRANS_RDC_FILTER_GENERIC, "FRSTRANS_RDC_FILTER_GENERIC" },
233
  { FRSTRANS_RDC_FILTER_MAX, "FRSTRANS_RDC_FILTER_MAX" },
234
  { FRSTRANS_RDC_FILTER_POINT, "FRSTRANS_RDC_FILTER_POINT" },
235
  { FRSTRANS_RDC_MAX_ALGORITHM, "FRSTRANS_RDC_MAX_ALGORITHM" },
236
{ 0, NULL }
237
};
238
static unsigned frstrans_dissect_element_RdcParameterGeneric_chunker_type(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
239
static unsigned frstrans_dissect_element_RdcParameterGeneric_chunker_parameters(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
240
static unsigned frstrans_dissect_element_RdcParameterGeneric_chunker_parameters_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
241
static unsigned frstrans_dissect_element_RdcParameterFilterMax_min_horizon_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
242
static unsigned frstrans_dissect_element_RdcParameterFilterMax_max_window_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
243
static unsigned frstrans_dissect_element_RdcParameterFilterPoint_min_chunk_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
244
static unsigned frstrans_dissect_element_RdcParameterFilterPoint_max_chunk_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
245
static unsigned frstrans_dissect_element_RdcParameterUnion_filter_generic(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
246
static unsigned frstrans_dissect_element_RdcParameterUnion_filter_max(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
247
static unsigned frstrans_dissect_element_RdcParameterUnion_filter_point(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
248
static unsigned frstrans_dissect_element_RdcParameters_rdc_chunker_algorithm(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *rdc_chunker_algorithm);
249
static unsigned frstrans_dissect_element_RdcParameters_u(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *rdc_chunker_algorithm);
250
const value_string frstrans_frstrans_RdcVersion_vals[] = {
251
  { FRSTRANS_RDC_VERSION, "FRSTRANS_RDC_VERSION" },
252
{ 0, NULL }
253
};
254
const value_string frstrans_frstrans_RdcVersionCompatible_vals[] = {
255
  { FRSTRANS_RDC_VERSION_COMPATIBLE, "FRSTRANS_RDC_VERSION_COMPATIBLE" },
256
{ 0, NULL }
257
};
258
const value_string frstrans_frstrans_RdcCompressionAlgorithm_vals[] = {
259
  { FRSTRANS_RDC_UNCOMPRESSED, "FRSTRANS_RDC_UNCOMPRESSED" },
260
  { FRSTRANS_RDC_XPRESS, "FRSTRANS_RDC_XPRESS" },
261
{ 0, NULL }
262
};
263
static unsigned frstrans_dissect_element_RdcFileInfo_on_disk_file_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
264
static unsigned frstrans_dissect_element_RdcFileInfo_file_size_estimate(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
265
static unsigned frstrans_dissect_element_RdcFileInfo_rdc_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
266
static unsigned frstrans_dissect_element_RdcFileInfo_rdc_minimum_compatible_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
267
static unsigned frstrans_dissect_element_RdcFileInfo_rdc_signature_levels(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
268
static unsigned frstrans_dissect_element_RdcFileInfo_compression_algorithm(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
269
static unsigned frstrans_dissect_element_RdcFileInfo_rdc_filter_parameters(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
270
static unsigned frstrans_dissect_element_RdcFileInfo_rdc_filter_parameters_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
271
static unsigned frstrans_dissect_element_CheckConnectivity_replica_set_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
272
static unsigned frstrans_dissect_element_CheckConnectivity_connection_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
273
static unsigned frstrans_dissect_element_EstablishConnection_replica_set_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
274
static unsigned frstrans_dissect_element_EstablishConnection_connection_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
275
static unsigned frstrans_dissect_element_EstablishConnection_downstream_protocol_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
276
static unsigned frstrans_dissect_element_EstablishConnection_downstream_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
277
static unsigned frstrans_dissect_element_EstablishConnection_upstream_protocol_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
278
static unsigned frstrans_dissect_element_EstablishConnection_upstream_protocol_version_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
279
static unsigned frstrans_dissect_element_EstablishConnection_upstream_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
280
static unsigned frstrans_dissect_element_EstablishConnection_upstream_flags_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
281
static unsigned frstrans_dissect_element_EstablishSession_connection_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
282
static unsigned frstrans_dissect_element_EstablishSession_content_set_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
283
static unsigned frstrans_dissect_element_RequestUpdates_connection_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
284
static unsigned frstrans_dissect_element_RequestUpdates_content_set_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
285
static unsigned frstrans_dissect_element_RequestUpdates_credits_available(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
286
static unsigned frstrans_dissect_element_RequestUpdates_hash_requested(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
287
static unsigned frstrans_dissect_element_RequestUpdates_update_request_type(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
288
static unsigned frstrans_dissect_element_RequestUpdates_version_vector_diff_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
289
static unsigned frstrans_dissect_element_RequestUpdates_version_vector_diff(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
290
static unsigned frstrans_dissect_element_RequestUpdates_version_vector_diff_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
291
static unsigned frstrans_dissect_element_RequestUpdates_version_vector_diff__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
292
static unsigned frstrans_dissect_element_RequestUpdates_frs_update(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
293
static unsigned frstrans_dissect_element_RequestUpdates_frs_update_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
294
static unsigned frstrans_dissect_element_RequestUpdates_frs_update__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
295
static unsigned frstrans_dissect_element_RequestUpdates_update_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
296
static unsigned frstrans_dissect_element_RequestUpdates_update_count_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
297
static unsigned frstrans_dissect_element_RequestUpdates_update_status(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
298
static unsigned frstrans_dissect_element_RequestUpdates_update_status_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
299
static unsigned frstrans_dissect_element_RequestUpdates_gvsn_db_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
300
static unsigned frstrans_dissect_element_RequestUpdates_gvsn_db_guid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
301
static unsigned frstrans_dissect_element_RequestUpdates_gvsn_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
302
static unsigned frstrans_dissect_element_RequestUpdates_gvsn_version_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
303
static unsigned frstrans_dissect_element_RequestVersionVector_sequence_number(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
304
static unsigned frstrans_dissect_element_RequestVersionVector_connection_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
305
static unsigned frstrans_dissect_element_RequestVersionVector_content_set_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
306
static unsigned frstrans_dissect_element_RequestVersionVector_request_type(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
307
static unsigned frstrans_dissect_element_RequestVersionVector_change_type(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
308
static unsigned frstrans_dissect_element_RequestVersionVector_vv_generation(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
309
static unsigned frstrans_dissect_element_AsyncPoll_connection_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
310
static unsigned frstrans_dissect_element_AsyncPoll_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
311
static unsigned frstrans_dissect_element_AsyncPoll_response_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
312
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_connection_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
313
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_frs_update(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
314
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_frs_update_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
315
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_rdc_desired(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
316
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_staging_policy(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
317
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_staging_policy_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
318
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_server_context(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
319
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_server_context_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
320
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
321
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
322
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
323
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_data_buffer(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
324
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_data_buffer_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
325
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_data_buffer__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
326
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_buffer_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
327
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_size_read(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
328
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_size_read_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
329
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_is_end_of_file(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
330
static unsigned frstrans_dissect_element_InitializeFileTransferAsync_is_end_of_file_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
331
332
333
/* IDL: enum { */
334
/* IDL:   FRSTRANS_PROTOCOL_VERSION_W2K3R2=0x00050000, */
335
/* IDL:   FRSTRANS_PROTOCOL_VERSION_LONGHORN_SERVER=0x00050002, */
336
/* IDL: } */
337
338
unsigned
339
frstrans_dissect_enum_ProtocolVersion(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
340
0
{
341
0
  uint32_t parameter=0;
342
0
  if (param) {
343
0
    parameter = *param;
344
0
  }
345
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
346
0
  if (param) {
347
0
    *param = parameter;
348
0
  }
349
0
  return offset;
350
0
}
351
352
353
/* IDL: bitmap { */
354
/* IDL:   FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY =  0x00000001 , */
355
/* IDL: } */
356
357
unsigned
358
frstrans_dissect_bitmap_TransportFlags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
359
0
{
360
0
  proto_item *item;
361
0
  static int * const frstrans_frstrans_TransportFlags_fields[] = {
362
0
    &hf_frstrans_frstrans_TransportFlags_FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY,
363
0
    NULL
364
0
  };
365
0
  uint32_t flags;
366
0
  ALIGN_TO_4_BYTES;
367
368
0
  item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
369
0
        ett_frstrans_frstrans_TransportFlags, frstrans_frstrans_TransportFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
370
371
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
372
373
0
  if (!flags)
374
0
    proto_item_append_text(item, ": (No values set)");
375
376
0
  if (flags & (~0x00000001)) {
377
0
    flags &= (~0x00000001);
378
0
    proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
379
0
  }
380
381
0
  return offset;
382
0
}
383
384
385
/* IDL: enum { */
386
/* IDL:   FRSTRANS_UPDATE_REQUEST_ALL=0x0000, */
387
/* IDL:   FRSTRANS_UPDATE_REQUEST_TOMBSTONES=0x0001, */
388
/* IDL:   FRSTRANS_UPDATE_REQUEST_LIVE=0x0002, */
389
/* IDL: } */
390
391
unsigned
392
frstrans_dissect_enum_UpdateRequestType(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
393
0
{
394
0
  uint32_t parameter=0;
395
0
  if (param) {
396
0
    parameter = *param;
397
0
  }
398
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
399
0
  if (param) {
400
0
    *param = parameter;
401
0
  }
402
0
  return offset;
403
0
}
404
405
406
/* IDL: enum { */
407
/* IDL:   FRSTRANS_UPDATE_STATUS_DONE=0x0002, */
408
/* IDL:   FRSTRANS_UPDATE_STATUS_MORE=0x0003, */
409
/* IDL: } */
410
411
unsigned
412
frstrans_dissect_enum_UpdateStatus(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
413
0
{
414
0
  uint32_t parameter=0;
415
0
  if (param) {
416
0
    parameter = *param;
417
0
  }
418
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
419
0
  if (param) {
420
0
    *param = parameter;
421
0
  }
422
0
  return offset;
423
0
}
424
425
426
/* IDL: struct { */
427
/* IDL:   GUID db_guid; */
428
/* IDL:   hyper low; */
429
/* IDL:   hyper high; */
430
/* IDL: } */
431
432
static unsigned
433
frstrans_dissect_element_VersionVector_db_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
434
0
{
435
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_VersionVector_db_guid, NULL);
436
437
0
  return offset;
438
0
}
439
440
static unsigned
441
frstrans_dissect_element_VersionVector_low(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
442
0
{
443
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_VersionVector_low, NULL);
444
445
0
  return offset;
446
0
}
447
448
static unsigned
449
frstrans_dissect_element_VersionVector_high(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
450
0
{
451
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_VersionVector_high, NULL);
452
453
0
  return offset;
454
0
}
455
456
unsigned
457
frstrans_dissect_struct_VersionVector(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
458
0
{
459
0
  proto_item *item = NULL;
460
0
  proto_tree *tree = NULL;
461
0
  unsigned old_offset;
462
463
0
  ALIGN_TO_8_BYTES;
464
465
0
  old_offset = offset;
466
467
0
  if (parent_tree) {
468
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
469
0
    tree = proto_item_add_subtree(item, ett_frstrans_frstrans_VersionVector);
470
0
  }
471
472
0
  offset = frstrans_dissect_element_VersionVector_db_guid(tvb, offset, pinfo, tree, di, drep);
473
474
0
  offset = frstrans_dissect_element_VersionVector_low(tvb, offset, pinfo, tree, di, drep);
475
476
0
  offset = frstrans_dissect_element_VersionVector_high(tvb, offset, pinfo, tree, di, drep);
477
478
479
0
  proto_item_set_len(item, offset-old_offset);
480
481
482
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
483
0
    ALIGN_TO_8_BYTES;
484
0
  }
485
486
0
  return offset;
487
0
}
488
489
490
/* IDL: struct { */
491
/* IDL:   uint32 present; */
492
/* IDL:   uint32 name_conflict; */
493
/* IDL:   uint32 attributes; */
494
/* IDL:   NTTIME fence; */
495
/* IDL:   NTTIME clock; */
496
/* IDL:   NTTIME create_time; */
497
/* IDL:   GUID content_set_guid; */
498
/* IDL:   uint8 sha1_hash[20]; */
499
/* IDL:   uint8 rdc_similarity[16]; */
500
/* IDL:   GUID uid_db_guid; */
501
/* IDL:   hyper uid_version; */
502
/* IDL:   GUID gsvn_db_guid; */
503
/* IDL:   hyper gsvn_version; */
504
/* IDL:   GUID parent_db_guid; */
505
/* IDL:   hyper parent_version; */
506
/* IDL:   [charset(UTF16)] uint16 name[261]; */
507
/* IDL:   uint32 flags; */
508
/* IDL: } */
509
510
static unsigned
511
frstrans_dissect_element_Update_present(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
512
0
{
513
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_present, 0);
514
515
0
  return offset;
516
0
}
517
518
static unsigned
519
frstrans_dissect_element_Update_name_conflict(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
520
0
{
521
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_name_conflict, 0);
522
523
0
  return offset;
524
0
}
525
526
static unsigned
527
frstrans_dissect_element_Update_attributes(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
528
0
{
529
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_attributes, 0);
530
531
0
  return offset;
532
0
}
533
534
static unsigned
535
frstrans_dissect_element_Update_fence(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
536
0
{
537
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_fence);
538
539
0
  return offset;
540
0
}
541
542
static unsigned
543
frstrans_dissect_element_Update_clock(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
544
0
{
545
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_clock);
546
547
0
  return offset;
548
0
}
549
550
static unsigned
551
frstrans_dissect_element_Update_create_time(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
552
0
{
553
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_create_time);
554
555
0
  return offset;
556
0
}
557
558
static unsigned
559
frstrans_dissect_element_Update_content_set_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
560
0
{
561
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_content_set_guid, NULL);
562
563
0
  return offset;
564
0
}
565
566
static unsigned
567
frstrans_dissect_element_Update_sha1_hash(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
568
0
{
569
0
  int i;
570
0
  for (i = 0; i < 20; i++)
571
0
    offset = frstrans_dissect_element_Update_sha1_hash_(tvb, offset, pinfo, tree, di, drep);
572
573
0
  return offset;
574
0
}
575
576
static unsigned
577
frstrans_dissect_element_Update_sha1_hash_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
578
0
{
579
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_sha1_hash, 0);
580
581
0
  return offset;
582
0
}
583
584
static unsigned
585
frstrans_dissect_element_Update_rdc_similarity(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
586
0
{
587
0
  int i;
588
0
  for (i = 0; i < 16; i++)
589
0
    offset = frstrans_dissect_element_Update_rdc_similarity_(tvb, offset, pinfo, tree, di, drep);
590
591
0
  return offset;
592
0
}
593
594
static unsigned
595
frstrans_dissect_element_Update_rdc_similarity_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
596
0
{
597
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_rdc_similarity, 0);
598
599
0
  return offset;
600
0
}
601
602
static unsigned
603
frstrans_dissect_element_Update_uid_db_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
604
0
{
605
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_uid_db_guid, NULL);
606
607
0
  return offset;
608
0
}
609
610
static unsigned
611
frstrans_dissect_element_Update_uid_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
612
0
{
613
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_uid_version, NULL);
614
615
0
  return offset;
616
0
}
617
618
static unsigned
619
frstrans_dissect_element_Update_gsvn_db_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
620
0
{
621
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_gsvn_db_guid, NULL);
622
623
0
  return offset;
624
0
}
625
626
static unsigned
627
frstrans_dissect_element_Update_gsvn_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
628
0
{
629
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_gsvn_version, NULL);
630
631
0
  return offset;
632
0
}
633
634
static unsigned
635
frstrans_dissect_element_Update_parent_db_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
636
0
{
637
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_parent_db_guid, NULL);
638
639
0
  return offset;
640
0
}
641
642
static unsigned
643
frstrans_dissect_element_Update_parent_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
644
0
{
645
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_parent_version, NULL);
646
647
0
  return offset;
648
0
}
649
650
static unsigned
651
frstrans_dissect_element_Update_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
652
0
{
653
0
  char *data;
654
655
0
  offset = dissect_ndr_vstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_frstrans_frstrans_Update_name, false, &data);
656
0
  proto_item_append_text(tree, ": %s", data);
657
658
0
  return offset;
659
0
}
660
661
static unsigned
662
frstrans_dissect_element_Update_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
663
0
{
664
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_flags, 0);
665
666
0
  return offset;
667
0
}
668
669
unsigned
670
frstrans_dissect_struct_Update(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
671
0
{
672
0
  proto_item *item = NULL;
673
0
  proto_tree *tree = NULL;
674
0
  unsigned old_offset;
675
676
0
  ALIGN_TO_8_BYTES;
677
678
0
  old_offset = offset;
679
680
0
  if (parent_tree) {
681
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
682
0
    tree = proto_item_add_subtree(item, ett_frstrans_frstrans_Update);
683
0
  }
684
685
0
  offset = frstrans_dissect_element_Update_present(tvb, offset, pinfo, tree, di, drep);
686
687
0
  offset = frstrans_dissect_element_Update_name_conflict(tvb, offset, pinfo, tree, di, drep);
688
689
0
  offset = frstrans_dissect_element_Update_attributes(tvb, offset, pinfo, tree, di, drep);
690
691
0
  offset = frstrans_dissect_element_Update_fence(tvb, offset, pinfo, tree, di, drep);
692
693
0
  offset = frstrans_dissect_element_Update_clock(tvb, offset, pinfo, tree, di, drep);
694
695
0
  offset = frstrans_dissect_element_Update_create_time(tvb, offset, pinfo, tree, di, drep);
696
697
0
  offset = frstrans_dissect_element_Update_content_set_guid(tvb, offset, pinfo, tree, di, drep);
698
699
0
  offset = frstrans_dissect_element_Update_sha1_hash(tvb, offset, pinfo, tree, di, drep);
700
701
0
  offset = frstrans_dissect_element_Update_rdc_similarity(tvb, offset, pinfo, tree, di, drep);
702
703
0
  offset = frstrans_dissect_element_Update_uid_db_guid(tvb, offset, pinfo, tree, di, drep);
704
705
0
  offset = frstrans_dissect_element_Update_uid_version(tvb, offset, pinfo, tree, di, drep);
706
707
0
  offset = frstrans_dissect_element_Update_gsvn_db_guid(tvb, offset, pinfo, tree, di, drep);
708
709
0
  offset = frstrans_dissect_element_Update_gsvn_version(tvb, offset, pinfo, tree, di, drep);
710
711
0
  offset = frstrans_dissect_element_Update_parent_db_guid(tvb, offset, pinfo, tree, di, drep);
712
713
0
  offset = frstrans_dissect_element_Update_parent_version(tvb, offset, pinfo, tree, di, drep);
714
715
0
  offset = frstrans_dissect_element_Update_name(tvb, offset, pinfo, tree, di, drep);
716
717
0
  offset = frstrans_dissect_element_Update_flags(tvb, offset, pinfo, tree, di, drep);
718
719
720
0
  proto_item_set_len(item, offset-old_offset);
721
722
723
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
724
0
    ALIGN_TO_8_BYTES;
725
0
  }
726
727
0
  return offset;
728
0
}
729
730
731
/* IDL: enum { */
732
/* IDL:   FRSTRANS_VERSION_REQUEST_NORMAL_SYNC=0x0000, */
733
/* IDL:   FRSTRANS_VERSION_REQUEST_SLOW_SYNC=0x0001, */
734
/* IDL:   FRSTRANS_VERSION_REQUEST_SLAVE_SYNC=0x0002, */
735
/* IDL: } */
736
737
unsigned
738
frstrans_dissect_enum_VersionRequestType(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
739
0
{
740
0
  uint32_t parameter=0;
741
0
  if (param) {
742
0
    parameter = *param;
743
0
  }
744
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
745
0
  if (param) {
746
0
    *param = parameter;
747
0
  }
748
0
  return offset;
749
0
}
750
751
752
/* IDL: enum { */
753
/* IDL:   FRSTRANS_VERSION_CHANGE_NOTIFY=0x0000, */
754
/* IDL:   FRSTRANS_VERSION_CHANGE_ALL=0x0002, */
755
/* IDL: } */
756
757
unsigned
758
frstrans_dissect_enum_VersionChangeType(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
759
0
{
760
0
  uint32_t parameter=0;
761
0
  if (param) {
762
0
    parameter = *param;
763
0
  }
764
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
765
0
  if (param) {
766
0
    *param = parameter;
767
0
  }
768
0
  return offset;
769
0
}
770
771
772
/* IDL: struct { */
773
/* IDL:   GUID machine_guid; */
774
/* IDL:   uint32 year; */
775
/* IDL:   uint32 month; */
776
/* IDL:   uint32 day_of_week; */
777
/* IDL:   uint32 day; */
778
/* IDL:   uint32 hour; */
779
/* IDL:   uint32 minute; */
780
/* IDL:   uint32 second; */
781
/* IDL:   uint32 milli_seconds; */
782
/* IDL: } */
783
784
static unsigned
785
frstrans_dissect_element_EpoqueVector_machine_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
786
0
{
787
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_machine_guid, NULL);
788
789
0
  return offset;
790
0
}
791
792
static unsigned
793
frstrans_dissect_element_EpoqueVector_year(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
794
0
{
795
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_year, 0);
796
797
0
  return offset;
798
0
}
799
800
static unsigned
801
frstrans_dissect_element_EpoqueVector_month(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
802
0
{
803
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_month, 0);
804
805
0
  return offset;
806
0
}
807
808
static unsigned
809
frstrans_dissect_element_EpoqueVector_day_of_week(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
810
0
{
811
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_day_of_week, 0);
812
813
0
  return offset;
814
0
}
815
816
static unsigned
817
frstrans_dissect_element_EpoqueVector_day(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
818
0
{
819
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_day, 0);
820
821
0
  return offset;
822
0
}
823
824
static unsigned
825
frstrans_dissect_element_EpoqueVector_hour(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
826
0
{
827
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_hour, 0);
828
829
0
  return offset;
830
0
}
831
832
static unsigned
833
frstrans_dissect_element_EpoqueVector_minute(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
834
0
{
835
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_minute, 0);
836
837
0
  return offset;
838
0
}
839
840
static unsigned
841
frstrans_dissect_element_EpoqueVector_second(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
842
0
{
843
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_second, 0);
844
845
0
  return offset;
846
0
}
847
848
static unsigned
849
frstrans_dissect_element_EpoqueVector_milli_seconds(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
850
0
{
851
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_milli_seconds, 0);
852
853
0
  return offset;
854
0
}
855
856
unsigned
857
frstrans_dissect_struct_EpoqueVector(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
858
0
{
859
0
  proto_item *item = NULL;
860
0
  proto_tree *tree = NULL;
861
0
  unsigned old_offset;
862
863
0
  ALIGN_TO_4_BYTES;
864
865
0
  old_offset = offset;
866
867
0
  if (parent_tree) {
868
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
869
0
    tree = proto_item_add_subtree(item, ett_frstrans_frstrans_EpoqueVector);
870
0
  }
871
872
0
  offset = frstrans_dissect_element_EpoqueVector_machine_guid(tvb, offset, pinfo, tree, di, drep);
873
874
0
  offset = frstrans_dissect_element_EpoqueVector_year(tvb, offset, pinfo, tree, di, drep);
875
876
0
  offset = frstrans_dissect_element_EpoqueVector_month(tvb, offset, pinfo, tree, di, drep);
877
878
0
  offset = frstrans_dissect_element_EpoqueVector_day_of_week(tvb, offset, pinfo, tree, di, drep);
879
880
0
  offset = frstrans_dissect_element_EpoqueVector_day(tvb, offset, pinfo, tree, di, drep);
881
882
0
  offset = frstrans_dissect_element_EpoqueVector_hour(tvb, offset, pinfo, tree, di, drep);
883
884
0
  offset = frstrans_dissect_element_EpoqueVector_minute(tvb, offset, pinfo, tree, di, drep);
885
886
0
  offset = frstrans_dissect_element_EpoqueVector_second(tvb, offset, pinfo, tree, di, drep);
887
888
0
  offset = frstrans_dissect_element_EpoqueVector_milli_seconds(tvb, offset, pinfo, tree, di, drep);
889
890
891
0
  proto_item_set_len(item, offset-old_offset);
892
893
894
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
895
0
    ALIGN_TO_4_BYTES;
896
0
  }
897
898
0
  return offset;
899
0
}
900
901
902
/* IDL: struct { */
903
/* IDL:   hyper vv_generation; */
904
/* IDL:   uint32 version_vector_count; */
905
/* IDL:   [size_is(version_vector_count)] [unique(1)] frstrans_VersionVector *version_vector; */
906
/* IDL:   uint32 epoque_vector_count; */
907
/* IDL:   [size_is(epoque_vector_count)] [unique(1)] frstrans_EpoqueVector *epoque_vector; */
908
/* IDL: } */
909
910
static unsigned
911
frstrans_dissect_element_AsyncVersionVectorResponse_vv_generation(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
912
0
{
913
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncVersionVectorResponse_vv_generation, NULL);
914
915
0
  return offset;
916
0
}
917
918
static unsigned
919
frstrans_dissect_element_AsyncVersionVectorResponse_version_vector_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
920
0
{
921
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector_count, 0);
922
923
0
  return offset;
924
0
}
925
926
static unsigned
927
frstrans_dissect_element_AsyncVersionVectorResponse_version_vector(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
928
0
{
929
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_AsyncVersionVectorResponse_version_vector_, NDR_POINTER_UNIQUE, "Pointer to Version Vector (frstrans_VersionVector)",hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector);
930
931
0
  return offset;
932
0
}
933
934
static unsigned
935
frstrans_dissect_element_AsyncVersionVectorResponse_version_vector_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
936
0
{
937
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_AsyncVersionVectorResponse_version_vector__);
938
939
0
  return offset;
940
0
}
941
942
static unsigned
943
frstrans_dissect_element_AsyncVersionVectorResponse_version_vector__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
944
0
{
945
0
  offset = frstrans_dissect_struct_VersionVector(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector,0);
946
947
0
  return offset;
948
0
}
949
950
static unsigned
951
frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
952
0
{
953
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector_count, 0);
954
955
0
  return offset;
956
0
}
957
958
static unsigned
959
frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
960
0
{
961
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector_, NDR_POINTER_UNIQUE, "Pointer to Epoque Vector (frstrans_EpoqueVector)",hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector);
962
963
0
  return offset;
964
0
}
965
966
static unsigned
967
frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
968
0
{
969
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector__);
970
971
0
  return offset;
972
0
}
973
974
static unsigned
975
frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
976
0
{
977
0
  offset = frstrans_dissect_struct_EpoqueVector(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector,0);
978
979
0
  return offset;
980
0
}
981
982
unsigned
983
frstrans_dissect_struct_AsyncVersionVectorResponse(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
984
0
{
985
0
  proto_item *item = NULL;
986
0
  proto_tree *tree = NULL;
987
0
  unsigned old_offset;
988
989
0
  ALIGN_TO_8_BYTES;
990
991
0
  old_offset = offset;
992
993
0
  if (parent_tree) {
994
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
995
0
    tree = proto_item_add_subtree(item, ett_frstrans_frstrans_AsyncVersionVectorResponse);
996
0
  }
997
998
0
  offset = frstrans_dissect_element_AsyncVersionVectorResponse_vv_generation(tvb, offset, pinfo, tree, di, drep);
999
1000
0
  offset = frstrans_dissect_element_AsyncVersionVectorResponse_version_vector_count(tvb, offset, pinfo, tree, di, drep);
1001
1002
0
  offset = frstrans_dissect_element_AsyncVersionVectorResponse_version_vector(tvb, offset, pinfo, tree, di, drep);
1003
1004
0
  offset = frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector_count(tvb, offset, pinfo, tree, di, drep);
1005
1006
0
  offset = frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector(tvb, offset, pinfo, tree, di, drep);
1007
1008
1009
0
  proto_item_set_len(item, offset-old_offset);
1010
1011
1012
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
1013
0
    ALIGN_TO_8_BYTES;
1014
0
  }
1015
1016
0
  return offset;
1017
0
}
1018
1019
1020
/* IDL: struct { */
1021
/* IDL:   uint32 sequence_number; */
1022
/* IDL:   WERROR status; */
1023
/* IDL:   frstrans_AsyncVersionVectorResponse response; */
1024
/* IDL: } */
1025
1026
static unsigned
1027
frstrans_dissect_element_AsyncResponseContext_sequence_number(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1028
0
{
1029
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncResponseContext_sequence_number, 0);
1030
1031
0
  return offset;
1032
0
}
1033
1034
static unsigned
1035
frstrans_dissect_element_AsyncResponseContext_status(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1036
0
{
1037
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncResponseContext_status, 0);
1038
1039
0
  return offset;
1040
0
}
1041
1042
static unsigned
1043
frstrans_dissect_element_AsyncResponseContext_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1044
0
{
1045
0
  offset = frstrans_dissect_struct_AsyncVersionVectorResponse(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_AsyncResponseContext_response,0);
1046
1047
0
  return offset;
1048
0
}
1049
1050
unsigned
1051
frstrans_dissect_struct_AsyncResponseContext(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1052
0
{
1053
0
  proto_item *item = NULL;
1054
0
  proto_tree *tree = NULL;
1055
0
  unsigned old_offset;
1056
1057
0
  ALIGN_TO_8_BYTES;
1058
1059
0
  old_offset = offset;
1060
1061
0
  if (parent_tree) {
1062
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1063
0
    tree = proto_item_add_subtree(item, ett_frstrans_frstrans_AsyncResponseContext);
1064
0
  }
1065
1066
0
  offset = frstrans_dissect_element_AsyncResponseContext_sequence_number(tvb, offset, pinfo, tree, di, drep);
1067
1068
0
  offset = frstrans_dissect_element_AsyncResponseContext_status(tvb, offset, pinfo, tree, di, drep);
1069
1070
0
  offset = frstrans_dissect_element_AsyncResponseContext_response(tvb, offset, pinfo, tree, di, drep);
1071
1072
1073
0
  proto_item_set_len(item, offset-old_offset);
1074
1075
1076
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
1077
0
    ALIGN_TO_8_BYTES;
1078
0
  }
1079
1080
0
  return offset;
1081
0
}
1082
1083
1084
/* IDL: enum { */
1085
/* IDL:   FRSTRANS_STAGING_POLICY_SERVER_DEFAULTY=0x0000, */
1086
/* IDL:   FRSTRANS_STAGING_POLICY_STATGING_REQUIRED=0x0001, */
1087
/* IDL:   FRSTRANS_STAGING_POLICY_RESTATGING_REQUIRED=0x0002, */
1088
/* IDL: } */
1089
1090
unsigned
1091
frstrans_dissect_enum_RequestedStagingPolicy(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
1092
0
{
1093
0
  uint32_t parameter=0;
1094
0
  if (param) {
1095
0
    parameter = *param;
1096
0
  }
1097
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1098
0
  if (param) {
1099
0
    *param = parameter;
1100
0
  }
1101
0
  return offset;
1102
0
}
1103
1104
1105
/* IDL: enum { */
1106
/* IDL:   FRSTRANS_RDC_FILTER_GENERIC=0x0000, */
1107
/* IDL:   FRSTRANS_RDC_FILTER_MAX=0x0001, */
1108
/* IDL:   FRSTRANS_RDC_FILTER_POINT=0x0002, */
1109
/* IDL:   FRSTRANS_RDC_MAX_ALGORITHM=0x0003, */
1110
/* IDL: } */
1111
1112
unsigned
1113
frstrans_dissect_enum_RdcChunckerAlgorithm(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
1114
0
{
1115
0
  uint32_t parameter=0;
1116
0
  if (param) {
1117
0
    parameter = *param;
1118
0
  }
1119
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1120
0
  if (param) {
1121
0
    *param = parameter;
1122
0
  }
1123
0
  return offset;
1124
0
}
1125
1126
1127
/* IDL: struct { */
1128
/* IDL:   frstrans_RdcChunckerAlgorithm chunker_type; */
1129
/* IDL:   uint8 chunker_parameters[64]; */
1130
/* IDL: } */
1131
1132
static unsigned
1133
frstrans_dissect_element_RdcParameterGeneric_chunker_type(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1134
0
{
1135
0
  offset = frstrans_dissect_enum_RdcChunckerAlgorithm(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterGeneric_chunker_type, 0);
1136
1137
0
  return offset;
1138
0
}
1139
1140
static unsigned
1141
frstrans_dissect_element_RdcParameterGeneric_chunker_parameters(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1142
0
{
1143
0
  int i;
1144
0
  for (i = 0; i < 64; i++)
1145
0
    offset = frstrans_dissect_element_RdcParameterGeneric_chunker_parameters_(tvb, offset, pinfo, tree, di, drep);
1146
1147
0
  return offset;
1148
0
}
1149
1150
static unsigned
1151
frstrans_dissect_element_RdcParameterGeneric_chunker_parameters_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1152
0
{
1153
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterGeneric_chunker_parameters, 0);
1154
1155
0
  return offset;
1156
0
}
1157
1158
unsigned
1159
frstrans_dissect_struct_RdcParameterGeneric(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1160
0
{
1161
0
  proto_item *item = NULL;
1162
0
  proto_tree *tree = NULL;
1163
0
  unsigned old_offset;
1164
1165
0
  ALIGN_TO_3_BYTES;
1166
1167
0
  old_offset = offset;
1168
1169
0
  if (parent_tree) {
1170
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1171
0
    tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcParameterGeneric);
1172
0
  }
1173
1174
0
  offset = frstrans_dissect_element_RdcParameterGeneric_chunker_type(tvb, offset, pinfo, tree, di, drep);
1175
1176
0
  offset = frstrans_dissect_element_RdcParameterGeneric_chunker_parameters(tvb, offset, pinfo, tree, di, drep);
1177
1178
1179
0
  proto_item_set_len(item, offset-old_offset);
1180
1181
1182
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
1183
0
    ALIGN_TO_3_BYTES;
1184
0
  }
1185
1186
0
  return offset;
1187
0
}
1188
1189
1190
/* IDL: struct { */
1191
/* IDL:   [range(128,1024*16)] uint16 min_horizon_size; */
1192
/* IDL:   [range(2,96)] uint16 max_window_size; */
1193
/* IDL: } */
1194
1195
static unsigned
1196
frstrans_dissect_element_RdcParameterFilterMax_min_horizon_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1197
0
{
1198
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterFilterMax_min_horizon_size, 0);
1199
1200
0
  return offset;
1201
0
}
1202
1203
static unsigned
1204
frstrans_dissect_element_RdcParameterFilterMax_max_window_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1205
0
{
1206
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterFilterMax_max_window_size, 0);
1207
1208
0
  return offset;
1209
0
}
1210
1211
unsigned
1212
frstrans_dissect_struct_RdcParameterFilterMax(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1213
0
{
1214
0
  proto_item *item = NULL;
1215
0
  proto_tree *tree = NULL;
1216
0
  unsigned old_offset;
1217
1218
0
  ALIGN_TO_2_BYTES;
1219
1220
0
  old_offset = offset;
1221
1222
0
  if (parent_tree) {
1223
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1224
0
    tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcParameterFilterMax);
1225
0
  }
1226
1227
0
  offset = frstrans_dissect_element_RdcParameterFilterMax_min_horizon_size(tvb, offset, pinfo, tree, di, drep);
1228
1229
0
  offset = frstrans_dissect_element_RdcParameterFilterMax_max_window_size(tvb, offset, pinfo, tree, di, drep);
1230
1231
1232
0
  proto_item_set_len(item, offset-old_offset);
1233
1234
1235
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
1236
0
    ALIGN_TO_2_BYTES;
1237
0
  }
1238
1239
0
  return offset;
1240
0
}
1241
1242
1243
/* IDL: struct { */
1244
/* IDL:   uint16 min_chunk_size; */
1245
/* IDL:   uint16 max_chunk_size; */
1246
/* IDL: } */
1247
1248
static unsigned
1249
frstrans_dissect_element_RdcParameterFilterPoint_min_chunk_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1250
0
{
1251
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterFilterPoint_min_chunk_size, 0);
1252
1253
0
  return offset;
1254
0
}
1255
1256
static unsigned
1257
frstrans_dissect_element_RdcParameterFilterPoint_max_chunk_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1258
0
{
1259
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterFilterPoint_max_chunk_size, 0);
1260
1261
0
  return offset;
1262
0
}
1263
1264
unsigned
1265
frstrans_dissect_struct_RdcParameterFilterPoint(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1266
0
{
1267
0
  proto_item *item = NULL;
1268
0
  proto_tree *tree = NULL;
1269
0
  unsigned old_offset;
1270
1271
0
  ALIGN_TO_2_BYTES;
1272
1273
0
  old_offset = offset;
1274
1275
0
  if (parent_tree) {
1276
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1277
0
    tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcParameterFilterPoint);
1278
0
  }
1279
1280
0
  offset = frstrans_dissect_element_RdcParameterFilterPoint_min_chunk_size(tvb, offset, pinfo, tree, di, drep);
1281
1282
0
  offset = frstrans_dissect_element_RdcParameterFilterPoint_max_chunk_size(tvb, offset, pinfo, tree, di, drep);
1283
1284
1285
0
  proto_item_set_len(item, offset-old_offset);
1286
1287
1288
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
1289
0
    ALIGN_TO_2_BYTES;
1290
0
  }
1291
1292
0
  return offset;
1293
0
}
1294
1295
1296
/* IDL: [switch_type(frstrans_RdcChunckerAlgorithm)] union { */
1297
/* IDL: [case(FRSTRANS_RDC_FILTER_GENERIC)] [case(FRSTRANS_RDC_FILTER_GENERIC)] frstrans_RdcParameterGeneric filter_generic; */
1298
/* IDL: [case(FRSTRANS_RDC_FILTER_MAX)] [case(FRSTRANS_RDC_FILTER_MAX)] frstrans_RdcParameterFilterMax filter_max; */
1299
/* IDL: [case(FRSTRANS_RDC_FILTER_POINT)] [case(FRSTRANS_RDC_FILTER_POINT)] frstrans_RdcParameterFilterPoint filter_point; */
1300
/* IDL: } */
1301
1302
static unsigned
1303
frstrans_dissect_element_RdcParameterUnion_filter_generic(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1304
0
{
1305
0
  offset = frstrans_dissect_struct_RdcParameterGeneric(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RdcParameterUnion_filter_generic,0);
1306
1307
0
  return offset;
1308
0
}
1309
1310
static unsigned
1311
frstrans_dissect_element_RdcParameterUnion_filter_max(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1312
0
{
1313
0
  offset = frstrans_dissect_struct_RdcParameterFilterMax(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RdcParameterUnion_filter_max,0);
1314
1315
0
  return offset;
1316
0
}
1317
1318
static unsigned
1319
frstrans_dissect_element_RdcParameterUnion_filter_point(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1320
0
{
1321
0
  offset = frstrans_dissect_struct_RdcParameterFilterPoint(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RdcParameterUnion_filter_point,0);
1322
1323
0
  return offset;
1324
0
}
1325
1326
static unsigned
1327
frstrans_dissect_RdcParameterUnion(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1328
0
{
1329
0
  proto_item *item = NULL;
1330
0
  proto_tree *tree = NULL;
1331
0
  unsigned old_offset;
1332
0
  uint32_t level;
1333
1334
0
  old_offset = offset;
1335
0
  if (parent_tree) {
1336
0
    tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_frstrans_frstrans_RdcParameterUnion, &item, "frstrans_RdcParameterUnion");
1337
0
  }
1338
1339
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
1340
0
  ALIGN_TO_3_BYTES;
1341
1342
0
  switch(level) {
1343
0
    case FRSTRANS_RDC_FILTER_GENERIC:
1344
0
      offset = frstrans_dissect_element_RdcParameterUnion_filter_generic(tvb, offset, pinfo, tree, di, drep);
1345
0
    break;
1346
1347
0
    case FRSTRANS_RDC_FILTER_MAX:
1348
0
      offset = frstrans_dissect_element_RdcParameterUnion_filter_max(tvb, offset, pinfo, tree, di, drep);
1349
0
    break;
1350
1351
0
    case FRSTRANS_RDC_FILTER_POINT:
1352
0
      offset = frstrans_dissect_element_RdcParameterUnion_filter_point(tvb, offset, pinfo, tree, di, drep);
1353
0
    break;
1354
0
  }
1355
0
  proto_item_set_len(item, offset-old_offset);
1356
1357
1358
0
  return offset;
1359
0
}
1360
1361
/* IDL: struct { */
1362
/* IDL:   frstrans_RdcChunckerAlgorithm rdc_chunker_algorithm; */
1363
/* IDL:   [switch_is(rdc_chunker_algorithm)] frstrans_RdcParameterUnion u; */
1364
/* IDL: } */
1365
1366
static unsigned
1367
frstrans_dissect_element_RdcParameters_rdc_chunker_algorithm(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *rdc_chunker_algorithm)
1368
0
{
1369
0
  offset = frstrans_dissect_enum_RdcChunckerAlgorithm(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameters_rdc_chunker_algorithm, rdc_chunker_algorithm);
1370
1371
0
  return offset;
1372
0
}
1373
1374
static unsigned
1375
frstrans_dissect_element_RdcParameters_u(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *rdc_chunker_algorithm)
1376
0
{
1377
0
  offset = frstrans_dissect_RdcParameterUnion(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameters_u, *rdc_chunker_algorithm);
1378
1379
0
  return offset;
1380
0
}
1381
1382
unsigned
1383
frstrans_dissect_struct_RdcParameters(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1384
0
{
1385
0
  uint32_t rdc_chunker_algorithm = 0;
1386
0
  proto_item *item = NULL;
1387
0
  proto_tree *tree = NULL;
1388
0
  unsigned old_offset;
1389
1390
0
  ALIGN_TO_3_BYTES;
1391
1392
0
  old_offset = offset;
1393
1394
0
  if (parent_tree) {
1395
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1396
0
    tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcParameters);
1397
0
  }
1398
1399
0
  offset = frstrans_dissect_element_RdcParameters_rdc_chunker_algorithm(tvb, offset, pinfo, tree, di, drep, &rdc_chunker_algorithm);
1400
1401
0
  offset = frstrans_dissect_element_RdcParameters_u(tvb, offset, pinfo, tree, di, drep, &rdc_chunker_algorithm);
1402
1403
1404
0
  proto_item_set_len(item, offset-old_offset);
1405
1406
1407
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
1408
0
    ALIGN_TO_3_BYTES;
1409
0
  }
1410
1411
0
  return offset;
1412
0
}
1413
1414
1415
/* IDL: enum { */
1416
/* IDL:   FRSTRANS_RDC_VERSION=0x0001, */
1417
/* IDL: } */
1418
1419
unsigned
1420
frstrans_dissect_enum_RdcVersion(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
1421
0
{
1422
0
  uint32_t parameter=0;
1423
0
  if (param) {
1424
0
    parameter = *param;
1425
0
  }
1426
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1427
0
  if (param) {
1428
0
    *param = parameter;
1429
0
  }
1430
0
  return offset;
1431
0
}
1432
1433
1434
/* IDL: enum { */
1435
/* IDL:   FRSTRANS_RDC_VERSION_COMPATIBLE=0x0001, */
1436
/* IDL: } */
1437
1438
unsigned
1439
frstrans_dissect_enum_RdcVersionCompatible(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
1440
0
{
1441
0
  uint32_t parameter=0;
1442
0
  if (param) {
1443
0
    parameter = *param;
1444
0
  }
1445
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1446
0
  if (param) {
1447
0
    *param = parameter;
1448
0
  }
1449
0
  return offset;
1450
0
}
1451
1452
1453
/* IDL: enum { */
1454
/* IDL:   FRSTRANS_RDC_UNCOMPRESSED=0x0000, */
1455
/* IDL:   FRSTRANS_RDC_XPRESS=0x0001, */
1456
/* IDL: } */
1457
1458
unsigned
1459
frstrans_dissect_enum_RdcCompressionAlgorithm(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
1460
0
{
1461
0
  uint32_t parameter=0;
1462
0
  if (param) {
1463
0
    parameter = *param;
1464
0
  }
1465
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1466
0
  if (param) {
1467
0
    *param = parameter;
1468
0
  }
1469
0
  return offset;
1470
0
}
1471
1472
1473
/* IDL: struct { */
1474
/* IDL:   hyper on_disk_file_size; */
1475
/* IDL:   hyper file_size_estimate; */
1476
/* IDL:   frstrans_RdcVersion rdc_version; */
1477
/* IDL:   frstrans_RdcVersionCompatible rdc_minimum_compatible_version; */
1478
/* IDL:   [range(0,8)] uint8 rdc_signature_levels; */
1479
/* IDL:   frstrans_RdcCompressionAlgorithm compression_algorithm; */
1480
/* IDL:   [size_is(rdc_signature_levels)] frstrans_RdcParameters rdc_filter_parameters[*]; */
1481
/* IDL: } */
1482
1483
static unsigned
1484
frstrans_dissect_element_RdcFileInfo_on_disk_file_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1485
0
{
1486
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_on_disk_file_size, NULL);
1487
1488
0
  return offset;
1489
0
}
1490
1491
static unsigned
1492
frstrans_dissect_element_RdcFileInfo_file_size_estimate(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1493
0
{
1494
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_file_size_estimate, NULL);
1495
1496
0
  return offset;
1497
0
}
1498
1499
static unsigned
1500
frstrans_dissect_element_RdcFileInfo_rdc_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1501
0
{
1502
0
  offset = frstrans_dissect_enum_RdcVersion(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_rdc_version, 0);
1503
1504
0
  return offset;
1505
0
}
1506
1507
static unsigned
1508
frstrans_dissect_element_RdcFileInfo_rdc_minimum_compatible_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1509
0
{
1510
0
  offset = frstrans_dissect_enum_RdcVersionCompatible(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_rdc_minimum_compatible_version, 0);
1511
1512
0
  return offset;
1513
0
}
1514
1515
static unsigned
1516
frstrans_dissect_element_RdcFileInfo_rdc_signature_levels(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1517
0
{
1518
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_rdc_signature_levels, 0);
1519
1520
0
  return offset;
1521
0
}
1522
1523
static unsigned
1524
frstrans_dissect_element_RdcFileInfo_compression_algorithm(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1525
0
{
1526
0
  offset = frstrans_dissect_enum_RdcCompressionAlgorithm(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_compression_algorithm, 0);
1527
1528
0
  return offset;
1529
0
}
1530
1531
static unsigned
1532
frstrans_dissect_element_RdcFileInfo_rdc_filter_parameters(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1533
0
{
1534
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_RdcFileInfo_rdc_filter_parameters_);
1535
1536
0
  return offset;
1537
0
}
1538
1539
static unsigned
1540
frstrans_dissect_element_RdcFileInfo_rdc_filter_parameters_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1541
0
{
1542
0
  offset = frstrans_dissect_struct_RdcParameters(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RdcFileInfo_rdc_filter_parameters,0);
1543
1544
0
  return offset;
1545
0
}
1546
1547
unsigned
1548
frstrans_dissect_struct_RdcFileInfo(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1549
0
{
1550
0
  proto_item *item = NULL;
1551
0
  proto_tree *tree = NULL;
1552
0
  unsigned old_offset;
1553
1554
0
  ALIGN_TO_8_BYTES;
1555
1556
0
  old_offset = offset;
1557
1558
0
  if (parent_tree) {
1559
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1560
0
    tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcFileInfo);
1561
0
  }
1562
1563
0
  offset = frstrans_dissect_element_RdcFileInfo_on_disk_file_size(tvb, offset, pinfo, tree, di, drep);
1564
1565
0
  offset = frstrans_dissect_element_RdcFileInfo_file_size_estimate(tvb, offset, pinfo, tree, di, drep);
1566
1567
0
  offset = frstrans_dissect_element_RdcFileInfo_rdc_version(tvb, offset, pinfo, tree, di, drep);
1568
1569
0
  offset = frstrans_dissect_element_RdcFileInfo_rdc_minimum_compatible_version(tvb, offset, pinfo, tree, di, drep);
1570
1571
0
  offset = frstrans_dissect_element_RdcFileInfo_rdc_signature_levels(tvb, offset, pinfo, tree, di, drep);
1572
1573
0
  offset = frstrans_dissect_element_RdcFileInfo_compression_algorithm(tvb, offset, pinfo, tree, di, drep);
1574
1575
0
  offset = frstrans_dissect_element_RdcFileInfo_rdc_filter_parameters(tvb, offset, pinfo, tree, di, drep);
1576
1577
1578
0
  proto_item_set_len(item, offset-old_offset);
1579
1580
1581
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
1582
0
    ALIGN_TO_8_BYTES;
1583
0
  }
1584
1585
0
  return offset;
1586
0
}
1587
1588
static unsigned
1589
frstrans_dissect_element_CheckConnectivity_replica_set_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1590
0
{
1591
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_CheckConnectivity_replica_set_guid, NULL);
1592
1593
0
  return offset;
1594
0
}
1595
1596
static unsigned
1597
frstrans_dissect_element_CheckConnectivity_connection_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1598
0
{
1599
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_CheckConnectivity_connection_guid, NULL);
1600
1601
0
  return offset;
1602
0
}
1603
1604
/* IDL: WERROR frstrans_CheckConnectivity( */
1605
/* IDL: [in] GUID replica_set_guid, */
1606
/* IDL: [in] GUID connection_guid */
1607
/* IDL: ); */
1608
1609
static unsigned
1610
frstrans_dissect_CheckConnectivity_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1611
0
{
1612
0
  uint32_t status;
1613
1614
0
  di->dcerpc_procedure_name="CheckConnectivity";
1615
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
1616
1617
0
  if (status != 0)
1618
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1619
1620
0
  return offset;
1621
0
}
1622
1623
static unsigned
1624
frstrans_dissect_CheckConnectivity_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1625
0
{
1626
0
  di->dcerpc_procedure_name="CheckConnectivity";
1627
0
  offset = frstrans_dissect_element_CheckConnectivity_replica_set_guid(tvb, offset, pinfo, tree, di, drep);
1628
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1629
0
  offset = frstrans_dissect_element_CheckConnectivity_connection_guid(tvb, offset, pinfo, tree, di, drep);
1630
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1631
0
  return offset;
1632
0
}
1633
1634
static unsigned
1635
frstrans_dissect_element_EstablishConnection_replica_set_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1636
0
{
1637
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_replica_set_guid, NULL);
1638
1639
0
  return offset;
1640
0
}
1641
1642
static unsigned
1643
frstrans_dissect_element_EstablishConnection_connection_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1644
0
{
1645
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_connection_guid, NULL);
1646
1647
0
  return offset;
1648
0
}
1649
1650
static unsigned
1651
frstrans_dissect_element_EstablishConnection_downstream_protocol_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1652
0
{
1653
0
  offset = frstrans_dissect_enum_ProtocolVersion(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_downstream_protocol_version, 0);
1654
1655
0
  return offset;
1656
0
}
1657
1658
static unsigned
1659
frstrans_dissect_element_EstablishConnection_downstream_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1660
0
{
1661
0
  offset = frstrans_dissect_bitmap_TransportFlags(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_downstream_flags, 0);
1662
1663
0
  return offset;
1664
0
}
1665
1666
static unsigned
1667
frstrans_dissect_element_EstablishConnection_upstream_protocol_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1668
0
{
1669
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_EstablishConnection_upstream_protocol_version_, NDR_POINTER_REF, "Pointer to Upstream Protocol Version (frstrans_ProtocolVersion)",hf_frstrans_frstrans_EstablishConnection_upstream_protocol_version);
1670
1671
0
  return offset;
1672
0
}
1673
1674
static unsigned
1675
frstrans_dissect_element_EstablishConnection_upstream_protocol_version_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1676
0
{
1677
0
  offset = frstrans_dissect_enum_ProtocolVersion(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_upstream_protocol_version, 0);
1678
1679
0
  return offset;
1680
0
}
1681
1682
static unsigned
1683
frstrans_dissect_element_EstablishConnection_upstream_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1684
0
{
1685
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_EstablishConnection_upstream_flags_, NDR_POINTER_REF, "Pointer to Upstream Flags (frstrans_TransportFlags)",hf_frstrans_frstrans_EstablishConnection_upstream_flags);
1686
1687
0
  return offset;
1688
0
}
1689
1690
static unsigned
1691
frstrans_dissect_element_EstablishConnection_upstream_flags_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1692
0
{
1693
0
  offset = frstrans_dissect_bitmap_TransportFlags(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_upstream_flags, 0);
1694
1695
0
  return offset;
1696
0
}
1697
1698
/* IDL: WERROR frstrans_EstablishConnection( */
1699
/* IDL: [in] GUID replica_set_guid, */
1700
/* IDL: [in] GUID connection_guid, */
1701
/* IDL: [in] frstrans_ProtocolVersion downstream_protocol_version, */
1702
/* IDL: [in] frstrans_TransportFlags downstream_flags, */
1703
/* IDL: [out] [ref] frstrans_ProtocolVersion *upstream_protocol_version, */
1704
/* IDL: [out] [ref] frstrans_TransportFlags *upstream_flags */
1705
/* IDL: ); */
1706
1707
static unsigned
1708
frstrans_dissect_EstablishConnection_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1709
0
{
1710
0
  uint32_t status;
1711
1712
0
  di->dcerpc_procedure_name="EstablishConnection";
1713
0
  offset = frstrans_dissect_element_EstablishConnection_upstream_protocol_version(tvb, offset, pinfo, tree, di, drep);
1714
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1715
1716
0
  offset = frstrans_dissect_element_EstablishConnection_upstream_flags(tvb, offset, pinfo, tree, di, drep);
1717
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1718
1719
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
1720
1721
0
  if (status != 0)
1722
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1723
1724
0
  return offset;
1725
0
}
1726
1727
static unsigned
1728
frstrans_dissect_EstablishConnection_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1729
0
{
1730
0
  di->dcerpc_procedure_name="EstablishConnection";
1731
0
  offset = frstrans_dissect_element_EstablishConnection_replica_set_guid(tvb, offset, pinfo, tree, di, drep);
1732
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1733
0
  offset = frstrans_dissect_element_EstablishConnection_connection_guid(tvb, offset, pinfo, tree, di, drep);
1734
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1735
0
  offset = frstrans_dissect_element_EstablishConnection_downstream_protocol_version(tvb, offset, pinfo, tree, di, drep);
1736
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1737
0
  offset = frstrans_dissect_element_EstablishConnection_downstream_flags(tvb, offset, pinfo, tree, di, drep);
1738
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1739
0
  return offset;
1740
0
}
1741
1742
static unsigned
1743
frstrans_dissect_element_EstablishSession_connection_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1744
0
{
1745
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishSession_connection_guid, NULL);
1746
1747
0
  return offset;
1748
0
}
1749
1750
static unsigned
1751
frstrans_dissect_element_EstablishSession_content_set_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1752
0
{
1753
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishSession_content_set_guid, NULL);
1754
1755
0
  return offset;
1756
0
}
1757
1758
/* IDL: WERROR frstrans_EstablishSession( */
1759
/* IDL: [in] GUID connection_guid, */
1760
/* IDL: [in] GUID content_set_guid */
1761
/* IDL: ); */
1762
1763
static unsigned
1764
frstrans_dissect_EstablishSession_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1765
0
{
1766
0
  uint32_t status;
1767
1768
0
  di->dcerpc_procedure_name="EstablishSession";
1769
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
1770
1771
0
  if (status != 0)
1772
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1773
1774
0
  return offset;
1775
0
}
1776
1777
static unsigned
1778
frstrans_dissect_EstablishSession_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1779
0
{
1780
0
  di->dcerpc_procedure_name="EstablishSession";
1781
0
  offset = frstrans_dissect_element_EstablishSession_connection_guid(tvb, offset, pinfo, tree, di, drep);
1782
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1783
0
  offset = frstrans_dissect_element_EstablishSession_content_set_guid(tvb, offset, pinfo, tree, di, drep);
1784
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1785
0
  return offset;
1786
0
}
1787
1788
static unsigned
1789
frstrans_dissect_element_RequestUpdates_connection_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1790
0
{
1791
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_connection_guid, NULL);
1792
1793
0
  return offset;
1794
0
}
1795
1796
static unsigned
1797
frstrans_dissect_element_RequestUpdates_content_set_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1798
0
{
1799
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_content_set_guid, NULL);
1800
1801
0
  return offset;
1802
0
}
1803
1804
static unsigned
1805
frstrans_dissect_element_RequestUpdates_credits_available(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1806
0
{
1807
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_credits_available, 0);
1808
1809
0
  return offset;
1810
0
}
1811
1812
static unsigned
1813
frstrans_dissect_element_RequestUpdates_hash_requested(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1814
0
{
1815
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_hash_requested, 0);
1816
1817
0
  return offset;
1818
0
}
1819
1820
static unsigned
1821
frstrans_dissect_element_RequestUpdates_update_request_type(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1822
0
{
1823
0
  offset = frstrans_dissect_enum_UpdateRequestType(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_update_request_type, 0);
1824
1825
0
  return offset;
1826
0
}
1827
1828
static unsigned
1829
frstrans_dissect_element_RequestUpdates_version_vector_diff_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1830
0
{
1831
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_version_vector_diff_count, 0);
1832
1833
0
  return offset;
1834
0
}
1835
1836
static unsigned
1837
frstrans_dissect_element_RequestUpdates_version_vector_diff(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1838
0
{
1839
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_RequestUpdates_version_vector_diff_, NDR_POINTER_REF, "Pointer to Version Vector Diff (frstrans_VersionVector)",hf_frstrans_frstrans_RequestUpdates_version_vector_diff);
1840
1841
0
  return offset;
1842
0
}
1843
1844
static unsigned
1845
frstrans_dissect_element_RequestUpdates_version_vector_diff_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1846
0
{
1847
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_RequestUpdates_version_vector_diff__);
1848
1849
0
  return offset;
1850
0
}
1851
1852
static unsigned
1853
frstrans_dissect_element_RequestUpdates_version_vector_diff__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1854
0
{
1855
0
  offset = frstrans_dissect_struct_VersionVector(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RequestUpdates_version_vector_diff,0);
1856
1857
0
  return offset;
1858
0
}
1859
1860
static unsigned
1861
frstrans_dissect_element_RequestUpdates_frs_update(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1862
0
{
1863
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_RequestUpdates_frs_update_, NDR_POINTER_REF, "Pointer to Frs Update (frstrans_Update)",hf_frstrans_frstrans_RequestUpdates_frs_update);
1864
1865
0
  return offset;
1866
0
}
1867
1868
static unsigned
1869
frstrans_dissect_element_RequestUpdates_frs_update_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1870
0
{
1871
0
  offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_RequestUpdates_frs_update__);
1872
1873
0
  return offset;
1874
0
}
1875
1876
static unsigned
1877
frstrans_dissect_element_RequestUpdates_frs_update__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1878
0
{
1879
0
  offset = frstrans_dissect_struct_Update(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RequestUpdates_frs_update,0);
1880
1881
0
  return offset;
1882
0
}
1883
1884
static unsigned
1885
frstrans_dissect_element_RequestUpdates_update_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1886
0
{
1887
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_RequestUpdates_update_count_, NDR_POINTER_REF, "Pointer to Update Count (uint32)",hf_frstrans_frstrans_RequestUpdates_update_count);
1888
1889
0
  return offset;
1890
0
}
1891
1892
static unsigned
1893
frstrans_dissect_element_RequestUpdates_update_count_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1894
0
{
1895
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_update_count, 0);
1896
1897
0
  return offset;
1898
0
}
1899
1900
static unsigned
1901
frstrans_dissect_element_RequestUpdates_update_status(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1902
0
{
1903
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_RequestUpdates_update_status_, NDR_POINTER_REF, "Pointer to Update Status (frstrans_UpdateStatus)",hf_frstrans_frstrans_RequestUpdates_update_status);
1904
1905
0
  return offset;
1906
0
}
1907
1908
static unsigned
1909
frstrans_dissect_element_RequestUpdates_update_status_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1910
0
{
1911
0
  offset = frstrans_dissect_enum_UpdateStatus(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_update_status, 0);
1912
1913
0
  return offset;
1914
0
}
1915
1916
static unsigned
1917
frstrans_dissect_element_RequestUpdates_gvsn_db_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1918
0
{
1919
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_RequestUpdates_gvsn_db_guid_, NDR_POINTER_REF, "Pointer to Gvsn Db Guid (GUID)",hf_frstrans_frstrans_RequestUpdates_gvsn_db_guid);
1920
1921
0
  return offset;
1922
0
}
1923
1924
static unsigned
1925
frstrans_dissect_element_RequestUpdates_gvsn_db_guid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1926
0
{
1927
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_gvsn_db_guid, NULL);
1928
1929
0
  return offset;
1930
0
}
1931
1932
static unsigned
1933
frstrans_dissect_element_RequestUpdates_gvsn_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1934
0
{
1935
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_RequestUpdates_gvsn_version_, NDR_POINTER_REF, "Pointer to Gvsn Version (hyper)",hf_frstrans_frstrans_RequestUpdates_gvsn_version);
1936
1937
0
  return offset;
1938
0
}
1939
1940
static unsigned
1941
frstrans_dissect_element_RequestUpdates_gvsn_version_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1942
0
{
1943
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_gvsn_version, NULL);
1944
1945
0
  return offset;
1946
0
}
1947
1948
/* IDL: WERROR frstrans_RequestUpdates( */
1949
/* IDL: [in] GUID connection_guid, */
1950
/* IDL: [in] GUID content_set_guid, */
1951
/* IDL: [in] [range(0,256)] uint32 credits_available, */
1952
/* IDL: [in] [range(0,1)] uint32 hash_requested, */
1953
/* IDL: [in] [range(0,2)] frstrans_UpdateRequestType update_request_type, */
1954
/* IDL: [in] uint32 version_vector_diff_count, */
1955
/* IDL: [in] [ref] [size_is(version_vector_diff_count)] frstrans_VersionVector *version_vector_diff, */
1956
/* IDL: [length_is(*update_count)] [out] [ref] [size_is(credits_available)] frstrans_Update *frs_update, */
1957
/* IDL: [out] [ref] uint32 *update_count, */
1958
/* IDL: [out] [ref] frstrans_UpdateStatus *update_status, */
1959
/* IDL: [out] [ref] GUID *gvsn_db_guid, */
1960
/* IDL: [out] [ref] hyper *gvsn_version */
1961
/* IDL: ); */
1962
1963
static unsigned
1964
frstrans_dissect_RequestUpdates_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1965
0
{
1966
0
  uint32_t status;
1967
1968
0
  di->dcerpc_procedure_name="RequestUpdates";
1969
0
  offset = frstrans_dissect_element_RequestUpdates_frs_update(tvb, offset, pinfo, tree, di, drep);
1970
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1971
1972
0
  offset = frstrans_dissect_element_RequestUpdates_update_count(tvb, offset, pinfo, tree, di, drep);
1973
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1974
1975
0
  offset = frstrans_dissect_element_RequestUpdates_update_status(tvb, offset, pinfo, tree, di, drep);
1976
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1977
1978
0
  offset = frstrans_dissect_element_RequestUpdates_gvsn_db_guid(tvb, offset, pinfo, tree, di, drep);
1979
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1980
1981
0
  offset = frstrans_dissect_element_RequestUpdates_gvsn_version(tvb, offset, pinfo, tree, di, drep);
1982
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1983
1984
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
1985
1986
0
  if (status != 0)
1987
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1988
1989
0
  return offset;
1990
0
}
1991
1992
static unsigned
1993
frstrans_dissect_RequestUpdates_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1994
0
{
1995
0
  di->dcerpc_procedure_name="RequestUpdates";
1996
0
  offset = frstrans_dissect_element_RequestUpdates_connection_guid(tvb, offset, pinfo, tree, di, drep);
1997
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1998
0
  offset = frstrans_dissect_element_RequestUpdates_content_set_guid(tvb, offset, pinfo, tree, di, drep);
1999
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2000
0
  offset = frstrans_dissect_element_RequestUpdates_credits_available(tvb, offset, pinfo, tree, di, drep);
2001
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2002
0
  offset = frstrans_dissect_element_RequestUpdates_hash_requested(tvb, offset, pinfo, tree, di, drep);
2003
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2004
0
  offset = frstrans_dissect_element_RequestUpdates_update_request_type(tvb, offset, pinfo, tree, di, drep);
2005
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2006
0
  offset = frstrans_dissect_element_RequestUpdates_version_vector_diff_count(tvb, offset, pinfo, tree, di, drep);
2007
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2008
0
  offset = frstrans_dissect_element_RequestUpdates_version_vector_diff(tvb, offset, pinfo, tree, di, drep);
2009
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2010
0
  return offset;
2011
0
}
2012
2013
static unsigned
2014
frstrans_dissect_element_RequestVersionVector_sequence_number(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2015
0
{
2016
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_sequence_number, 0);
2017
2018
0
  return offset;
2019
0
}
2020
2021
static unsigned
2022
frstrans_dissect_element_RequestVersionVector_connection_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2023
0
{
2024
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_connection_guid, NULL);
2025
2026
0
  return offset;
2027
0
}
2028
2029
static unsigned
2030
frstrans_dissect_element_RequestVersionVector_content_set_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2031
0
{
2032
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_content_set_guid, NULL);
2033
2034
0
  return offset;
2035
0
}
2036
2037
static unsigned
2038
frstrans_dissect_element_RequestVersionVector_request_type(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2039
0
{
2040
0
  offset = frstrans_dissect_enum_VersionRequestType(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_request_type, 0);
2041
2042
0
  return offset;
2043
0
}
2044
2045
static unsigned
2046
frstrans_dissect_element_RequestVersionVector_change_type(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2047
0
{
2048
0
  offset = frstrans_dissect_enum_VersionChangeType(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_change_type, 0);
2049
2050
0
  return offset;
2051
0
}
2052
2053
static unsigned
2054
frstrans_dissect_element_RequestVersionVector_vv_generation(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2055
0
{
2056
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_vv_generation, NULL);
2057
2058
0
  return offset;
2059
0
}
2060
2061
/* IDL: WERROR frstrans_RequestVersionVector( */
2062
/* IDL: [in] uint32 sequence_number, */
2063
/* IDL: [in] GUID connection_guid, */
2064
/* IDL: [in] GUID content_set_guid, */
2065
/* IDL: [in] [range(0,2)] frstrans_VersionRequestType request_type, */
2066
/* IDL: [in] [range(0,2)] frstrans_VersionChangeType change_type, */
2067
/* IDL: [in] hyper vv_generation */
2068
/* IDL: ); */
2069
2070
static unsigned
2071
frstrans_dissect_RequestVersionVector_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2072
0
{
2073
0
  uint32_t status;
2074
2075
0
  di->dcerpc_procedure_name="RequestVersionVector";
2076
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
2077
2078
0
  if (status != 0)
2079
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
2080
2081
0
  return offset;
2082
0
}
2083
2084
static unsigned
2085
frstrans_dissect_RequestVersionVector_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2086
0
{
2087
0
  di->dcerpc_procedure_name="RequestVersionVector";
2088
0
  offset = frstrans_dissect_element_RequestVersionVector_sequence_number(tvb, offset, pinfo, tree, di, drep);
2089
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2090
0
  offset = frstrans_dissect_element_RequestVersionVector_connection_guid(tvb, offset, pinfo, tree, di, drep);
2091
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2092
0
  offset = frstrans_dissect_element_RequestVersionVector_content_set_guid(tvb, offset, pinfo, tree, di, drep);
2093
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2094
0
  offset = frstrans_dissect_element_RequestVersionVector_request_type(tvb, offset, pinfo, tree, di, drep);
2095
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2096
0
  offset = frstrans_dissect_element_RequestVersionVector_change_type(tvb, offset, pinfo, tree, di, drep);
2097
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2098
0
  offset = frstrans_dissect_element_RequestVersionVector_vv_generation(tvb, offset, pinfo, tree, di, drep);
2099
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2100
0
  return offset;
2101
0
}
2102
2103
static unsigned
2104
frstrans_dissect_element_AsyncPoll_connection_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2105
0
{
2106
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncPoll_connection_guid, NULL);
2107
2108
0
  return offset;
2109
0
}
2110
2111
static unsigned
2112
frstrans_dissect_element_AsyncPoll_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2113
0
{
2114
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_AsyncPoll_response_, NDR_POINTER_REF, "Pointer to Response (frstrans_AsyncResponseContext)",hf_frstrans_frstrans_AsyncPoll_response);
2115
2116
0
  return offset;
2117
0
}
2118
2119
static unsigned
2120
frstrans_dissect_element_AsyncPoll_response_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2121
0
{
2122
0
  offset = frstrans_dissect_struct_AsyncResponseContext(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_AsyncPoll_response,0);
2123
2124
0
  return offset;
2125
0
}
2126
2127
/* IDL: WERROR frstrans_AsyncPoll( */
2128
/* IDL: [in] GUID connection_guid, */
2129
/* IDL: [out] [ref] frstrans_AsyncResponseContext *response */
2130
/* IDL: ); */
2131
2132
static unsigned
2133
frstrans_dissect_AsyncPoll_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2134
0
{
2135
0
  uint32_t status;
2136
2137
0
  di->dcerpc_procedure_name="AsyncPoll";
2138
0
  offset = frstrans_dissect_element_AsyncPoll_response(tvb, offset, pinfo, tree, di, drep);
2139
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2140
2141
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
2142
2143
0
  if (status != 0)
2144
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
2145
2146
0
  return offset;
2147
0
}
2148
2149
static unsigned
2150
frstrans_dissect_AsyncPoll_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2151
0
{
2152
0
  di->dcerpc_procedure_name="AsyncPoll";
2153
0
  offset = frstrans_dissect_element_AsyncPoll_connection_guid(tvb, offset, pinfo, tree, di, drep);
2154
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2155
0
  return offset;
2156
0
}
2157
2158
/* IDL: void FRSTRANS_REQUEST_RECORDS( */
2159
/* IDL:  */
2160
/* IDL: ); */
2161
2162
static unsigned
2163
frstrans_dissect_FRSTRANS_REQUEST_RECORDS_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2164
0
{
2165
0
  di->dcerpc_procedure_name="FRSTRANS_REQUEST_RECORDS";
2166
0
  return offset;
2167
0
}
2168
2169
static unsigned
2170
frstrans_dissect_FRSTRANS_REQUEST_RECORDS_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2171
0
{
2172
0
  di->dcerpc_procedure_name="FRSTRANS_REQUEST_RECORDS";
2173
0
  return offset;
2174
0
}
2175
2176
/* IDL: void FRSTRANS_UPDATE_CANCEL( */
2177
/* IDL:  */
2178
/* IDL: ); */
2179
2180
static unsigned
2181
frstrans_dissect_FRSTRANS_UPDATE_CANCEL_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2182
0
{
2183
0
  di->dcerpc_procedure_name="FRSTRANS_UPDATE_CANCEL";
2184
0
  return offset;
2185
0
}
2186
2187
static unsigned
2188
frstrans_dissect_FRSTRANS_UPDATE_CANCEL_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2189
0
{
2190
0
  di->dcerpc_procedure_name="FRSTRANS_UPDATE_CANCEL";
2191
0
  return offset;
2192
0
}
2193
2194
/* IDL: void FRSTRANS_RAW_GET_FILE_DATA( */
2195
/* IDL:  */
2196
/* IDL: ); */
2197
2198
static unsigned
2199
frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2200
0
{
2201
0
  di->dcerpc_procedure_name="FRSTRANS_RAW_GET_FILE_DATA";
2202
0
  return offset;
2203
0
}
2204
2205
static unsigned
2206
frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2207
0
{
2208
0
  di->dcerpc_procedure_name="FRSTRANS_RAW_GET_FILE_DATA";
2209
0
  return offset;
2210
0
}
2211
2212
/* IDL: void FRSTRANS_RDC_GET_SIGNATURES( */
2213
/* IDL:  */
2214
/* IDL: ); */
2215
2216
static unsigned
2217
frstrans_dissect_FRSTRANS_RDC_GET_SIGNATURES_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2218
0
{
2219
0
  di->dcerpc_procedure_name="FRSTRANS_RDC_GET_SIGNATURES";
2220
0
  return offset;
2221
0
}
2222
2223
static unsigned
2224
frstrans_dissect_FRSTRANS_RDC_GET_SIGNATURES_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2225
0
{
2226
0
  di->dcerpc_procedure_name="FRSTRANS_RDC_GET_SIGNATURES";
2227
0
  return offset;
2228
0
}
2229
2230
/* IDL: void FRSTRANS_RDC_PUSH_SOURCE_NEEDS( */
2231
/* IDL:  */
2232
/* IDL: ); */
2233
2234
static unsigned
2235
frstrans_dissect_FRSTRANS_RDC_PUSH_SOURCE_NEEDS_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2236
0
{
2237
0
  di->dcerpc_procedure_name="FRSTRANS_RDC_PUSH_SOURCE_NEEDS";
2238
0
  return offset;
2239
0
}
2240
2241
static unsigned
2242
frstrans_dissect_FRSTRANS_RDC_PUSH_SOURCE_NEEDS_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2243
0
{
2244
0
  di->dcerpc_procedure_name="FRSTRANS_RDC_PUSH_SOURCE_NEEDS";
2245
0
  return offset;
2246
0
}
2247
2248
/* IDL: void FRSTRANS_RDC_GET_FILE_DATA( */
2249
/* IDL:  */
2250
/* IDL: ); */
2251
2252
static unsigned
2253
frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2254
0
{
2255
0
  di->dcerpc_procedure_name="FRSTRANS_RDC_GET_FILE_DATA";
2256
0
  return offset;
2257
0
}
2258
2259
static unsigned
2260
frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2261
0
{
2262
0
  di->dcerpc_procedure_name="FRSTRANS_RDC_GET_FILE_DATA";
2263
0
  return offset;
2264
0
}
2265
2266
/* IDL: void FRSTRANS_RDC_CLOSE( */
2267
/* IDL:  */
2268
/* IDL: ); */
2269
2270
static unsigned
2271
frstrans_dissect_FRSTRANS_RDC_CLOSE_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2272
0
{
2273
0
  di->dcerpc_procedure_name="FRSTRANS_RDC_CLOSE";
2274
0
  return offset;
2275
0
}
2276
2277
static unsigned
2278
frstrans_dissect_FRSTRANS_RDC_CLOSE_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2279
0
{
2280
0
  di->dcerpc_procedure_name="FRSTRANS_RDC_CLOSE";
2281
0
  return offset;
2282
0
}
2283
2284
static unsigned
2285
frstrans_dissect_element_InitializeFileTransferAsync_connection_guid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2286
0
{
2287
0
  offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_connection_guid, NULL);
2288
2289
0
  return offset;
2290
0
}
2291
2292
static unsigned
2293
frstrans_dissect_element_InitializeFileTransferAsync_frs_update(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2294
0
{
2295
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_InitializeFileTransferAsync_frs_update_, NDR_POINTER_REF, "Pointer to Frs Update (frstrans_Update)",hf_frstrans_frstrans_InitializeFileTransferAsync_frs_update);
2296
2297
0
  return offset;
2298
0
}
2299
2300
static unsigned
2301
frstrans_dissect_element_InitializeFileTransferAsync_frs_update_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2302
0
{
2303
0
  offset = frstrans_dissect_struct_Update(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_InitializeFileTransferAsync_frs_update,0);
2304
2305
0
  return offset;
2306
0
}
2307
2308
static unsigned
2309
frstrans_dissect_element_InitializeFileTransferAsync_rdc_desired(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2310
0
{
2311
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_desired, 0);
2312
2313
0
  return offset;
2314
0
}
2315
2316
static unsigned
2317
frstrans_dissect_element_InitializeFileTransferAsync_staging_policy(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2318
0
{
2319
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_InitializeFileTransferAsync_staging_policy_, NDR_POINTER_REF, "Pointer to Staging Policy (frstrans_RequestedStagingPolicy)",hf_frstrans_frstrans_InitializeFileTransferAsync_staging_policy);
2320
2321
0
  return offset;
2322
0
}
2323
2324
static unsigned
2325
frstrans_dissect_element_InitializeFileTransferAsync_staging_policy_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2326
0
{
2327
0
  offset = frstrans_dissect_enum_RequestedStagingPolicy(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_staging_policy, 0);
2328
2329
0
  return offset;
2330
0
}
2331
2332
static unsigned
2333
frstrans_dissect_element_InitializeFileTransferAsync_server_context(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2334
0
{
2335
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_InitializeFileTransferAsync_server_context_, NDR_POINTER_REF, "Pointer to Server Context (policy_handle)",hf_frstrans_frstrans_InitializeFileTransferAsync_server_context);
2336
2337
0
  return offset;
2338
0
}
2339
2340
static unsigned
2341
frstrans_dissect_element_InitializeFileTransferAsync_server_context_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2342
0
{
2343
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_server_context, 0);
2344
2345
0
  return offset;
2346
0
}
2347
2348
static unsigned
2349
frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2350
0
{
2351
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info_, NDR_POINTER_REF, "Pointer to Rdc File Info (frstrans_RdcFileInfo)",hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_file_info);
2352
2353
0
  return offset;
2354
0
}
2355
2356
static unsigned
2357
frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2358
0
{
2359
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info__, NDR_POINTER_UNIQUE, "Pointer to Rdc File Info (frstrans_RdcFileInfo)",hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_file_info);
2360
2361
0
  return offset;
2362
0
}
2363
2364
static unsigned
2365
frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2366
0
{
2367
0
  offset = frstrans_dissect_struct_RdcFileInfo(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_file_info,0);
2368
2369
0
  return offset;
2370
0
}
2371
2372
static unsigned
2373
frstrans_dissect_element_InitializeFileTransferAsync_data_buffer(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2374
0
{
2375
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_InitializeFileTransferAsync_data_buffer_, NDR_POINTER_REF, "Pointer to Data Buffer (uint8)",hf_frstrans_frstrans_InitializeFileTransferAsync_data_buffer);
2376
2377
0
  return offset;
2378
0
}
2379
2380
static unsigned
2381
frstrans_dissect_element_InitializeFileTransferAsync_data_buffer_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2382
0
{
2383
0
  offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_InitializeFileTransferAsync_data_buffer__);
2384
2385
0
  return offset;
2386
0
}
2387
2388
static unsigned
2389
frstrans_dissect_element_InitializeFileTransferAsync_data_buffer__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2390
0
{
2391
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_data_buffer, 0);
2392
2393
0
  return offset;
2394
0
}
2395
2396
static unsigned
2397
frstrans_dissect_element_InitializeFileTransferAsync_buffer_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2398
0
{
2399
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_buffer_size, 0);
2400
2401
0
  return offset;
2402
0
}
2403
2404
static unsigned
2405
frstrans_dissect_element_InitializeFileTransferAsync_size_read(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2406
0
{
2407
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_InitializeFileTransferAsync_size_read_, NDR_POINTER_REF, "Pointer to Size Read (uint32)",hf_frstrans_frstrans_InitializeFileTransferAsync_size_read);
2408
2409
0
  return offset;
2410
0
}
2411
2412
static unsigned
2413
frstrans_dissect_element_InitializeFileTransferAsync_size_read_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2414
0
{
2415
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_size_read, 0);
2416
2417
0
  return offset;
2418
0
}
2419
2420
static unsigned
2421
frstrans_dissect_element_InitializeFileTransferAsync_is_end_of_file(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2422
0
{
2423
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_InitializeFileTransferAsync_is_end_of_file_, NDR_POINTER_REF, "Pointer to Is End Of File (uint32)",hf_frstrans_frstrans_InitializeFileTransferAsync_is_end_of_file);
2424
2425
0
  return offset;
2426
0
}
2427
2428
static unsigned
2429
frstrans_dissect_element_InitializeFileTransferAsync_is_end_of_file_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2430
0
{
2431
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_is_end_of_file, 0);
2432
2433
0
  return offset;
2434
0
}
2435
2436
/* IDL: WERROR frstrans_InitializeFileTransferAsync( */
2437
/* IDL: [in] GUID connection_guid, */
2438
/* IDL: [in] [out] [ref] frstrans_Update *frs_update, */
2439
/* IDL: [in] [range(0,1)] uint32 rdc_desired, */
2440
/* IDL: [in] [out] [ref] frstrans_RequestedStagingPolicy *staging_policy, */
2441
/* IDL: [out] [ref] policy_handle *server_context, */
2442
/* IDL: [out] [ref] frstrans_RdcFileInfo **rdc_file_info, */
2443
/* IDL: [length_is(*size_read)] [out] [ref] [size_is(buffer_size)] uint8 *data_buffer, */
2444
/* IDL: [in] [range(0,262144)] uint32 buffer_size, */
2445
/* IDL: [out] [ref] uint32 *size_read, */
2446
/* IDL: [out] [ref] uint32 *is_end_of_file */
2447
/* IDL: ); */
2448
2449
static unsigned
2450
frstrans_dissect_InitializeFileTransferAsync_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2451
0
{
2452
0
  uint32_t status;
2453
2454
0
  di->dcerpc_procedure_name="InitializeFileTransferAsync";
2455
0
  offset = frstrans_dissect_element_InitializeFileTransferAsync_frs_update(tvb, offset, pinfo, tree, di, drep);
2456
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2457
2458
0
  offset = frstrans_dissect_element_InitializeFileTransferAsync_staging_policy(tvb, offset, pinfo, tree, di, drep);
2459
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2460
2461
0
  offset = frstrans_dissect_element_InitializeFileTransferAsync_server_context(tvb, offset, pinfo, tree, di, drep);
2462
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2463
2464
0
  offset = frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info(tvb, offset, pinfo, tree, di, drep);
2465
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2466
2467
0
  offset = frstrans_dissect_element_InitializeFileTransferAsync_data_buffer(tvb, offset, pinfo, tree, di, drep);
2468
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2469
2470
0
  offset = frstrans_dissect_element_InitializeFileTransferAsync_size_read(tvb, offset, pinfo, tree, di, drep);
2471
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2472
2473
0
  offset = frstrans_dissect_element_InitializeFileTransferAsync_is_end_of_file(tvb, offset, pinfo, tree, di, drep);
2474
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2475
2476
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
2477
2478
0
  if (status != 0)
2479
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
2480
2481
0
  return offset;
2482
0
}
2483
2484
static unsigned
2485
frstrans_dissect_InitializeFileTransferAsync_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2486
0
{
2487
0
  di->dcerpc_procedure_name="InitializeFileTransferAsync";
2488
0
  offset = frstrans_dissect_element_InitializeFileTransferAsync_connection_guid(tvb, offset, pinfo, tree, di, drep);
2489
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2490
0
  offset = frstrans_dissect_element_InitializeFileTransferAsync_frs_update(tvb, offset, pinfo, tree, di, drep);
2491
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2492
0
  offset = frstrans_dissect_element_InitializeFileTransferAsync_rdc_desired(tvb, offset, pinfo, tree, di, drep);
2493
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2494
0
  offset = frstrans_dissect_element_InitializeFileTransferAsync_staging_policy(tvb, offset, pinfo, tree, di, drep);
2495
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2496
0
  offset = frstrans_dissect_element_InitializeFileTransferAsync_buffer_size(tvb, offset, pinfo, tree, di, drep);
2497
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2498
0
  return offset;
2499
0
}
2500
2501
/* IDL: void FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE( */
2502
/* IDL:  */
2503
/* IDL: ); */
2504
2505
static unsigned
2506
frstrans_dissect_FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2507
0
{
2508
0
  di->dcerpc_procedure_name="FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE";
2509
0
  return offset;
2510
0
}
2511
2512
static unsigned
2513
frstrans_dissect_FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2514
0
{
2515
0
  di->dcerpc_procedure_name="FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE";
2516
0
  return offset;
2517
0
}
2518
2519
/* IDL: void FRSTRANS_RAW_GET_FILE_DATA_ASYNC( */
2520
/* IDL:  */
2521
/* IDL: ); */
2522
2523
static unsigned
2524
frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_ASYNC_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2525
0
{
2526
0
  di->dcerpc_procedure_name="FRSTRANS_RAW_GET_FILE_DATA_ASYNC";
2527
0
  return offset;
2528
0
}
2529
2530
static unsigned
2531
frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_ASYNC_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2532
0
{
2533
0
  di->dcerpc_procedure_name="FRSTRANS_RAW_GET_FILE_DATA_ASYNC";
2534
0
  return offset;
2535
0
}
2536
2537
/* IDL: void FRSTRANS_RDC_GET_FILE_DATA_ASYNC( */
2538
/* IDL:  */
2539
/* IDL: ); */
2540
2541
static unsigned
2542
frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_ASYNC_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2543
0
{
2544
0
  di->dcerpc_procedure_name="FRSTRANS_RDC_GET_FILE_DATA_ASYNC";
2545
0
  return offset;
2546
0
}
2547
2548
static unsigned
2549
frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_ASYNC_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2550
0
{
2551
0
  di->dcerpc_procedure_name="FRSTRANS_RDC_GET_FILE_DATA_ASYNC";
2552
0
  return offset;
2553
0
}
2554
2555
2556
static const dcerpc_sub_dissector frstrans_dissectors[] = {
2557
  { 0, "CheckConnectivity",
2558
     frstrans_dissect_CheckConnectivity_request, frstrans_dissect_CheckConnectivity_response},
2559
  { 1, "EstablishConnection",
2560
     frstrans_dissect_EstablishConnection_request, frstrans_dissect_EstablishConnection_response},
2561
  { 2, "EstablishSession",
2562
     frstrans_dissect_EstablishSession_request, frstrans_dissect_EstablishSession_response},
2563
  { 3, "RequestUpdates",
2564
     frstrans_dissect_RequestUpdates_request, frstrans_dissect_RequestUpdates_response},
2565
  { 4, "RequestVersionVector",
2566
     frstrans_dissect_RequestVersionVector_request, frstrans_dissect_RequestVersionVector_response},
2567
  { 5, "AsyncPoll",
2568
     frstrans_dissect_AsyncPoll_request, frstrans_dissect_AsyncPoll_response},
2569
  { 6, "FRSTRANS_REQUEST_RECORDS",
2570
     frstrans_dissect_FRSTRANS_REQUEST_RECORDS_request, frstrans_dissect_FRSTRANS_REQUEST_RECORDS_response},
2571
  { 7, "FRSTRANS_UPDATE_CANCEL",
2572
     frstrans_dissect_FRSTRANS_UPDATE_CANCEL_request, frstrans_dissect_FRSTRANS_UPDATE_CANCEL_response},
2573
  { 8, "FRSTRANS_RAW_GET_FILE_DATA",
2574
     frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_request, frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_response},
2575
  { 9, "FRSTRANS_RDC_GET_SIGNATURES",
2576
     frstrans_dissect_FRSTRANS_RDC_GET_SIGNATURES_request, frstrans_dissect_FRSTRANS_RDC_GET_SIGNATURES_response},
2577
  { 10, "FRSTRANS_RDC_PUSH_SOURCE_NEEDS",
2578
     frstrans_dissect_FRSTRANS_RDC_PUSH_SOURCE_NEEDS_request, frstrans_dissect_FRSTRANS_RDC_PUSH_SOURCE_NEEDS_response},
2579
  { 11, "FRSTRANS_RDC_GET_FILE_DATA",
2580
     frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_request, frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_response},
2581
  { 12, "FRSTRANS_RDC_CLOSE",
2582
     frstrans_dissect_FRSTRANS_RDC_CLOSE_request, frstrans_dissect_FRSTRANS_RDC_CLOSE_response},
2583
  { 13, "InitializeFileTransferAsync",
2584
     frstrans_dissect_InitializeFileTransferAsync_request, frstrans_dissect_InitializeFileTransferAsync_response},
2585
  { 14, "FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE",
2586
     frstrans_dissect_FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE_request, frstrans_dissect_FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE_response},
2587
  { 15, "FRSTRANS_RAW_GET_FILE_DATA_ASYNC",
2588
     frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_ASYNC_request, frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_ASYNC_response},
2589
  { 16, "FRSTRANS_RDC_GET_FILE_DATA_ASYNC",
2590
     frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_ASYNC_request, frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_ASYNC_response},
2591
  { 0, NULL, NULL, NULL }
2592
};
2593
2594
void proto_register_dcerpc_frstrans(void)
2595
16
{
2596
16
  static hf_register_info hf[] = {
2597
16
  { &hf_frstrans_frstrans_AsyncPoll_connection_guid,
2598
16
    { "Connection Guid", "frstrans.frstrans_AsyncPoll.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2599
16
  { &hf_frstrans_frstrans_AsyncPoll_response,
2600
16
    { "Response", "frstrans.frstrans_AsyncPoll.response", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2601
16
  { &hf_frstrans_frstrans_AsyncResponseContext_response,
2602
16
    { "Response", "frstrans.frstrans_AsyncResponseContext.response", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2603
16
  { &hf_frstrans_frstrans_AsyncResponseContext_sequence_number,
2604
16
    { "Sequence Number", "frstrans.frstrans_AsyncResponseContext.sequence_number", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2605
16
  { &hf_frstrans_frstrans_AsyncResponseContext_status,
2606
16
    { "Status", "frstrans.frstrans_AsyncResponseContext.status", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &WERR_errors_ext, 0, NULL, HFILL }},
2607
16
  { &hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector,
2608
16
    { "Epoque Vector", "frstrans.frstrans_AsyncVersionVectorResponse.epoque_vector", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2609
16
  { &hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector_count,
2610
16
    { "Epoque Vector Count", "frstrans.frstrans_AsyncVersionVectorResponse.epoque_vector_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2611
16
  { &hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector,
2612
16
    { "Version Vector", "frstrans.frstrans_AsyncVersionVectorResponse.version_vector", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2613
16
  { &hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector_count,
2614
16
    { "Version Vector Count", "frstrans.frstrans_AsyncVersionVectorResponse.version_vector_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2615
16
  { &hf_frstrans_frstrans_AsyncVersionVectorResponse_vv_generation,
2616
16
    { "Vv Generation", "frstrans.frstrans_AsyncVersionVectorResponse.vv_generation", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2617
16
  { &hf_frstrans_frstrans_CheckConnectivity_connection_guid,
2618
16
    { "Connection Guid", "frstrans.frstrans_CheckConnectivity.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2619
16
  { &hf_frstrans_frstrans_CheckConnectivity_replica_set_guid,
2620
16
    { "Replica Set Guid", "frstrans.frstrans_CheckConnectivity.replica_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2621
16
  { &hf_frstrans_frstrans_EpoqueVector_day,
2622
16
    { "Day", "frstrans.frstrans_EpoqueVector.day", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2623
16
  { &hf_frstrans_frstrans_EpoqueVector_day_of_week,
2624
16
    { "Day Of Week", "frstrans.frstrans_EpoqueVector.day_of_week", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2625
16
  { &hf_frstrans_frstrans_EpoqueVector_hour,
2626
16
    { "Hour", "frstrans.frstrans_EpoqueVector.hour", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2627
16
  { &hf_frstrans_frstrans_EpoqueVector_machine_guid,
2628
16
    { "Machine Guid", "frstrans.frstrans_EpoqueVector.machine_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2629
16
  { &hf_frstrans_frstrans_EpoqueVector_milli_seconds,
2630
16
    { "Milli Seconds", "frstrans.frstrans_EpoqueVector.milli_seconds", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2631
16
  { &hf_frstrans_frstrans_EpoqueVector_minute,
2632
16
    { "Minute", "frstrans.frstrans_EpoqueVector.minute", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2633
16
  { &hf_frstrans_frstrans_EpoqueVector_month,
2634
16
    { "Month", "frstrans.frstrans_EpoqueVector.month", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2635
16
  { &hf_frstrans_frstrans_EpoqueVector_second,
2636
16
    { "Second", "frstrans.frstrans_EpoqueVector.second", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2637
16
  { &hf_frstrans_frstrans_EpoqueVector_year,
2638
16
    { "Year", "frstrans.frstrans_EpoqueVector.year", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2639
16
  { &hf_frstrans_frstrans_EstablishConnection_connection_guid,
2640
16
    { "Connection Guid", "frstrans.frstrans_EstablishConnection.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2641
16
  { &hf_frstrans_frstrans_EstablishConnection_downstream_flags,
2642
16
    { "Downstream Flags", "frstrans.frstrans_EstablishConnection.downstream_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
2643
16
  { &hf_frstrans_frstrans_EstablishConnection_downstream_protocol_version,
2644
16
    { "Downstream Protocol Version", "frstrans.frstrans_EstablishConnection.downstream_protocol_version", FT_UINT32, BASE_HEX, VALS(frstrans_frstrans_ProtocolVersion_vals), 0, NULL, HFILL }},
2645
16
  { &hf_frstrans_frstrans_EstablishConnection_replica_set_guid,
2646
16
    { "Replica Set Guid", "frstrans.frstrans_EstablishConnection.replica_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2647
16
  { &hf_frstrans_frstrans_EstablishConnection_upstream_flags,
2648
16
    { "Upstream Flags", "frstrans.frstrans_EstablishConnection.upstream_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
2649
16
  { &hf_frstrans_frstrans_EstablishConnection_upstream_protocol_version,
2650
16
    { "Upstream Protocol Version", "frstrans.frstrans_EstablishConnection.upstream_protocol_version", FT_UINT32, BASE_HEX, VALS(frstrans_frstrans_ProtocolVersion_vals), 0, NULL, HFILL }},
2651
16
  { &hf_frstrans_frstrans_EstablishSession_connection_guid,
2652
16
    { "Connection Guid", "frstrans.frstrans_EstablishSession.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2653
16
  { &hf_frstrans_frstrans_EstablishSession_content_set_guid,
2654
16
    { "Content Set Guid", "frstrans.frstrans_EstablishSession.content_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2655
16
  { &hf_frstrans_frstrans_InitializeFileTransferAsync_buffer_size,
2656
16
    { "Buffer Size", "frstrans.frstrans_InitializeFileTransferAsync.buffer_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2657
16
  { &hf_frstrans_frstrans_InitializeFileTransferAsync_connection_guid,
2658
16
    { "Connection Guid", "frstrans.frstrans_InitializeFileTransferAsync.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2659
16
  { &hf_frstrans_frstrans_InitializeFileTransferAsync_data_buffer,
2660
16
    { "Data Buffer", "frstrans.frstrans_InitializeFileTransferAsync.data_buffer", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2661
16
  { &hf_frstrans_frstrans_InitializeFileTransferAsync_frs_update,
2662
16
    { "Frs Update", "frstrans.frstrans_InitializeFileTransferAsync.frs_update", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2663
16
  { &hf_frstrans_frstrans_InitializeFileTransferAsync_is_end_of_file,
2664
16
    { "Is End Of File", "frstrans.frstrans_InitializeFileTransferAsync.is_end_of_file", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2665
16
  { &hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_desired,
2666
16
    { "Rdc Desired", "frstrans.frstrans_InitializeFileTransferAsync.rdc_desired", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2667
16
  { &hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_file_info,
2668
16
    { "Rdc File Info", "frstrans.frstrans_InitializeFileTransferAsync.rdc_file_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2669
16
  { &hf_frstrans_frstrans_InitializeFileTransferAsync_server_context,
2670
16
    { "Server Context", "frstrans.frstrans_InitializeFileTransferAsync.server_context", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
2671
16
  { &hf_frstrans_frstrans_InitializeFileTransferAsync_size_read,
2672
16
    { "Size Read", "frstrans.frstrans_InitializeFileTransferAsync.size_read", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2673
16
  { &hf_frstrans_frstrans_InitializeFileTransferAsync_staging_policy,
2674
16
    { "Staging Policy", "frstrans.frstrans_InitializeFileTransferAsync.staging_policy", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_RequestedStagingPolicy_vals), 0, NULL, HFILL }},
2675
16
  { &hf_frstrans_frstrans_RdcFileInfo_compression_algorithm,
2676
16
    { "Compression Algorithm", "frstrans.frstrans_RdcFileInfo.compression_algorithm", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_RdcCompressionAlgorithm_vals), 0, NULL, HFILL }},
2677
16
  { &hf_frstrans_frstrans_RdcFileInfo_file_size_estimate,
2678
16
    { "File Size Estimate", "frstrans.frstrans_RdcFileInfo.file_size_estimate", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2679
16
  { &hf_frstrans_frstrans_RdcFileInfo_on_disk_file_size,
2680
16
    { "On Disk File Size", "frstrans.frstrans_RdcFileInfo.on_disk_file_size", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2681
16
  { &hf_frstrans_frstrans_RdcFileInfo_rdc_filter_parameters,
2682
16
    { "Rdc Filter Parameters", "frstrans.frstrans_RdcFileInfo.rdc_filter_parameters", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2683
16
  { &hf_frstrans_frstrans_RdcFileInfo_rdc_minimum_compatible_version,
2684
16
    { "Rdc Minimum Compatible Version", "frstrans.frstrans_RdcFileInfo.rdc_minimum_compatible_version", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_RdcVersionCompatible_vals), 0, NULL, HFILL }},
2685
16
  { &hf_frstrans_frstrans_RdcFileInfo_rdc_signature_levels,
2686
16
    { "Rdc Signature Levels", "frstrans.frstrans_RdcFileInfo.rdc_signature_levels", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2687
16
  { &hf_frstrans_frstrans_RdcFileInfo_rdc_version,
2688
16
    { "Rdc Version", "frstrans.frstrans_RdcFileInfo.rdc_version", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_RdcVersion_vals), 0, NULL, HFILL }},
2689
16
  { &hf_frstrans_frstrans_RdcParameterFilterMax_max_window_size,
2690
16
    { "Max Window Size", "frstrans.frstrans_RdcParameterFilterMax.max_window_size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2691
16
  { &hf_frstrans_frstrans_RdcParameterFilterMax_min_horizon_size,
2692
16
    { "Min Horizon Size", "frstrans.frstrans_RdcParameterFilterMax.min_horizon_size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2693
16
  { &hf_frstrans_frstrans_RdcParameterFilterPoint_max_chunk_size,
2694
16
    { "Max Chunk Size", "frstrans.frstrans_RdcParameterFilterPoint.max_chunk_size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2695
16
  { &hf_frstrans_frstrans_RdcParameterFilterPoint_min_chunk_size,
2696
16
    { "Min Chunk Size", "frstrans.frstrans_RdcParameterFilterPoint.min_chunk_size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2697
16
  { &hf_frstrans_frstrans_RdcParameterGeneric_chunker_parameters,
2698
16
    { "Chunker Parameters", "frstrans.frstrans_RdcParameterGeneric.chunker_parameters", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2699
16
  { &hf_frstrans_frstrans_RdcParameterGeneric_chunker_type,
2700
16
    { "Chunker Type", "frstrans.frstrans_RdcParameterGeneric.chunker_type", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_RdcChunckerAlgorithm_vals), 0, NULL, HFILL }},
2701
16
  { &hf_frstrans_frstrans_RdcParameterUnion_filter_generic,
2702
16
    { "Filter Generic", "frstrans.frstrans_RdcParameterUnion.filter_generic", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2703
16
  { &hf_frstrans_frstrans_RdcParameterUnion_filter_max,
2704
16
    { "Filter Max", "frstrans.frstrans_RdcParameterUnion.filter_max", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2705
16
  { &hf_frstrans_frstrans_RdcParameterUnion_filter_point,
2706
16
    { "Filter Point", "frstrans.frstrans_RdcParameterUnion.filter_point", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2707
16
  { &hf_frstrans_frstrans_RdcParameters_rdc_chunker_algorithm,
2708
16
    { "Rdc Chunker Algorithm", "frstrans.frstrans_RdcParameters.rdc_chunker_algorithm", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_RdcChunckerAlgorithm_vals), 0, NULL, HFILL }},
2709
16
  { &hf_frstrans_frstrans_RdcParameters_u,
2710
16
    { "U", "frstrans.frstrans_RdcParameters.u", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2711
16
  { &hf_frstrans_frstrans_RequestUpdates_connection_guid,
2712
16
    { "Connection Guid", "frstrans.frstrans_RequestUpdates.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2713
16
  { &hf_frstrans_frstrans_RequestUpdates_content_set_guid,
2714
16
    { "Content Set Guid", "frstrans.frstrans_RequestUpdates.content_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2715
16
  { &hf_frstrans_frstrans_RequestUpdates_credits_available,
2716
16
    { "Credits Available", "frstrans.frstrans_RequestUpdates.credits_available", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2717
16
  { &hf_frstrans_frstrans_RequestUpdates_frs_update,
2718
16
    { "Frs Update", "frstrans.frstrans_RequestUpdates.frs_update", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2719
16
  { &hf_frstrans_frstrans_RequestUpdates_gvsn_db_guid,
2720
16
    { "Gvsn Db Guid", "frstrans.frstrans_RequestUpdates.gvsn_db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2721
16
  { &hf_frstrans_frstrans_RequestUpdates_gvsn_version,
2722
16
    { "Gvsn Version", "frstrans.frstrans_RequestUpdates.gvsn_version", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2723
16
  { &hf_frstrans_frstrans_RequestUpdates_hash_requested,
2724
16
    { "Hash Requested", "frstrans.frstrans_RequestUpdates.hash_requested", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2725
16
  { &hf_frstrans_frstrans_RequestUpdates_update_count,
2726
16
    { "Update Count", "frstrans.frstrans_RequestUpdates.update_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2727
16
  { &hf_frstrans_frstrans_RequestUpdates_update_request_type,
2728
16
    { "Update Request Type", "frstrans.frstrans_RequestUpdates.update_request_type", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_UpdateRequestType_vals), 0, NULL, HFILL }},
2729
16
  { &hf_frstrans_frstrans_RequestUpdates_update_status,
2730
16
    { "Update Status", "frstrans.frstrans_RequestUpdates.update_status", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_UpdateStatus_vals), 0, NULL, HFILL }},
2731
16
  { &hf_frstrans_frstrans_RequestUpdates_version_vector_diff,
2732
16
    { "Version Vector Diff", "frstrans.frstrans_RequestUpdates.version_vector_diff", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2733
16
  { &hf_frstrans_frstrans_RequestUpdates_version_vector_diff_count,
2734
16
    { "Version Vector Diff Count", "frstrans.frstrans_RequestUpdates.version_vector_diff_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2735
16
  { &hf_frstrans_frstrans_RequestVersionVector_change_type,
2736
16
    { "Change Type", "frstrans.frstrans_RequestVersionVector.change_type", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_VersionChangeType_vals), 0, NULL, HFILL }},
2737
16
  { &hf_frstrans_frstrans_RequestVersionVector_connection_guid,
2738
16
    { "Connection Guid", "frstrans.frstrans_RequestVersionVector.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2739
16
  { &hf_frstrans_frstrans_RequestVersionVector_content_set_guid,
2740
16
    { "Content Set Guid", "frstrans.frstrans_RequestVersionVector.content_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2741
16
  { &hf_frstrans_frstrans_RequestVersionVector_request_type,
2742
16
    { "Request Type", "frstrans.frstrans_RequestVersionVector.request_type", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_VersionRequestType_vals), 0, NULL, HFILL }},
2743
16
  { &hf_frstrans_frstrans_RequestVersionVector_sequence_number,
2744
16
    { "Sequence Number", "frstrans.frstrans_RequestVersionVector.sequence_number", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2745
16
  { &hf_frstrans_frstrans_RequestVersionVector_vv_generation,
2746
16
    { "Vv Generation", "frstrans.frstrans_RequestVersionVector.vv_generation", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2747
16
  { &hf_frstrans_frstrans_TransportFlags_FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY,
2748
16
    { "FRSTRANS TRANSPORT SUPPORTS RDC SIMILARITY", "frstrans.frstrans_TransportFlags.FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY", FT_BOOLEAN, 32, TFS(&frstrans_TransportFlags_FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY_tfs), ( 0x00000001 ), NULL, HFILL }},
2749
16
  { &hf_frstrans_frstrans_Update_attributes,
2750
16
    { "Attributes", "frstrans.frstrans_Update.attributes", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2751
16
  { &hf_frstrans_frstrans_Update_clock,
2752
16
    { "Clock", "frstrans.frstrans_Update.clock", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
2753
16
  { &hf_frstrans_frstrans_Update_content_set_guid,
2754
16
    { "Content Set Guid", "frstrans.frstrans_Update.content_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2755
16
  { &hf_frstrans_frstrans_Update_create_time,
2756
16
    { "Create Time", "frstrans.frstrans_Update.create_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
2757
16
  { &hf_frstrans_frstrans_Update_fence,
2758
16
    { "Fence", "frstrans.frstrans_Update.fence", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
2759
16
  { &hf_frstrans_frstrans_Update_flags,
2760
16
    { "Flags", "frstrans.frstrans_Update.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2761
16
  { &hf_frstrans_frstrans_Update_gsvn_db_guid,
2762
16
    { "Gsvn Db Guid", "frstrans.frstrans_Update.gsvn_db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2763
16
  { &hf_frstrans_frstrans_Update_gsvn_version,
2764
16
    { "Gsvn Version", "frstrans.frstrans_Update.gsvn_version", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2765
16
  { &hf_frstrans_frstrans_Update_name,
2766
16
    { "Name", "frstrans.frstrans_Update.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2767
16
  { &hf_frstrans_frstrans_Update_name_conflict,
2768
16
    { "Name Conflict", "frstrans.frstrans_Update.name_conflict", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2769
16
  { &hf_frstrans_frstrans_Update_parent_db_guid,
2770
16
    { "Parent Db Guid", "frstrans.frstrans_Update.parent_db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2771
16
  { &hf_frstrans_frstrans_Update_parent_version,
2772
16
    { "Parent Version", "frstrans.frstrans_Update.parent_version", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2773
16
  { &hf_frstrans_frstrans_Update_present,
2774
16
    { "Present", "frstrans.frstrans_Update.present", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2775
16
  { &hf_frstrans_frstrans_Update_rdc_similarity,
2776
16
    { "Rdc Similarity", "frstrans.frstrans_Update.rdc_similarity", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2777
16
  { &hf_frstrans_frstrans_Update_sha1_hash,
2778
16
    { "Sha1 Hash", "frstrans.frstrans_Update.sha1_hash", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2779
16
  { &hf_frstrans_frstrans_Update_uid_db_guid,
2780
16
    { "Uid Db Guid", "frstrans.frstrans_Update.uid_db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2781
16
  { &hf_frstrans_frstrans_Update_uid_version,
2782
16
    { "Uid Version", "frstrans.frstrans_Update.uid_version", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2783
16
  { &hf_frstrans_frstrans_VersionVector_db_guid,
2784
16
    { "Db Guid", "frstrans.frstrans_VersionVector.db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2785
16
  { &hf_frstrans_frstrans_VersionVector_high,
2786
16
    { "High", "frstrans.frstrans_VersionVector.high", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2787
16
  { &hf_frstrans_frstrans_VersionVector_low,
2788
16
    { "Low", "frstrans.frstrans_VersionVector.low", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2789
16
  { &hf_frstrans_opnum,
2790
16
    { "Operation", "frstrans.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2791
16
  { &hf_frstrans_werror,
2792
16
    { "Windows Error", "frstrans.werror", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &WERR_errors_ext, 0, NULL, HFILL }},
2793
16
  };
2794
2795
2796
16
  static int *ett[] = {
2797
16
    &ett_dcerpc_frstrans,
2798
16
    &ett_frstrans_frstrans_TransportFlags,
2799
16
    &ett_frstrans_frstrans_VersionVector,
2800
16
    &ett_frstrans_frstrans_Update,
2801
16
    &ett_frstrans_frstrans_EpoqueVector,
2802
16
    &ett_frstrans_frstrans_AsyncVersionVectorResponse,
2803
16
    &ett_frstrans_frstrans_AsyncResponseContext,
2804
16
    &ett_frstrans_frstrans_RdcParameterGeneric,
2805
16
    &ett_frstrans_frstrans_RdcParameterFilterMax,
2806
16
    &ett_frstrans_frstrans_RdcParameterFilterPoint,
2807
16
    &ett_frstrans_frstrans_RdcParameterUnion,
2808
16
    &ett_frstrans_frstrans_RdcParameters,
2809
16
    &ett_frstrans_frstrans_RdcFileInfo,
2810
16
  };
2811
2812
16
  proto_dcerpc_frstrans = proto_register_protocol("File Replication Service DFS-R", "FRSTRANS", "frstrans");
2813
16
  proto_register_field_array(proto_dcerpc_frstrans, hf, array_length (hf));
2814
16
  proto_register_subtree_array(ett, array_length(ett));
2815
16
}
2816
2817
void proto_reg_handoff_dcerpc_frstrans(void)
2818
16
{
2819
16
  dcerpc_init_uuid(proto_dcerpc_frstrans, ett_dcerpc_frstrans,
2820
16
    &uuid_dcerpc_frstrans, ver_dcerpc_frstrans,
2821
16
    frstrans_dissectors, hf_frstrans_opnum);
2822
16
}