Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / packet-dcerpc-frstrans.c
blobc12ed44b62df2e3c2385c0cdce79e2b5ca2468f1
1 /* DO NOT EDIT
2 This file was automatically generated by Pidl
3 from frstrans.idl and frstrans.cnf.
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 */
12 #include "config.h"
13 #include <string.h>
14 #include <wsutil/array.h>
15 #include <epan/packet.h>
16 #include <epan/tfs.h>
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);
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;
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;
141 static int proto_dcerpc_frstrans;
142 /* Version information */
145 static e_guid_t uuid_dcerpc_frstrans = {
146 0x897e2e5f, 0x93f3, 0x4376,
147 { 0x9c, 0x9c, 0xfd, 0x22, 0x77, 0x49, 0x5c, 0x27 }
149 static uint16_t ver_dcerpc_frstrans = 1;
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 }
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",
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 }
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 }
171 static int frstrans_dissect_element_VersionVector_db_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
172 static int frstrans_dissect_element_VersionVector_low(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
173 static int frstrans_dissect_element_VersionVector_high(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
174 static int frstrans_dissect_element_Update_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
175 static int frstrans_dissect_element_Update_name_conflict(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
176 static int frstrans_dissect_element_Update_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
177 static int frstrans_dissect_element_Update_fence(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
178 static int frstrans_dissect_element_Update_clock(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
179 static int frstrans_dissect_element_Update_create_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
180 static int frstrans_dissect_element_Update_content_set_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
181 static int frstrans_dissect_element_Update_sha1_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
182 static int frstrans_dissect_element_Update_sha1_hash_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
183 static int frstrans_dissect_element_Update_rdc_similarity(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
184 static int frstrans_dissect_element_Update_rdc_similarity_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
185 static int frstrans_dissect_element_Update_uid_db_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
186 static int frstrans_dissect_element_Update_uid_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
187 static int frstrans_dissect_element_Update_gsvn_db_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
188 static int frstrans_dissect_element_Update_gsvn_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
189 static int frstrans_dissect_element_Update_parent_db_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
190 static int frstrans_dissect_element_Update_parent_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
191 static int frstrans_dissect_element_Update_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
192 static int frstrans_dissect_element_Update_flags(tvbuff_t *tvb _U_, int 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 }
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 }
204 static int frstrans_dissect_element_EpoqueVector_machine_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
205 static int frstrans_dissect_element_EpoqueVector_year(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
206 static int frstrans_dissect_element_EpoqueVector_month(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
207 static int frstrans_dissect_element_EpoqueVector_day_of_week(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
208 static int frstrans_dissect_element_EpoqueVector_day(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
209 static int frstrans_dissect_element_EpoqueVector_hour(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
210 static int frstrans_dissect_element_EpoqueVector_minute(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
211 static int frstrans_dissect_element_EpoqueVector_second(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
212 static int frstrans_dissect_element_EpoqueVector_milli_seconds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
213 static int frstrans_dissect_element_AsyncVersionVectorResponse_vv_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
214 static int frstrans_dissect_element_AsyncVersionVectorResponse_version_vector_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
215 static int frstrans_dissect_element_AsyncVersionVectorResponse_version_vector(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
216 static int frstrans_dissect_element_AsyncVersionVectorResponse_version_vector_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
217 static int frstrans_dissect_element_AsyncVersionVectorResponse_version_vector__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
218 static int frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
219 static int frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
220 static int frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
221 static int frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
222 static int frstrans_dissect_element_AsyncResponseContext_sequence_number(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
223 static int frstrans_dissect_element_AsyncResponseContext_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
224 static int frstrans_dissect_element_AsyncResponseContext_response(tvbuff_t *tvb _U_, int 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 }
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 }
238 static int frstrans_dissect_element_RdcParameterGeneric_chunker_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
239 static int frstrans_dissect_element_RdcParameterGeneric_chunker_parameters(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
240 static int frstrans_dissect_element_RdcParameterGeneric_chunker_parameters_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
241 static int frstrans_dissect_element_RdcParameterFilterMax_min_horizon_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
242 static int frstrans_dissect_element_RdcParameterFilterMax_max_window_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
243 static int frstrans_dissect_element_RdcParameterFilterPoint_min_chunk_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
244 static int frstrans_dissect_element_RdcParameterFilterPoint_max_chunk_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
245 static int frstrans_dissect_element_RdcParameterUnion_filter_generic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
246 static int frstrans_dissect_element_RdcParameterUnion_filter_max(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
247 static int frstrans_dissect_element_RdcParameterUnion_filter_point(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
248 static int frstrans_dissect_element_RdcParameters_rdc_chunker_algorithm(tvbuff_t *tvb _U_, int 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 int frstrans_dissect_element_RdcParameters_u(tvbuff_t *tvb _U_, int 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 }
254 const value_string frstrans_frstrans_RdcVersionCompatible_vals[] = {
255 { FRSTRANS_RDC_VERSION_COMPATIBLE, "FRSTRANS_RDC_VERSION_COMPATIBLE" },
256 { 0, NULL }
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 }
263 static int frstrans_dissect_element_RdcFileInfo_on_disk_file_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
264 static int frstrans_dissect_element_RdcFileInfo_file_size_estimate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
265 static int frstrans_dissect_element_RdcFileInfo_rdc_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
266 static int frstrans_dissect_element_RdcFileInfo_rdc_minimum_compatible_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
267 static int frstrans_dissect_element_RdcFileInfo_rdc_signature_levels(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
268 static int frstrans_dissect_element_RdcFileInfo_compression_algorithm(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
269 static int frstrans_dissect_element_RdcFileInfo_rdc_filter_parameters(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, struct ndr_generic_array *nga);
270 static int frstrans_dissect_element_RdcFileInfo_rdc_filter_parameters_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
271 static int frstrans_dissect_conformant_RdcFileInfo_rdc_filter_parameters(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, struct ndr_generic_array *nga);
272 static int frstrans_dissect_element_CheckConnectivity_replica_set_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
273 static int frstrans_dissect_element_CheckConnectivity_connection_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
274 static int frstrans_dissect_element_EstablishConnection_replica_set_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
275 static int frstrans_dissect_element_EstablishConnection_connection_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
276 static int frstrans_dissect_element_EstablishConnection_downstream_protocol_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
277 static int frstrans_dissect_element_EstablishConnection_downstream_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
278 static int frstrans_dissect_element_EstablishConnection_upstream_protocol_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
279 static int frstrans_dissect_element_EstablishConnection_upstream_protocol_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
280 static int frstrans_dissect_element_EstablishConnection_upstream_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
281 static int frstrans_dissect_element_EstablishConnection_upstream_flags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
282 static int frstrans_dissect_element_EstablishSession_connection_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
283 static int frstrans_dissect_element_EstablishSession_content_set_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
284 static int frstrans_dissect_element_RequestUpdates_connection_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
285 static int frstrans_dissect_element_RequestUpdates_content_set_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
286 static int frstrans_dissect_element_RequestUpdates_credits_available(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
287 static int frstrans_dissect_element_RequestUpdates_hash_requested(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
288 static int frstrans_dissect_element_RequestUpdates_update_request_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
289 static int frstrans_dissect_element_RequestUpdates_version_vector_diff_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
290 static int frstrans_dissect_element_RequestUpdates_version_vector_diff(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
291 static int frstrans_dissect_element_RequestUpdates_version_vector_diff_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
292 static int frstrans_dissect_element_RequestUpdates_version_vector_diff__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
293 static int frstrans_dissect_element_RequestUpdates_frs_update(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
294 static int frstrans_dissect_element_RequestUpdates_frs_update_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
295 static int frstrans_dissect_element_RequestUpdates_frs_update__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
296 static int frstrans_dissect_element_RequestUpdates_update_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
297 static int frstrans_dissect_element_RequestUpdates_update_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
298 static int frstrans_dissect_element_RequestUpdates_update_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
299 static int frstrans_dissect_element_RequestUpdates_update_status_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
300 static int frstrans_dissect_element_RequestUpdates_gvsn_db_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
301 static int frstrans_dissect_element_RequestUpdates_gvsn_db_guid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
302 static int frstrans_dissect_element_RequestUpdates_gvsn_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
303 static int frstrans_dissect_element_RequestUpdates_gvsn_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
304 static int frstrans_dissect_element_RequestVersionVector_sequence_number(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
305 static int frstrans_dissect_element_RequestVersionVector_connection_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
306 static int frstrans_dissect_element_RequestVersionVector_content_set_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
307 static int frstrans_dissect_element_RequestVersionVector_request_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
308 static int frstrans_dissect_element_RequestVersionVector_change_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
309 static int frstrans_dissect_element_RequestVersionVector_vv_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
310 static int frstrans_dissect_element_AsyncPoll_connection_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
311 static int frstrans_dissect_element_AsyncPoll_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
312 static int frstrans_dissect_element_AsyncPoll_response_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
313 static int frstrans_dissect_element_InitializeFileTransferAsync_connection_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
314 static int frstrans_dissect_element_InitializeFileTransferAsync_frs_update(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
315 static int frstrans_dissect_element_InitializeFileTransferAsync_frs_update_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
316 static int frstrans_dissect_element_InitializeFileTransferAsync_rdc_desired(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
317 static int frstrans_dissect_element_InitializeFileTransferAsync_staging_policy(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
318 static int frstrans_dissect_element_InitializeFileTransferAsync_staging_policy_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
319 static int frstrans_dissect_element_InitializeFileTransferAsync_server_context(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
320 static int frstrans_dissect_element_InitializeFileTransferAsync_server_context_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
321 static int frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
322 static int frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
323 static int frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
324 static int frstrans_dissect_element_InitializeFileTransferAsync_data_buffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
325 static int frstrans_dissect_element_InitializeFileTransferAsync_data_buffer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
326 static int frstrans_dissect_element_InitializeFileTransferAsync_data_buffer__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
327 static int frstrans_dissect_element_InitializeFileTransferAsync_buffer_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
328 static int frstrans_dissect_element_InitializeFileTransferAsync_size_read(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
329 static int frstrans_dissect_element_InitializeFileTransferAsync_size_read_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
330 static int frstrans_dissect_element_InitializeFileTransferAsync_is_end_of_file(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
331 static int frstrans_dissect_element_InitializeFileTransferAsync_is_end_of_file_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
334 /* IDL: enum { */
335 /* IDL: FRSTRANS_PROTOCOL_VERSION_W2K3R2=0x00050000, */
336 /* IDL: FRSTRANS_PROTOCOL_VERSION_LONGHORN_SERVER=0x00050002, */
337 /* IDL: } */
340 frstrans_dissect_enum_ProtocolVersion(tvbuff_t *tvb _U_, int 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_)
342 uint32_t parameter=0;
343 if (param) {
344 parameter = *param;
346 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
347 if (param) {
348 *param = parameter;
350 return offset;
354 /* IDL: bitmap { */
355 /* IDL: FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY = 0x00000001 , */
356 /* IDL: } */
359 frstrans_dissect_bitmap_TransportFlags(tvbuff_t *tvb _U_, int 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_)
361 proto_item *item;
362 static int * const frstrans_frstrans_TransportFlags_fields[] = {
363 &hf_frstrans_frstrans_TransportFlags_FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY,
364 NULL
366 uint32_t flags;
367 ALIGN_TO_4_BYTES;
369 item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
370 ett_frstrans_frstrans_TransportFlags, frstrans_frstrans_TransportFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
372 offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
374 if (!flags)
375 proto_item_append_text(item, ": (No values set)");
377 if (flags & (~0x00000001)) {
378 flags &= (~0x00000001);
379 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
382 return offset;
386 /* IDL: enum { */
387 /* IDL: FRSTRANS_UPDATE_REQUEST_ALL=0x0000, */
388 /* IDL: FRSTRANS_UPDATE_REQUEST_TOMBSTONES=0x0001, */
389 /* IDL: FRSTRANS_UPDATE_REQUEST_LIVE=0x0002, */
390 /* IDL: } */
393 frstrans_dissect_enum_UpdateRequestType(tvbuff_t *tvb _U_, int 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_)
395 uint32_t parameter=0;
396 if (param) {
397 parameter = *param;
399 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
400 if (param) {
401 *param = parameter;
403 return offset;
407 /* IDL: enum { */
408 /* IDL: FRSTRANS_UPDATE_STATUS_DONE=0x0002, */
409 /* IDL: FRSTRANS_UPDATE_STATUS_MORE=0x0003, */
410 /* IDL: } */
413 frstrans_dissect_enum_UpdateStatus(tvbuff_t *tvb _U_, int 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_)
415 uint32_t parameter=0;
416 if (param) {
417 parameter = *param;
419 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
420 if (param) {
421 *param = parameter;
423 return offset;
427 /* IDL: struct { */
428 /* IDL: GUID db_guid; */
429 /* IDL: hyper low; */
430 /* IDL: hyper high; */
431 /* IDL: } */
433 static int
434 frstrans_dissect_element_VersionVector_db_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
436 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_VersionVector_db_guid, NULL);
438 return offset;
441 static int
442 frstrans_dissect_element_VersionVector_low(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
444 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_VersionVector_low, NULL);
446 return offset;
449 static int
450 frstrans_dissect_element_VersionVector_high(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
452 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_VersionVector_high, NULL);
454 return offset;
458 frstrans_dissect_struct_VersionVector(tvbuff_t *tvb _U_, int 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_)
460 proto_item *item = NULL;
461 proto_tree *tree = NULL;
462 int old_offset;
464 ALIGN_TO_8_BYTES;
466 old_offset = offset;
468 if (parent_tree) {
469 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
470 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_VersionVector);
473 offset = frstrans_dissect_element_VersionVector_db_guid(tvb, offset, pinfo, tree, di, drep);
475 offset = frstrans_dissect_element_VersionVector_low(tvb, offset, pinfo, tree, di, drep);
477 offset = frstrans_dissect_element_VersionVector_high(tvb, offset, pinfo, tree, di, drep);
480 proto_item_set_len(item, offset-old_offset);
483 if (di->call_data->flags & DCERPC_IS_NDR64) {
484 ALIGN_TO_8_BYTES;
487 return offset;
491 /* IDL: struct { */
492 /* IDL: uint32 present; */
493 /* IDL: uint32 name_conflict; */
494 /* IDL: uint32 attributes; */
495 /* IDL: NTTIME fence; */
496 /* IDL: NTTIME clock; */
497 /* IDL: NTTIME create_time; */
498 /* IDL: GUID content_set_guid; */
499 /* IDL: uint8 sha1_hash[20]; */
500 /* IDL: uint8 rdc_similarity[16]; */
501 /* IDL: GUID uid_db_guid; */
502 /* IDL: hyper uid_version; */
503 /* IDL: GUID gsvn_db_guid; */
504 /* IDL: hyper gsvn_version; */
505 /* IDL: GUID parent_db_guid; */
506 /* IDL: hyper parent_version; */
507 /* IDL: [charset(UTF16)] uint16 name[261]; */
508 /* IDL: uint32 flags; */
509 /* IDL: } */
511 static int
512 frstrans_dissect_element_Update_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
514 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_present, 0);
516 return offset;
519 static int
520 frstrans_dissect_element_Update_name_conflict(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
522 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_name_conflict, 0);
524 return offset;
527 static int
528 frstrans_dissect_element_Update_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
530 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_attributes, 0);
532 return offset;
535 static int
536 frstrans_dissect_element_Update_fence(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
538 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_fence);
540 return offset;
543 static int
544 frstrans_dissect_element_Update_clock(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
546 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_clock);
548 return offset;
551 static int
552 frstrans_dissect_element_Update_create_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
554 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_create_time);
556 return offset;
559 static int
560 frstrans_dissect_element_Update_content_set_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
562 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_content_set_guid, NULL);
564 return offset;
567 static int
568 frstrans_dissect_element_Update_sha1_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
570 int i;
571 for (i = 0; i < 20; i++)
572 offset = frstrans_dissect_element_Update_sha1_hash_(tvb, offset, pinfo, tree, di, drep);
574 return offset;
577 static int
578 frstrans_dissect_element_Update_sha1_hash_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
580 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_sha1_hash, 0);
582 return offset;
585 static int
586 frstrans_dissect_element_Update_rdc_similarity(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
588 int i;
589 for (i = 0; i < 16; i++)
590 offset = frstrans_dissect_element_Update_rdc_similarity_(tvb, offset, pinfo, tree, di, drep);
592 return offset;
595 static int
596 frstrans_dissect_element_Update_rdc_similarity_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
598 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_rdc_similarity, 0);
600 return offset;
603 static int
604 frstrans_dissect_element_Update_uid_db_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
606 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_uid_db_guid, NULL);
608 return offset;
611 static int
612 frstrans_dissect_element_Update_uid_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
614 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_uid_version, NULL);
616 return offset;
619 static int
620 frstrans_dissect_element_Update_gsvn_db_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
622 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_gsvn_db_guid, NULL);
624 return offset;
627 static int
628 frstrans_dissect_element_Update_gsvn_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
630 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_gsvn_version, NULL);
632 return offset;
635 static int
636 frstrans_dissect_element_Update_parent_db_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
638 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_parent_db_guid, NULL);
640 return offset;
643 static int
644 frstrans_dissect_element_Update_parent_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
646 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_parent_version, NULL);
648 return offset;
651 static int
652 frstrans_dissect_element_Update_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
654 char *data = NULL;
655 struct ndr_generic_array nga = { .is_conformant = false, };
657 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
658 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_frstrans_frstrans_Update_name, false, &nga, &data);
659 proto_item_append_text(tree, ": %s", data);
661 return offset;
664 static int
665 frstrans_dissect_element_Update_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
667 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_flags, 0);
669 return offset;
673 frstrans_dissect_struct_Update(tvbuff_t *tvb _U_, int 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_)
675 proto_item *item = NULL;
676 proto_tree *tree = NULL;
677 int old_offset;
679 ALIGN_TO_8_BYTES;
681 old_offset = offset;
683 if (parent_tree) {
684 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
685 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_Update);
688 offset = frstrans_dissect_element_Update_present(tvb, offset, pinfo, tree, di, drep);
690 offset = frstrans_dissect_element_Update_name_conflict(tvb, offset, pinfo, tree, di, drep);
692 offset = frstrans_dissect_element_Update_attributes(tvb, offset, pinfo, tree, di, drep);
694 offset = frstrans_dissect_element_Update_fence(tvb, offset, pinfo, tree, di, drep);
696 offset = frstrans_dissect_element_Update_clock(tvb, offset, pinfo, tree, di, drep);
698 offset = frstrans_dissect_element_Update_create_time(tvb, offset, pinfo, tree, di, drep);
700 offset = frstrans_dissect_element_Update_content_set_guid(tvb, offset, pinfo, tree, di, drep);
702 offset = frstrans_dissect_element_Update_sha1_hash(tvb, offset, pinfo, tree, di, drep);
704 offset = frstrans_dissect_element_Update_rdc_similarity(tvb, offset, pinfo, tree, di, drep);
706 offset = frstrans_dissect_element_Update_uid_db_guid(tvb, offset, pinfo, tree, di, drep);
708 offset = frstrans_dissect_element_Update_uid_version(tvb, offset, pinfo, tree, di, drep);
710 offset = frstrans_dissect_element_Update_gsvn_db_guid(tvb, offset, pinfo, tree, di, drep);
712 offset = frstrans_dissect_element_Update_gsvn_version(tvb, offset, pinfo, tree, di, drep);
714 offset = frstrans_dissect_element_Update_parent_db_guid(tvb, offset, pinfo, tree, di, drep);
716 offset = frstrans_dissect_element_Update_parent_version(tvb, offset, pinfo, tree, di, drep);
718 offset = frstrans_dissect_element_Update_name(tvb, offset, pinfo, tree, di, drep);
720 offset = frstrans_dissect_element_Update_flags(tvb, offset, pinfo, tree, di, drep);
723 proto_item_set_len(item, offset-old_offset);
726 if (di->call_data->flags & DCERPC_IS_NDR64) {
727 ALIGN_TO_8_BYTES;
730 return offset;
734 /* IDL: enum { */
735 /* IDL: FRSTRANS_VERSION_REQUEST_NORMAL_SYNC=0x0000, */
736 /* IDL: FRSTRANS_VERSION_REQUEST_SLOW_SYNC=0x0001, */
737 /* IDL: FRSTRANS_VERSION_REQUEST_SLAVE_SYNC=0x0002, */
738 /* IDL: } */
741 frstrans_dissect_enum_VersionRequestType(tvbuff_t *tvb _U_, int 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_)
743 uint32_t parameter=0;
744 if (param) {
745 parameter = *param;
747 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
748 if (param) {
749 *param = parameter;
751 return offset;
755 /* IDL: enum { */
756 /* IDL: FRSTRANS_VERSION_CHANGE_NOTIFY=0x0000, */
757 /* IDL: FRSTRANS_VERSION_CHANGE_ALL=0x0002, */
758 /* IDL: } */
761 frstrans_dissect_enum_VersionChangeType(tvbuff_t *tvb _U_, int 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_)
763 uint32_t parameter=0;
764 if (param) {
765 parameter = *param;
767 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
768 if (param) {
769 *param = parameter;
771 return offset;
775 /* IDL: struct { */
776 /* IDL: GUID machine_guid; */
777 /* IDL: uint32 year; */
778 /* IDL: uint32 month; */
779 /* IDL: uint32 day_of_week; */
780 /* IDL: uint32 day; */
781 /* IDL: uint32 hour; */
782 /* IDL: uint32 minute; */
783 /* IDL: uint32 second; */
784 /* IDL: uint32 milli_seconds; */
785 /* IDL: } */
787 static int
788 frstrans_dissect_element_EpoqueVector_machine_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
790 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_machine_guid, NULL);
792 return offset;
795 static int
796 frstrans_dissect_element_EpoqueVector_year(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
798 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_year, 0);
800 return offset;
803 static int
804 frstrans_dissect_element_EpoqueVector_month(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
806 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_month, 0);
808 return offset;
811 static int
812 frstrans_dissect_element_EpoqueVector_day_of_week(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
814 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_day_of_week, 0);
816 return offset;
819 static int
820 frstrans_dissect_element_EpoqueVector_day(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
822 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_day, 0);
824 return offset;
827 static int
828 frstrans_dissect_element_EpoqueVector_hour(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
830 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_hour, 0);
832 return offset;
835 static int
836 frstrans_dissect_element_EpoqueVector_minute(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
838 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_minute, 0);
840 return offset;
843 static int
844 frstrans_dissect_element_EpoqueVector_second(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
846 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_second, 0);
848 return offset;
851 static int
852 frstrans_dissect_element_EpoqueVector_milli_seconds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
854 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_milli_seconds, 0);
856 return offset;
860 frstrans_dissect_struct_EpoqueVector(tvbuff_t *tvb _U_, int 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_)
862 proto_item *item = NULL;
863 proto_tree *tree = NULL;
864 int old_offset;
866 ALIGN_TO_4_BYTES;
868 old_offset = offset;
870 if (parent_tree) {
871 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
872 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_EpoqueVector);
875 offset = frstrans_dissect_element_EpoqueVector_machine_guid(tvb, offset, pinfo, tree, di, drep);
877 offset = frstrans_dissect_element_EpoqueVector_year(tvb, offset, pinfo, tree, di, drep);
879 offset = frstrans_dissect_element_EpoqueVector_month(tvb, offset, pinfo, tree, di, drep);
881 offset = frstrans_dissect_element_EpoqueVector_day_of_week(tvb, offset, pinfo, tree, di, drep);
883 offset = frstrans_dissect_element_EpoqueVector_day(tvb, offset, pinfo, tree, di, drep);
885 offset = frstrans_dissect_element_EpoqueVector_hour(tvb, offset, pinfo, tree, di, drep);
887 offset = frstrans_dissect_element_EpoqueVector_minute(tvb, offset, pinfo, tree, di, drep);
889 offset = frstrans_dissect_element_EpoqueVector_second(tvb, offset, pinfo, tree, di, drep);
891 offset = frstrans_dissect_element_EpoqueVector_milli_seconds(tvb, offset, pinfo, tree, di, drep);
894 proto_item_set_len(item, offset-old_offset);
897 if (di->call_data->flags & DCERPC_IS_NDR64) {
898 ALIGN_TO_4_BYTES;
901 return offset;
905 /* IDL: struct { */
906 /* IDL: hyper vv_generation; */
907 /* IDL: uint32 version_vector_count; */
908 /* IDL: [size_is(version_vector_count)] [unique(1)] frstrans_VersionVector *version_vector; */
909 /* IDL: uint32 epoque_vector_count; */
910 /* IDL: [size_is(epoque_vector_count)] [unique(1)] frstrans_EpoqueVector *epoque_vector; */
911 /* IDL: } */
913 static int
914 frstrans_dissect_element_AsyncVersionVectorResponse_vv_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
916 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncVersionVectorResponse_vv_generation, NULL);
918 return offset;
921 static int
922 frstrans_dissect_element_AsyncVersionVectorResponse_version_vector_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
924 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector_count, 0);
926 return offset;
929 static int
930 frstrans_dissect_element_AsyncVersionVectorResponse_version_vector(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
932 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);
934 return offset;
937 static int
938 frstrans_dissect_element_AsyncVersionVectorResponse_version_vector_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
940 struct ndr_generic_array nga = { .is_conformant = false, };
942 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
944 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, frstrans_dissect_element_AsyncVersionVectorResponse_version_vector__);
946 return offset;
949 static int
950 frstrans_dissect_element_AsyncVersionVectorResponse_version_vector__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
952 offset = frstrans_dissect_struct_VersionVector(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector,0);
954 return offset;
957 static int
958 frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
960 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector_count, 0);
962 return offset;
965 static int
966 frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
968 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);
970 return offset;
973 static int
974 frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
976 struct ndr_generic_array nga = { .is_conformant = false, };
978 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
980 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector__);
982 return offset;
985 static int
986 frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
988 offset = frstrans_dissect_struct_EpoqueVector(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector,0);
990 return offset;
994 frstrans_dissect_struct_AsyncVersionVectorResponse(tvbuff_t *tvb _U_, int 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_)
996 proto_item *item = NULL;
997 proto_tree *tree = NULL;
998 int old_offset;
1000 ALIGN_TO_8_BYTES;
1002 old_offset = offset;
1004 if (parent_tree) {
1005 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1006 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_AsyncVersionVectorResponse);
1009 offset = frstrans_dissect_element_AsyncVersionVectorResponse_vv_generation(tvb, offset, pinfo, tree, di, drep);
1011 offset = frstrans_dissect_element_AsyncVersionVectorResponse_version_vector_count(tvb, offset, pinfo, tree, di, drep);
1013 offset = frstrans_dissect_element_AsyncVersionVectorResponse_version_vector(tvb, offset, pinfo, tree, di, drep);
1015 offset = frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector_count(tvb, offset, pinfo, tree, di, drep);
1017 offset = frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector(tvb, offset, pinfo, tree, di, drep);
1020 proto_item_set_len(item, offset-old_offset);
1023 if (di->call_data->flags & DCERPC_IS_NDR64) {
1024 ALIGN_TO_8_BYTES;
1027 return offset;
1031 /* IDL: struct { */
1032 /* IDL: uint32 sequence_number; */
1033 /* IDL: WERROR status; */
1034 /* IDL: frstrans_AsyncVersionVectorResponse response; */
1035 /* IDL: } */
1037 static int
1038 frstrans_dissect_element_AsyncResponseContext_sequence_number(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1040 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncResponseContext_sequence_number, 0);
1042 return offset;
1045 static int
1046 frstrans_dissect_element_AsyncResponseContext_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1048 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncResponseContext_status, 0);
1050 return offset;
1053 static int
1054 frstrans_dissect_element_AsyncResponseContext_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1056 offset = frstrans_dissect_struct_AsyncVersionVectorResponse(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_AsyncResponseContext_response,0);
1058 return offset;
1062 frstrans_dissect_struct_AsyncResponseContext(tvbuff_t *tvb _U_, int 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_)
1064 proto_item *item = NULL;
1065 proto_tree *tree = NULL;
1066 int old_offset;
1068 ALIGN_TO_8_BYTES;
1070 old_offset = offset;
1072 if (parent_tree) {
1073 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1074 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_AsyncResponseContext);
1077 offset = frstrans_dissect_element_AsyncResponseContext_sequence_number(tvb, offset, pinfo, tree, di, drep);
1079 offset = frstrans_dissect_element_AsyncResponseContext_status(tvb, offset, pinfo, tree, di, drep);
1081 offset = frstrans_dissect_element_AsyncResponseContext_response(tvb, offset, pinfo, tree, di, drep);
1084 proto_item_set_len(item, offset-old_offset);
1087 if (di->call_data->flags & DCERPC_IS_NDR64) {
1088 ALIGN_TO_8_BYTES;
1091 return offset;
1095 /* IDL: enum { */
1096 /* IDL: FRSTRANS_STAGING_POLICY_SERVER_DEFAULTY=0x0000, */
1097 /* IDL: FRSTRANS_STAGING_POLICY_STATGING_REQUIRED=0x0001, */
1098 /* IDL: FRSTRANS_STAGING_POLICY_RESTATGING_REQUIRED=0x0002, */
1099 /* IDL: } */
1102 frstrans_dissect_enum_RequestedStagingPolicy(tvbuff_t *tvb _U_, int 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_)
1104 uint32_t parameter=0;
1105 if (param) {
1106 parameter = *param;
1108 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1109 if (param) {
1110 *param = parameter;
1112 return offset;
1116 /* IDL: enum { */
1117 /* IDL: FRSTRANS_RDC_FILTER_GENERIC=0x0000, */
1118 /* IDL: FRSTRANS_RDC_FILTER_MAX=0x0001, */
1119 /* IDL: FRSTRANS_RDC_FILTER_POINT=0x0002, */
1120 /* IDL: FRSTRANS_RDC_MAX_ALGORITHM=0x0003, */
1121 /* IDL: } */
1124 frstrans_dissect_enum_RdcChunckerAlgorithm(tvbuff_t *tvb _U_, int 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_)
1126 uint32_t parameter=0;
1127 if (param) {
1128 parameter = *param;
1130 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1131 if (param) {
1132 *param = parameter;
1134 return offset;
1138 /* IDL: struct { */
1139 /* IDL: frstrans_RdcChunckerAlgorithm chunker_type; */
1140 /* IDL: uint8 chunker_parameters[64]; */
1141 /* IDL: } */
1143 static int
1144 frstrans_dissect_element_RdcParameterGeneric_chunker_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1146 offset = frstrans_dissect_enum_RdcChunckerAlgorithm(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterGeneric_chunker_type, 0);
1148 return offset;
1151 static int
1152 frstrans_dissect_element_RdcParameterGeneric_chunker_parameters(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1154 int i;
1155 for (i = 0; i < 64; i++)
1156 offset = frstrans_dissect_element_RdcParameterGeneric_chunker_parameters_(tvb, offset, pinfo, tree, di, drep);
1158 return offset;
1161 static int
1162 frstrans_dissect_element_RdcParameterGeneric_chunker_parameters_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1164 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterGeneric_chunker_parameters, 0);
1166 return offset;
1170 frstrans_dissect_struct_RdcParameterGeneric(tvbuff_t *tvb _U_, int 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_)
1172 proto_item *item = NULL;
1173 proto_tree *tree = NULL;
1174 int old_offset;
1176 ALIGN_TO_3_BYTES;
1178 old_offset = offset;
1180 if (parent_tree) {
1181 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1182 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcParameterGeneric);
1185 offset = frstrans_dissect_element_RdcParameterGeneric_chunker_type(tvb, offset, pinfo, tree, di, drep);
1187 offset = frstrans_dissect_element_RdcParameterGeneric_chunker_parameters(tvb, offset, pinfo, tree, di, drep);
1190 proto_item_set_len(item, offset-old_offset);
1193 if (di->call_data->flags & DCERPC_IS_NDR64) {
1194 ALIGN_TO_3_BYTES;
1197 return offset;
1201 /* IDL: struct { */
1202 /* IDL: [range(128,1024*16)] uint16 min_horizon_size; */
1203 /* IDL: [range(2,96)] uint16 max_window_size; */
1204 /* IDL: } */
1206 static int
1207 frstrans_dissect_element_RdcParameterFilterMax_min_horizon_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1209 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterFilterMax_min_horizon_size, 0);
1211 return offset;
1214 static int
1215 frstrans_dissect_element_RdcParameterFilterMax_max_window_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1217 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterFilterMax_max_window_size, 0);
1219 return offset;
1223 frstrans_dissect_struct_RdcParameterFilterMax(tvbuff_t *tvb _U_, int 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_)
1225 proto_item *item = NULL;
1226 proto_tree *tree = NULL;
1227 int old_offset;
1229 ALIGN_TO_2_BYTES;
1231 old_offset = offset;
1233 if (parent_tree) {
1234 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1235 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcParameterFilterMax);
1238 offset = frstrans_dissect_element_RdcParameterFilterMax_min_horizon_size(tvb, offset, pinfo, tree, di, drep);
1240 offset = frstrans_dissect_element_RdcParameterFilterMax_max_window_size(tvb, offset, pinfo, tree, di, drep);
1243 proto_item_set_len(item, offset-old_offset);
1246 if (di->call_data->flags & DCERPC_IS_NDR64) {
1247 ALIGN_TO_2_BYTES;
1250 return offset;
1254 /* IDL: struct { */
1255 /* IDL: uint16 min_chunk_size; */
1256 /* IDL: uint16 max_chunk_size; */
1257 /* IDL: } */
1259 static int
1260 frstrans_dissect_element_RdcParameterFilterPoint_min_chunk_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1262 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterFilterPoint_min_chunk_size, 0);
1264 return offset;
1267 static int
1268 frstrans_dissect_element_RdcParameterFilterPoint_max_chunk_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1270 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterFilterPoint_max_chunk_size, 0);
1272 return offset;
1276 frstrans_dissect_struct_RdcParameterFilterPoint(tvbuff_t *tvb _U_, int 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_)
1278 proto_item *item = NULL;
1279 proto_tree *tree = NULL;
1280 int old_offset;
1282 ALIGN_TO_2_BYTES;
1284 old_offset = offset;
1286 if (parent_tree) {
1287 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1288 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcParameterFilterPoint);
1291 offset = frstrans_dissect_element_RdcParameterFilterPoint_min_chunk_size(tvb, offset, pinfo, tree, di, drep);
1293 offset = frstrans_dissect_element_RdcParameterFilterPoint_max_chunk_size(tvb, offset, pinfo, tree, di, drep);
1296 proto_item_set_len(item, offset-old_offset);
1299 if (di->call_data->flags & DCERPC_IS_NDR64) {
1300 ALIGN_TO_2_BYTES;
1303 return offset;
1307 /* IDL: [switch_type(frstrans_RdcChunckerAlgorithm)] union { */
1308 /* IDL: [case(FRSTRANS_RDC_FILTER_GENERIC)] [case(FRSTRANS_RDC_FILTER_GENERIC)] frstrans_RdcParameterGeneric filter_generic; */
1309 /* IDL: [case(FRSTRANS_RDC_FILTER_MAX)] [case(FRSTRANS_RDC_FILTER_MAX)] frstrans_RdcParameterFilterMax filter_max; */
1310 /* IDL: [case(FRSTRANS_RDC_FILTER_POINT)] [case(FRSTRANS_RDC_FILTER_POINT)] frstrans_RdcParameterFilterPoint filter_point; */
1311 /* IDL: } */
1313 static int
1314 frstrans_dissect_element_RdcParameterUnion_filter_generic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1316 offset = frstrans_dissect_struct_RdcParameterGeneric(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RdcParameterUnion_filter_generic,0);
1318 return offset;
1321 static int
1322 frstrans_dissect_element_RdcParameterUnion_filter_max(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1324 offset = frstrans_dissect_struct_RdcParameterFilterMax(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RdcParameterUnion_filter_max,0);
1326 return offset;
1329 static int
1330 frstrans_dissect_element_RdcParameterUnion_filter_point(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1332 offset = frstrans_dissect_struct_RdcParameterFilterPoint(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RdcParameterUnion_filter_point,0);
1334 return offset;
1337 static int
1338 frstrans_dissect_RdcParameterUnion(tvbuff_t *tvb _U_, int 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_)
1340 proto_item *item = NULL;
1341 proto_tree *tree = NULL;
1342 int old_offset;
1343 uint32_t level;
1345 old_offset = offset;
1346 if (parent_tree) {
1347 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_frstrans_frstrans_RdcParameterUnion, &item, "frstrans_RdcParameterUnion");
1350 UNION_ALIGN_TO_3_BYTES;
1351 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
1352 UNION_ALIGN_TO_3_BYTES;
1354 switch(level) {
1355 case FRSTRANS_RDC_FILTER_GENERIC:
1356 offset = frstrans_dissect_element_RdcParameterUnion_filter_generic(tvb, offset, pinfo, tree, di, drep);
1357 break;
1359 case FRSTRANS_RDC_FILTER_MAX:
1360 offset = frstrans_dissect_element_RdcParameterUnion_filter_max(tvb, offset, pinfo, tree, di, drep);
1361 break;
1363 case FRSTRANS_RDC_FILTER_POINT:
1364 offset = frstrans_dissect_element_RdcParameterUnion_filter_point(tvb, offset, pinfo, tree, di, drep);
1365 break;
1367 proto_item_set_len(item, offset-old_offset);
1370 return offset;
1373 /* IDL: struct { */
1374 /* IDL: frstrans_RdcChunckerAlgorithm rdc_chunker_algorithm; */
1375 /* IDL: [switch_is(rdc_chunker_algorithm)] frstrans_RdcParameterUnion u; */
1376 /* IDL: } */
1378 static int
1379 frstrans_dissect_element_RdcParameters_rdc_chunker_algorithm(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *rdc_chunker_algorithm)
1381 offset = frstrans_dissect_enum_RdcChunckerAlgorithm(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameters_rdc_chunker_algorithm, rdc_chunker_algorithm);
1383 return offset;
1386 static int
1387 frstrans_dissect_element_RdcParameters_u(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t rdc_chunker_algorithm)
1389 offset = frstrans_dissect_RdcParameterUnion(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameters_u, rdc_chunker_algorithm);
1391 return offset;
1395 frstrans_dissect_struct_RdcParameters(tvbuff_t *tvb _U_, int 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_)
1397 uint32_t rdc_chunker_algorithm = 0;
1398 proto_item *item = NULL;
1399 proto_tree *tree = NULL;
1400 int old_offset;
1402 ALIGN_TO_3_BYTES;
1404 old_offset = offset;
1406 if (parent_tree) {
1407 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1408 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcParameters);
1411 offset = frstrans_dissect_element_RdcParameters_rdc_chunker_algorithm(tvb, offset, pinfo, tree, di, drep, &rdc_chunker_algorithm);
1413 offset = frstrans_dissect_element_RdcParameters_u(tvb, offset, pinfo, tree, di, drep, rdc_chunker_algorithm);
1416 proto_item_set_len(item, offset-old_offset);
1419 if (di->call_data->flags & DCERPC_IS_NDR64) {
1420 ALIGN_TO_3_BYTES;
1423 return offset;
1427 /* IDL: enum { */
1428 /* IDL: FRSTRANS_RDC_VERSION=0x0001, */
1429 /* IDL: } */
1432 frstrans_dissect_enum_RdcVersion(tvbuff_t *tvb _U_, int 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_)
1434 uint32_t parameter=0;
1435 if (param) {
1436 parameter = *param;
1438 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1439 if (param) {
1440 *param = parameter;
1442 return offset;
1446 /* IDL: enum { */
1447 /* IDL: FRSTRANS_RDC_VERSION_COMPATIBLE=0x0001, */
1448 /* IDL: } */
1451 frstrans_dissect_enum_RdcVersionCompatible(tvbuff_t *tvb _U_, int 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_)
1453 uint32_t parameter=0;
1454 if (param) {
1455 parameter = *param;
1457 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1458 if (param) {
1459 *param = parameter;
1461 return offset;
1465 /* IDL: enum { */
1466 /* IDL: FRSTRANS_RDC_UNCOMPRESSED=0x0000, */
1467 /* IDL: FRSTRANS_RDC_XPRESS=0x0001, */
1468 /* IDL: } */
1471 frstrans_dissect_enum_RdcCompressionAlgorithm(tvbuff_t *tvb _U_, int 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_)
1473 uint32_t parameter=0;
1474 if (param) {
1475 parameter = *param;
1477 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1478 if (param) {
1479 *param = parameter;
1481 return offset;
1485 /* IDL: struct { */
1486 /* IDL: hyper on_disk_file_size; */
1487 /* IDL: hyper file_size_estimate; */
1488 /* IDL: frstrans_RdcVersion rdc_version; */
1489 /* IDL: frstrans_RdcVersionCompatible rdc_minimum_compatible_version; */
1490 /* IDL: [range(0,8)] uint8 rdc_signature_levels; */
1491 /* IDL: frstrans_RdcCompressionAlgorithm compression_algorithm; */
1492 /* IDL: [size_is(rdc_signature_levels)] frstrans_RdcParameters rdc_filter_parameters[*]; */
1493 /* IDL: } */
1495 static int
1496 frstrans_dissect_element_RdcFileInfo_on_disk_file_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1498 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_on_disk_file_size, NULL);
1500 return offset;
1503 static int
1504 frstrans_dissect_element_RdcFileInfo_file_size_estimate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1506 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_file_size_estimate, NULL);
1508 return offset;
1511 static int
1512 frstrans_dissect_element_RdcFileInfo_rdc_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1514 offset = frstrans_dissect_enum_RdcVersion(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_rdc_version, 0);
1516 return offset;
1519 static int
1520 frstrans_dissect_element_RdcFileInfo_rdc_minimum_compatible_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1522 offset = frstrans_dissect_enum_RdcVersionCompatible(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_rdc_minimum_compatible_version, 0);
1524 return offset;
1527 static int
1528 frstrans_dissect_element_RdcFileInfo_rdc_signature_levels(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1530 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_rdc_signature_levels, 0);
1532 return offset;
1535 static int
1536 frstrans_dissect_element_RdcFileInfo_compression_algorithm(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1538 offset = frstrans_dissect_enum_RdcCompressionAlgorithm(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_compression_algorithm, 0);
1540 return offset;
1543 static int
1544 frstrans_dissect_element_RdcFileInfo_rdc_filter_parameters(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, struct ndr_generic_array *nga)
1547 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, nga, frstrans_dissect_element_RdcFileInfo_rdc_filter_parameters_);
1549 return offset;
1552 static int
1553 frstrans_dissect_element_RdcFileInfo_rdc_filter_parameters_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1555 offset = frstrans_dissect_struct_RdcParameters(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RdcFileInfo_rdc_filter_parameters,0);
1557 return offset;
1560 static int
1561 frstrans_dissect_conformant_RdcFileInfo_rdc_filter_parameters(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, struct ndr_generic_array *nga)
1563 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, nga);
1565 return offset;
1569 frstrans_dissect_struct_RdcFileInfo(tvbuff_t *tvb _U_, int 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_)
1571 struct ndr_generic_array nga_rdc_filter_parameters = { .is_conformant = false, };
1572 proto_item *item = NULL;
1573 proto_tree *tree = NULL;
1574 int old_offset;
1576 offset = frstrans_dissect_conformant_RdcFileInfo_rdc_filter_parameters(tvb, offset, pinfo, parent_tree, di, drep, &nga_rdc_filter_parameters);
1578 ALIGN_TO_8_BYTES;
1580 old_offset = offset;
1582 if (parent_tree) {
1583 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1584 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcFileInfo);
1587 offset = frstrans_dissect_element_RdcFileInfo_on_disk_file_size(tvb, offset, pinfo, tree, di, drep);
1589 offset = frstrans_dissect_element_RdcFileInfo_file_size_estimate(tvb, offset, pinfo, tree, di, drep);
1591 offset = frstrans_dissect_element_RdcFileInfo_rdc_version(tvb, offset, pinfo, tree, di, drep);
1593 offset = frstrans_dissect_element_RdcFileInfo_rdc_minimum_compatible_version(tvb, offset, pinfo, tree, di, drep);
1595 offset = frstrans_dissect_element_RdcFileInfo_rdc_signature_levels(tvb, offset, pinfo, tree, di, drep);
1597 offset = frstrans_dissect_element_RdcFileInfo_compression_algorithm(tvb, offset, pinfo, tree, di, drep);
1599 offset = frstrans_dissect_element_RdcFileInfo_rdc_filter_parameters(tvb, offset, pinfo, tree, di, drep, &nga_rdc_filter_parameters);
1602 proto_item_set_len(item, offset-old_offset);
1605 return offset;
1608 static int
1609 frstrans_dissect_element_CheckConnectivity_replica_set_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1611 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_CheckConnectivity_replica_set_guid, NULL);
1613 return offset;
1616 static int
1617 frstrans_dissect_element_CheckConnectivity_connection_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1619 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_CheckConnectivity_connection_guid, NULL);
1621 return offset;
1624 /* IDL: WERROR frstrans_CheckConnectivity( */
1625 /* IDL: [in] GUID replica_set_guid, */
1626 /* IDL: [in] GUID connection_guid */
1627 /* IDL: ); */
1629 static int
1630 frstrans_dissect_CheckConnectivity_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1632 uint32_t status;
1634 di->dcerpc_procedure_name="CheckConnectivity";
1635 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
1637 if (status != 0)
1638 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1640 return offset;
1643 static int
1644 frstrans_dissect_CheckConnectivity_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1646 di->dcerpc_procedure_name="CheckConnectivity";
1647 offset = frstrans_dissect_element_CheckConnectivity_replica_set_guid(tvb, offset, pinfo, tree, di, drep);
1648 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1649 offset = frstrans_dissect_element_CheckConnectivity_connection_guid(tvb, offset, pinfo, tree, di, drep);
1650 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1651 return offset;
1654 static int
1655 frstrans_dissect_element_EstablishConnection_replica_set_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1657 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_replica_set_guid, NULL);
1659 return offset;
1662 static int
1663 frstrans_dissect_element_EstablishConnection_connection_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1665 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_connection_guid, NULL);
1667 return offset;
1670 static int
1671 frstrans_dissect_element_EstablishConnection_downstream_protocol_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1673 offset = frstrans_dissect_enum_ProtocolVersion(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_downstream_protocol_version, 0);
1675 return offset;
1678 static int
1679 frstrans_dissect_element_EstablishConnection_downstream_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1681 offset = frstrans_dissect_bitmap_TransportFlags(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_downstream_flags, 0);
1683 return offset;
1686 static int
1687 frstrans_dissect_element_EstablishConnection_upstream_protocol_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1689 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);
1691 return offset;
1694 static int
1695 frstrans_dissect_element_EstablishConnection_upstream_protocol_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1697 offset = frstrans_dissect_enum_ProtocolVersion(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_upstream_protocol_version, 0);
1699 return offset;
1702 static int
1703 frstrans_dissect_element_EstablishConnection_upstream_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1705 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);
1707 return offset;
1710 static int
1711 frstrans_dissect_element_EstablishConnection_upstream_flags_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1713 offset = frstrans_dissect_bitmap_TransportFlags(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_upstream_flags, 0);
1715 return offset;
1718 /* IDL: WERROR frstrans_EstablishConnection( */
1719 /* IDL: [in] GUID replica_set_guid, */
1720 /* IDL: [in] GUID connection_guid, */
1721 /* IDL: [in] frstrans_ProtocolVersion downstream_protocol_version, */
1722 /* IDL: [in] frstrans_TransportFlags downstream_flags, */
1723 /* IDL: [out] [ref] frstrans_ProtocolVersion *upstream_protocol_version, */
1724 /* IDL: [out] [ref] frstrans_TransportFlags *upstream_flags */
1725 /* IDL: ); */
1727 static int
1728 frstrans_dissect_EstablishConnection_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1730 uint32_t status;
1732 di->dcerpc_procedure_name="EstablishConnection";
1733 offset = frstrans_dissect_element_EstablishConnection_upstream_protocol_version(tvb, offset, pinfo, tree, di, drep);
1734 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1736 offset = frstrans_dissect_element_EstablishConnection_upstream_flags(tvb, offset, pinfo, tree, di, drep);
1737 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1739 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
1741 if (status != 0)
1742 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1744 return offset;
1747 static int
1748 frstrans_dissect_EstablishConnection_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1750 di->dcerpc_procedure_name="EstablishConnection";
1751 offset = frstrans_dissect_element_EstablishConnection_replica_set_guid(tvb, offset, pinfo, tree, di, drep);
1752 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1753 offset = frstrans_dissect_element_EstablishConnection_connection_guid(tvb, offset, pinfo, tree, di, drep);
1754 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1755 offset = frstrans_dissect_element_EstablishConnection_downstream_protocol_version(tvb, offset, pinfo, tree, di, drep);
1756 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1757 offset = frstrans_dissect_element_EstablishConnection_downstream_flags(tvb, offset, pinfo, tree, di, drep);
1758 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1759 return offset;
1762 static int
1763 frstrans_dissect_element_EstablishSession_connection_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1765 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishSession_connection_guid, NULL);
1767 return offset;
1770 static int
1771 frstrans_dissect_element_EstablishSession_content_set_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1773 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishSession_content_set_guid, NULL);
1775 return offset;
1778 /* IDL: WERROR frstrans_EstablishSession( */
1779 /* IDL: [in] GUID connection_guid, */
1780 /* IDL: [in] GUID content_set_guid */
1781 /* IDL: ); */
1783 static int
1784 frstrans_dissect_EstablishSession_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1786 uint32_t status;
1788 di->dcerpc_procedure_name="EstablishSession";
1789 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
1791 if (status != 0)
1792 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1794 return offset;
1797 static int
1798 frstrans_dissect_EstablishSession_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1800 di->dcerpc_procedure_name="EstablishSession";
1801 offset = frstrans_dissect_element_EstablishSession_connection_guid(tvb, offset, pinfo, tree, di, drep);
1802 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1803 offset = frstrans_dissect_element_EstablishSession_content_set_guid(tvb, offset, pinfo, tree, di, drep);
1804 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1805 return offset;
1808 static int
1809 frstrans_dissect_element_RequestUpdates_connection_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1811 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_connection_guid, NULL);
1813 return offset;
1816 static int
1817 frstrans_dissect_element_RequestUpdates_content_set_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1819 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_content_set_guid, NULL);
1821 return offset;
1824 static int
1825 frstrans_dissect_element_RequestUpdates_credits_available(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1827 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_credits_available, 0);
1829 return offset;
1832 static int
1833 frstrans_dissect_element_RequestUpdates_hash_requested(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1835 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_hash_requested, 0);
1837 return offset;
1840 static int
1841 frstrans_dissect_element_RequestUpdates_update_request_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1843 offset = frstrans_dissect_enum_UpdateRequestType(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_update_request_type, 0);
1845 return offset;
1848 static int
1849 frstrans_dissect_element_RequestUpdates_version_vector_diff_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1851 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_version_vector_diff_count, 0);
1853 return offset;
1856 static int
1857 frstrans_dissect_element_RequestUpdates_version_vector_diff(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1859 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);
1861 return offset;
1864 static int
1865 frstrans_dissect_element_RequestUpdates_version_vector_diff_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1867 struct ndr_generic_array nga = { .is_conformant = false, };
1869 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1871 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, frstrans_dissect_element_RequestUpdates_version_vector_diff__);
1873 return offset;
1876 static int
1877 frstrans_dissect_element_RequestUpdates_version_vector_diff__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1879 offset = frstrans_dissect_struct_VersionVector(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RequestUpdates_version_vector_diff,0);
1881 return offset;
1884 static int
1885 frstrans_dissect_element_RequestUpdates_frs_update(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1887 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);
1889 return offset;
1892 static int
1893 frstrans_dissect_element_RequestUpdates_frs_update_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1895 struct ndr_generic_array nga = { .is_conformant = false, };
1897 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1899 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1901 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, frstrans_dissect_element_RequestUpdates_frs_update__);
1903 return offset;
1906 static int
1907 frstrans_dissect_element_RequestUpdates_frs_update__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1909 offset = frstrans_dissect_struct_Update(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RequestUpdates_frs_update,0);
1911 return offset;
1914 static int
1915 frstrans_dissect_element_RequestUpdates_update_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1917 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);
1919 return offset;
1922 static int
1923 frstrans_dissect_element_RequestUpdates_update_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1925 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_update_count, 0);
1927 return offset;
1930 static int
1931 frstrans_dissect_element_RequestUpdates_update_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1933 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);
1935 return offset;
1938 static int
1939 frstrans_dissect_element_RequestUpdates_update_status_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1941 offset = frstrans_dissect_enum_UpdateStatus(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_update_status, 0);
1943 return offset;
1946 static int
1947 frstrans_dissect_element_RequestUpdates_gvsn_db_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1949 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);
1951 return offset;
1954 static int
1955 frstrans_dissect_element_RequestUpdates_gvsn_db_guid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1957 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_gvsn_db_guid, NULL);
1959 return offset;
1962 static int
1963 frstrans_dissect_element_RequestUpdates_gvsn_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1965 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);
1967 return offset;
1970 static int
1971 frstrans_dissect_element_RequestUpdates_gvsn_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1973 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_gvsn_version, NULL);
1975 return offset;
1978 /* IDL: WERROR frstrans_RequestUpdates( */
1979 /* IDL: [in] GUID connection_guid, */
1980 /* IDL: [in] GUID content_set_guid, */
1981 /* IDL: [in] [range(0,256)] uint32 credits_available, */
1982 /* IDL: [in] [range(0,1)] uint32 hash_requested, */
1983 /* IDL: [in] [range(0,2)] frstrans_UpdateRequestType update_request_type, */
1984 /* IDL: [in] uint32 version_vector_diff_count, */
1985 /* IDL: [in] [ref] [size_is(version_vector_diff_count)] frstrans_VersionVector *version_vector_diff, */
1986 /* IDL: [length_is(*update_count)] [out] [ref] [size_is(credits_available)] frstrans_Update *frs_update, */
1987 /* IDL: [out] [ref] uint32 *update_count, */
1988 /* IDL: [out] [ref] frstrans_UpdateStatus *update_status, */
1989 /* IDL: [out] [ref] GUID *gvsn_db_guid, */
1990 /* IDL: [out] [ref] hyper *gvsn_version */
1991 /* IDL: ); */
1993 static int
1994 frstrans_dissect_RequestUpdates_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1996 uint32_t status;
1998 di->dcerpc_procedure_name="RequestUpdates";
1999 offset = frstrans_dissect_element_RequestUpdates_frs_update(tvb, offset, pinfo, tree, di, drep);
2000 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2002 offset = frstrans_dissect_element_RequestUpdates_update_count(tvb, offset, pinfo, tree, di, drep);
2003 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2005 offset = frstrans_dissect_element_RequestUpdates_update_status(tvb, offset, pinfo, tree, di, drep);
2006 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2008 offset = frstrans_dissect_element_RequestUpdates_gvsn_db_guid(tvb, offset, pinfo, tree, di, drep);
2009 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2011 offset = frstrans_dissect_element_RequestUpdates_gvsn_version(tvb, offset, pinfo, tree, di, drep);
2012 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2014 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
2016 if (status != 0)
2017 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
2019 return offset;
2022 static int
2023 frstrans_dissect_RequestUpdates_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2025 di->dcerpc_procedure_name="RequestUpdates";
2026 offset = frstrans_dissect_element_RequestUpdates_connection_guid(tvb, offset, pinfo, tree, di, drep);
2027 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2028 offset = frstrans_dissect_element_RequestUpdates_content_set_guid(tvb, offset, pinfo, tree, di, drep);
2029 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2030 offset = frstrans_dissect_element_RequestUpdates_credits_available(tvb, offset, pinfo, tree, di, drep);
2031 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2032 offset = frstrans_dissect_element_RequestUpdates_hash_requested(tvb, offset, pinfo, tree, di, drep);
2033 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2034 offset = frstrans_dissect_element_RequestUpdates_update_request_type(tvb, offset, pinfo, tree, di, drep);
2035 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2036 offset = frstrans_dissect_element_RequestUpdates_version_vector_diff_count(tvb, offset, pinfo, tree, di, drep);
2037 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2038 offset = frstrans_dissect_element_RequestUpdates_version_vector_diff(tvb, offset, pinfo, tree, di, drep);
2039 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2040 return offset;
2043 static int
2044 frstrans_dissect_element_RequestVersionVector_sequence_number(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2046 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_sequence_number, 0);
2048 return offset;
2051 static int
2052 frstrans_dissect_element_RequestVersionVector_connection_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2054 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_connection_guid, NULL);
2056 return offset;
2059 static int
2060 frstrans_dissect_element_RequestVersionVector_content_set_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2062 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_content_set_guid, NULL);
2064 return offset;
2067 static int
2068 frstrans_dissect_element_RequestVersionVector_request_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2070 offset = frstrans_dissect_enum_VersionRequestType(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_request_type, 0);
2072 return offset;
2075 static int
2076 frstrans_dissect_element_RequestVersionVector_change_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2078 offset = frstrans_dissect_enum_VersionChangeType(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_change_type, 0);
2080 return offset;
2083 static int
2084 frstrans_dissect_element_RequestVersionVector_vv_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2086 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_vv_generation, NULL);
2088 return offset;
2091 /* IDL: WERROR frstrans_RequestVersionVector( */
2092 /* IDL: [in] uint32 sequence_number, */
2093 /* IDL: [in] GUID connection_guid, */
2094 /* IDL: [in] GUID content_set_guid, */
2095 /* IDL: [in] [range(0,2)] frstrans_VersionRequestType request_type, */
2096 /* IDL: [in] [range(0,2)] frstrans_VersionChangeType change_type, */
2097 /* IDL: [in] hyper vv_generation */
2098 /* IDL: ); */
2100 static int
2101 frstrans_dissect_RequestVersionVector_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2103 uint32_t status;
2105 di->dcerpc_procedure_name="RequestVersionVector";
2106 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
2108 if (status != 0)
2109 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
2111 return offset;
2114 static int
2115 frstrans_dissect_RequestVersionVector_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2117 di->dcerpc_procedure_name="RequestVersionVector";
2118 offset = frstrans_dissect_element_RequestVersionVector_sequence_number(tvb, offset, pinfo, tree, di, drep);
2119 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2120 offset = frstrans_dissect_element_RequestVersionVector_connection_guid(tvb, offset, pinfo, tree, di, drep);
2121 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2122 offset = frstrans_dissect_element_RequestVersionVector_content_set_guid(tvb, offset, pinfo, tree, di, drep);
2123 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2124 offset = frstrans_dissect_element_RequestVersionVector_request_type(tvb, offset, pinfo, tree, di, drep);
2125 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2126 offset = frstrans_dissect_element_RequestVersionVector_change_type(tvb, offset, pinfo, tree, di, drep);
2127 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2128 offset = frstrans_dissect_element_RequestVersionVector_vv_generation(tvb, offset, pinfo, tree, di, drep);
2129 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2130 return offset;
2133 static int
2134 frstrans_dissect_element_AsyncPoll_connection_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2136 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncPoll_connection_guid, NULL);
2138 return offset;
2141 static int
2142 frstrans_dissect_element_AsyncPoll_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2144 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);
2146 return offset;
2149 static int
2150 frstrans_dissect_element_AsyncPoll_response_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2152 offset = frstrans_dissect_struct_AsyncResponseContext(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_AsyncPoll_response,0);
2154 return offset;
2157 /* IDL: WERROR frstrans_AsyncPoll( */
2158 /* IDL: [in] GUID connection_guid, */
2159 /* IDL: [out] [ref] frstrans_AsyncResponseContext *response */
2160 /* IDL: ); */
2162 static int
2163 frstrans_dissect_AsyncPoll_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2165 uint32_t status;
2167 di->dcerpc_procedure_name="AsyncPoll";
2168 offset = frstrans_dissect_element_AsyncPoll_response(tvb, offset, pinfo, tree, di, drep);
2169 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2171 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
2173 if (status != 0)
2174 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
2176 return offset;
2179 static int
2180 frstrans_dissect_AsyncPoll_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2182 di->dcerpc_procedure_name="AsyncPoll";
2183 offset = frstrans_dissect_element_AsyncPoll_connection_guid(tvb, offset, pinfo, tree, di, drep);
2184 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2185 return offset;
2188 /* IDL: void FRSTRANS_REQUEST_RECORDS( */
2189 /* IDL: */
2190 /* IDL: ); */
2192 static int
2193 frstrans_dissect_FRSTRANS_REQUEST_RECORDS_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2195 di->dcerpc_procedure_name="FRSTRANS_REQUEST_RECORDS";
2196 return offset;
2199 static int
2200 frstrans_dissect_FRSTRANS_REQUEST_RECORDS_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2202 di->dcerpc_procedure_name="FRSTRANS_REQUEST_RECORDS";
2203 return offset;
2206 /* IDL: void FRSTRANS_UPDATE_CANCEL( */
2207 /* IDL: */
2208 /* IDL: ); */
2210 static int
2211 frstrans_dissect_FRSTRANS_UPDATE_CANCEL_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2213 di->dcerpc_procedure_name="FRSTRANS_UPDATE_CANCEL";
2214 return offset;
2217 static int
2218 frstrans_dissect_FRSTRANS_UPDATE_CANCEL_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2220 di->dcerpc_procedure_name="FRSTRANS_UPDATE_CANCEL";
2221 return offset;
2224 /* IDL: void FRSTRANS_RAW_GET_FILE_DATA( */
2225 /* IDL: */
2226 /* IDL: ); */
2228 static int
2229 frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2231 di->dcerpc_procedure_name="FRSTRANS_RAW_GET_FILE_DATA";
2232 return offset;
2235 static int
2236 frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2238 di->dcerpc_procedure_name="FRSTRANS_RAW_GET_FILE_DATA";
2239 return offset;
2242 /* IDL: void FRSTRANS_RDC_GET_SIGNATURES( */
2243 /* IDL: */
2244 /* IDL: ); */
2246 static int
2247 frstrans_dissect_FRSTRANS_RDC_GET_SIGNATURES_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2249 di->dcerpc_procedure_name="FRSTRANS_RDC_GET_SIGNATURES";
2250 return offset;
2253 static int
2254 frstrans_dissect_FRSTRANS_RDC_GET_SIGNATURES_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2256 di->dcerpc_procedure_name="FRSTRANS_RDC_GET_SIGNATURES";
2257 return offset;
2260 /* IDL: void FRSTRANS_RDC_PUSH_SOURCE_NEEDS( */
2261 /* IDL: */
2262 /* IDL: ); */
2264 static int
2265 frstrans_dissect_FRSTRANS_RDC_PUSH_SOURCE_NEEDS_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2267 di->dcerpc_procedure_name="FRSTRANS_RDC_PUSH_SOURCE_NEEDS";
2268 return offset;
2271 static int
2272 frstrans_dissect_FRSTRANS_RDC_PUSH_SOURCE_NEEDS_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2274 di->dcerpc_procedure_name="FRSTRANS_RDC_PUSH_SOURCE_NEEDS";
2275 return offset;
2278 /* IDL: void FRSTRANS_RDC_GET_FILE_DATA( */
2279 /* IDL: */
2280 /* IDL: ); */
2282 static int
2283 frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2285 di->dcerpc_procedure_name="FRSTRANS_RDC_GET_FILE_DATA";
2286 return offset;
2289 static int
2290 frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2292 di->dcerpc_procedure_name="FRSTRANS_RDC_GET_FILE_DATA";
2293 return offset;
2296 /* IDL: void FRSTRANS_RDC_CLOSE( */
2297 /* IDL: */
2298 /* IDL: ); */
2300 static int
2301 frstrans_dissect_FRSTRANS_RDC_CLOSE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2303 di->dcerpc_procedure_name="FRSTRANS_RDC_CLOSE";
2304 return offset;
2307 static int
2308 frstrans_dissect_FRSTRANS_RDC_CLOSE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2310 di->dcerpc_procedure_name="FRSTRANS_RDC_CLOSE";
2311 return offset;
2314 static int
2315 frstrans_dissect_element_InitializeFileTransferAsync_connection_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2317 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_connection_guid, NULL);
2319 return offset;
2322 static int
2323 frstrans_dissect_element_InitializeFileTransferAsync_frs_update(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2325 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);
2327 return offset;
2330 static int
2331 frstrans_dissect_element_InitializeFileTransferAsync_frs_update_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2333 offset = frstrans_dissect_struct_Update(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_InitializeFileTransferAsync_frs_update,0);
2335 return offset;
2338 static int
2339 frstrans_dissect_element_InitializeFileTransferAsync_rdc_desired(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2341 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_desired, 0);
2343 return offset;
2346 static int
2347 frstrans_dissect_element_InitializeFileTransferAsync_staging_policy(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2349 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);
2351 return offset;
2354 static int
2355 frstrans_dissect_element_InitializeFileTransferAsync_staging_policy_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2357 offset = frstrans_dissect_enum_RequestedStagingPolicy(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_staging_policy, 0);
2359 return offset;
2362 static int
2363 frstrans_dissect_element_InitializeFileTransferAsync_server_context(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2365 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);
2367 return offset;
2370 static int
2371 frstrans_dissect_element_InitializeFileTransferAsync_server_context_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2373 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_server_context, 0);
2375 return offset;
2378 static int
2379 frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2381 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);
2383 return offset;
2386 static int
2387 frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2389 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);
2391 return offset;
2394 static int
2395 frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2397 offset = frstrans_dissect_struct_RdcFileInfo(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_file_info,0);
2399 return offset;
2402 static int
2403 frstrans_dissect_element_InitializeFileTransferAsync_data_buffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2405 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);
2407 return offset;
2410 static int
2411 frstrans_dissect_element_InitializeFileTransferAsync_data_buffer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2413 struct ndr_generic_array nga = { .is_conformant = false, };
2415 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2417 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2419 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, frstrans_dissect_element_InitializeFileTransferAsync_data_buffer__);
2421 return offset;
2424 static int
2425 frstrans_dissect_element_InitializeFileTransferAsync_data_buffer__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2427 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_data_buffer, 0);
2429 return offset;
2432 static int
2433 frstrans_dissect_element_InitializeFileTransferAsync_buffer_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2435 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_buffer_size, 0);
2437 return offset;
2440 static int
2441 frstrans_dissect_element_InitializeFileTransferAsync_size_read(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2443 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);
2445 return offset;
2448 static int
2449 frstrans_dissect_element_InitializeFileTransferAsync_size_read_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2451 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_size_read, 0);
2453 return offset;
2456 static int
2457 frstrans_dissect_element_InitializeFileTransferAsync_is_end_of_file(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2459 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);
2461 return offset;
2464 static int
2465 frstrans_dissect_element_InitializeFileTransferAsync_is_end_of_file_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2467 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_is_end_of_file, 0);
2469 return offset;
2472 /* IDL: WERROR frstrans_InitializeFileTransferAsync( */
2473 /* IDL: [in] GUID connection_guid, */
2474 /* IDL: [in] [out] [ref] frstrans_Update *frs_update, */
2475 /* IDL: [in] [range(0,1)] uint32 rdc_desired, */
2476 /* IDL: [in] [out] [ref] frstrans_RequestedStagingPolicy *staging_policy, */
2477 /* IDL: [out] [ref] policy_handle *server_context, */
2478 /* IDL: [out] [ref] frstrans_RdcFileInfo **rdc_file_info, */
2479 /* IDL: [length_is(*size_read)] [out] [ref] [size_is(buffer_size)] uint8 *data_buffer, */
2480 /* IDL: [in] [range(0,262144)] uint32 buffer_size, */
2481 /* IDL: [out] [ref] uint32 *size_read, */
2482 /* IDL: [out] [ref] uint32 *is_end_of_file */
2483 /* IDL: ); */
2485 static int
2486 frstrans_dissect_InitializeFileTransferAsync_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2488 uint32_t status;
2490 di->dcerpc_procedure_name="InitializeFileTransferAsync";
2491 offset = frstrans_dissect_element_InitializeFileTransferAsync_frs_update(tvb, offset, pinfo, tree, di, drep);
2492 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2494 offset = frstrans_dissect_element_InitializeFileTransferAsync_staging_policy(tvb, offset, pinfo, tree, di, drep);
2495 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2497 offset = frstrans_dissect_element_InitializeFileTransferAsync_server_context(tvb, offset, pinfo, tree, di, drep);
2498 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2500 offset = frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info(tvb, offset, pinfo, tree, di, drep);
2501 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2503 offset = frstrans_dissect_element_InitializeFileTransferAsync_data_buffer(tvb, offset, pinfo, tree, di, drep);
2504 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2506 offset = frstrans_dissect_element_InitializeFileTransferAsync_size_read(tvb, offset, pinfo, tree, di, drep);
2507 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2509 offset = frstrans_dissect_element_InitializeFileTransferAsync_is_end_of_file(tvb, offset, pinfo, tree, di, drep);
2510 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2512 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
2514 if (status != 0)
2515 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
2517 return offset;
2520 static int
2521 frstrans_dissect_InitializeFileTransferAsync_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2523 di->dcerpc_procedure_name="InitializeFileTransferAsync";
2524 offset = frstrans_dissect_element_InitializeFileTransferAsync_connection_guid(tvb, offset, pinfo, tree, di, drep);
2525 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2526 offset = frstrans_dissect_element_InitializeFileTransferAsync_frs_update(tvb, offset, pinfo, tree, di, drep);
2527 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2528 offset = frstrans_dissect_element_InitializeFileTransferAsync_rdc_desired(tvb, offset, pinfo, tree, di, drep);
2529 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2530 offset = frstrans_dissect_element_InitializeFileTransferAsync_staging_policy(tvb, offset, pinfo, tree, di, drep);
2531 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2532 offset = frstrans_dissect_element_InitializeFileTransferAsync_buffer_size(tvb, offset, pinfo, tree, di, drep);
2533 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2534 return offset;
2537 /* IDL: void FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE( */
2538 /* IDL: */
2539 /* IDL: ); */
2541 static int
2542 frstrans_dissect_FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2544 di->dcerpc_procedure_name="FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE";
2545 return offset;
2548 static int
2549 frstrans_dissect_FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2551 di->dcerpc_procedure_name="FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE";
2552 return offset;
2555 /* IDL: void FRSTRANS_RAW_GET_FILE_DATA_ASYNC( */
2556 /* IDL: */
2557 /* IDL: ); */
2559 static int
2560 frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_ASYNC_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2562 di->dcerpc_procedure_name="FRSTRANS_RAW_GET_FILE_DATA_ASYNC";
2563 return offset;
2566 static int
2567 frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_ASYNC_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2569 di->dcerpc_procedure_name="FRSTRANS_RAW_GET_FILE_DATA_ASYNC";
2570 return offset;
2573 /* IDL: void FRSTRANS_RDC_GET_FILE_DATA_ASYNC( */
2574 /* IDL: */
2575 /* IDL: ); */
2577 static int
2578 frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_ASYNC_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2580 di->dcerpc_procedure_name="FRSTRANS_RDC_GET_FILE_DATA_ASYNC";
2581 return offset;
2584 static int
2585 frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_ASYNC_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2587 di->dcerpc_procedure_name="FRSTRANS_RDC_GET_FILE_DATA_ASYNC";
2588 return offset;
2592 static const dcerpc_sub_dissector frstrans_dissectors[] = {
2593 { 0, "CheckConnectivity",
2594 frstrans_dissect_CheckConnectivity_request, frstrans_dissect_CheckConnectivity_response},
2595 { 1, "EstablishConnection",
2596 frstrans_dissect_EstablishConnection_request, frstrans_dissect_EstablishConnection_response},
2597 { 2, "EstablishSession",
2598 frstrans_dissect_EstablishSession_request, frstrans_dissect_EstablishSession_response},
2599 { 3, "RequestUpdates",
2600 frstrans_dissect_RequestUpdates_request, frstrans_dissect_RequestUpdates_response},
2601 { 4, "RequestVersionVector",
2602 frstrans_dissect_RequestVersionVector_request, frstrans_dissect_RequestVersionVector_response},
2603 { 5, "AsyncPoll",
2604 frstrans_dissect_AsyncPoll_request, frstrans_dissect_AsyncPoll_response},
2605 { 6, "FRSTRANS_REQUEST_RECORDS",
2606 frstrans_dissect_FRSTRANS_REQUEST_RECORDS_request, frstrans_dissect_FRSTRANS_REQUEST_RECORDS_response},
2607 { 7, "FRSTRANS_UPDATE_CANCEL",
2608 frstrans_dissect_FRSTRANS_UPDATE_CANCEL_request, frstrans_dissect_FRSTRANS_UPDATE_CANCEL_response},
2609 { 8, "FRSTRANS_RAW_GET_FILE_DATA",
2610 frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_request, frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_response},
2611 { 9, "FRSTRANS_RDC_GET_SIGNATURES",
2612 frstrans_dissect_FRSTRANS_RDC_GET_SIGNATURES_request, frstrans_dissect_FRSTRANS_RDC_GET_SIGNATURES_response},
2613 { 10, "FRSTRANS_RDC_PUSH_SOURCE_NEEDS",
2614 frstrans_dissect_FRSTRANS_RDC_PUSH_SOURCE_NEEDS_request, frstrans_dissect_FRSTRANS_RDC_PUSH_SOURCE_NEEDS_response},
2615 { 11, "FRSTRANS_RDC_GET_FILE_DATA",
2616 frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_request, frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_response},
2617 { 12, "FRSTRANS_RDC_CLOSE",
2618 frstrans_dissect_FRSTRANS_RDC_CLOSE_request, frstrans_dissect_FRSTRANS_RDC_CLOSE_response},
2619 { 13, "InitializeFileTransferAsync",
2620 frstrans_dissect_InitializeFileTransferAsync_request, frstrans_dissect_InitializeFileTransferAsync_response},
2621 { 14, "FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE",
2622 frstrans_dissect_FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE_request, frstrans_dissect_FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE_response},
2623 { 15, "FRSTRANS_RAW_GET_FILE_DATA_ASYNC",
2624 frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_ASYNC_request, frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_ASYNC_response},
2625 { 16, "FRSTRANS_RDC_GET_FILE_DATA_ASYNC",
2626 frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_ASYNC_request, frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_ASYNC_response},
2627 { 0, NULL, NULL, NULL }
2630 void proto_register_dcerpc_frstrans(void)
2632 static hf_register_info hf[] = {
2633 { &hf_frstrans_frstrans_AsyncPoll_connection_guid,
2634 { "Connection Guid", "frstrans.frstrans_AsyncPoll.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2635 { &hf_frstrans_frstrans_AsyncPoll_response,
2636 { "Response", "frstrans.frstrans_AsyncPoll.response", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2637 { &hf_frstrans_frstrans_AsyncResponseContext_response,
2638 { "Response", "frstrans.frstrans_AsyncResponseContext.response", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2639 { &hf_frstrans_frstrans_AsyncResponseContext_sequence_number,
2640 { "Sequence Number", "frstrans.frstrans_AsyncResponseContext.sequence_number", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2641 { &hf_frstrans_frstrans_AsyncResponseContext_status,
2642 { "Status", "frstrans.frstrans_AsyncResponseContext.status", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &WERR_errors_ext, 0, NULL, HFILL }},
2643 { &hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector,
2644 { "Epoque Vector", "frstrans.frstrans_AsyncVersionVectorResponse.epoque_vector", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2645 { &hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector_count,
2646 { "Epoque Vector Count", "frstrans.frstrans_AsyncVersionVectorResponse.epoque_vector_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2647 { &hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector,
2648 { "Version Vector", "frstrans.frstrans_AsyncVersionVectorResponse.version_vector", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2649 { &hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector_count,
2650 { "Version Vector Count", "frstrans.frstrans_AsyncVersionVectorResponse.version_vector_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2651 { &hf_frstrans_frstrans_AsyncVersionVectorResponse_vv_generation,
2652 { "Vv Generation", "frstrans.frstrans_AsyncVersionVectorResponse.vv_generation", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2653 { &hf_frstrans_frstrans_CheckConnectivity_connection_guid,
2654 { "Connection Guid", "frstrans.frstrans_CheckConnectivity.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2655 { &hf_frstrans_frstrans_CheckConnectivity_replica_set_guid,
2656 { "Replica Set Guid", "frstrans.frstrans_CheckConnectivity.replica_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2657 { &hf_frstrans_frstrans_EpoqueVector_day,
2658 { "Day", "frstrans.frstrans_EpoqueVector.day", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2659 { &hf_frstrans_frstrans_EpoqueVector_day_of_week,
2660 { "Day Of Week", "frstrans.frstrans_EpoqueVector.day_of_week", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2661 { &hf_frstrans_frstrans_EpoqueVector_hour,
2662 { "Hour", "frstrans.frstrans_EpoqueVector.hour", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2663 { &hf_frstrans_frstrans_EpoqueVector_machine_guid,
2664 { "Machine Guid", "frstrans.frstrans_EpoqueVector.machine_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2665 { &hf_frstrans_frstrans_EpoqueVector_milli_seconds,
2666 { "Milli Seconds", "frstrans.frstrans_EpoqueVector.milli_seconds", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2667 { &hf_frstrans_frstrans_EpoqueVector_minute,
2668 { "Minute", "frstrans.frstrans_EpoqueVector.minute", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2669 { &hf_frstrans_frstrans_EpoqueVector_month,
2670 { "Month", "frstrans.frstrans_EpoqueVector.month", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2671 { &hf_frstrans_frstrans_EpoqueVector_second,
2672 { "Second", "frstrans.frstrans_EpoqueVector.second", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2673 { &hf_frstrans_frstrans_EpoqueVector_year,
2674 { "Year", "frstrans.frstrans_EpoqueVector.year", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2675 { &hf_frstrans_frstrans_EstablishConnection_connection_guid,
2676 { "Connection Guid", "frstrans.frstrans_EstablishConnection.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2677 { &hf_frstrans_frstrans_EstablishConnection_downstream_flags,
2678 { "Downstream Flags", "frstrans.frstrans_EstablishConnection.downstream_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
2679 { &hf_frstrans_frstrans_EstablishConnection_downstream_protocol_version,
2680 { "Downstream Protocol Version", "frstrans.frstrans_EstablishConnection.downstream_protocol_version", FT_UINT32, BASE_HEX, VALS(frstrans_frstrans_ProtocolVersion_vals), 0, NULL, HFILL }},
2681 { &hf_frstrans_frstrans_EstablishConnection_replica_set_guid,
2682 { "Replica Set Guid", "frstrans.frstrans_EstablishConnection.replica_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2683 { &hf_frstrans_frstrans_EstablishConnection_upstream_flags,
2684 { "Upstream Flags", "frstrans.frstrans_EstablishConnection.upstream_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
2685 { &hf_frstrans_frstrans_EstablishConnection_upstream_protocol_version,
2686 { "Upstream Protocol Version", "frstrans.frstrans_EstablishConnection.upstream_protocol_version", FT_UINT32, BASE_HEX, VALS(frstrans_frstrans_ProtocolVersion_vals), 0, NULL, HFILL }},
2687 { &hf_frstrans_frstrans_EstablishSession_connection_guid,
2688 { "Connection Guid", "frstrans.frstrans_EstablishSession.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2689 { &hf_frstrans_frstrans_EstablishSession_content_set_guid,
2690 { "Content Set Guid", "frstrans.frstrans_EstablishSession.content_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2691 { &hf_frstrans_frstrans_InitializeFileTransferAsync_buffer_size,
2692 { "Buffer Size", "frstrans.frstrans_InitializeFileTransferAsync.buffer_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2693 { &hf_frstrans_frstrans_InitializeFileTransferAsync_connection_guid,
2694 { "Connection Guid", "frstrans.frstrans_InitializeFileTransferAsync.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2695 { &hf_frstrans_frstrans_InitializeFileTransferAsync_data_buffer,
2696 { "Data Buffer", "frstrans.frstrans_InitializeFileTransferAsync.data_buffer", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2697 { &hf_frstrans_frstrans_InitializeFileTransferAsync_frs_update,
2698 { "Frs Update", "frstrans.frstrans_InitializeFileTransferAsync.frs_update", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2699 { &hf_frstrans_frstrans_InitializeFileTransferAsync_is_end_of_file,
2700 { "Is End Of File", "frstrans.frstrans_InitializeFileTransferAsync.is_end_of_file", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2701 { &hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_desired,
2702 { "Rdc Desired", "frstrans.frstrans_InitializeFileTransferAsync.rdc_desired", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2703 { &hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_file_info,
2704 { "Rdc File Info", "frstrans.frstrans_InitializeFileTransferAsync.rdc_file_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2705 { &hf_frstrans_frstrans_InitializeFileTransferAsync_server_context,
2706 { "Server Context", "frstrans.frstrans_InitializeFileTransferAsync.server_context", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
2707 { &hf_frstrans_frstrans_InitializeFileTransferAsync_size_read,
2708 { "Size Read", "frstrans.frstrans_InitializeFileTransferAsync.size_read", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2709 { &hf_frstrans_frstrans_InitializeFileTransferAsync_staging_policy,
2710 { "Staging Policy", "frstrans.frstrans_InitializeFileTransferAsync.staging_policy", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_RequestedStagingPolicy_vals), 0, NULL, HFILL }},
2711 { &hf_frstrans_frstrans_RdcFileInfo_compression_algorithm,
2712 { "Compression Algorithm", "frstrans.frstrans_RdcFileInfo.compression_algorithm", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_RdcCompressionAlgorithm_vals), 0, NULL, HFILL }},
2713 { &hf_frstrans_frstrans_RdcFileInfo_file_size_estimate,
2714 { "File Size Estimate", "frstrans.frstrans_RdcFileInfo.file_size_estimate", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2715 { &hf_frstrans_frstrans_RdcFileInfo_on_disk_file_size,
2716 { "On Disk File Size", "frstrans.frstrans_RdcFileInfo.on_disk_file_size", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2717 { &hf_frstrans_frstrans_RdcFileInfo_rdc_filter_parameters,
2718 { "Rdc Filter Parameters", "frstrans.frstrans_RdcFileInfo.rdc_filter_parameters", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2719 { &hf_frstrans_frstrans_RdcFileInfo_rdc_minimum_compatible_version,
2720 { "Rdc Minimum Compatible Version", "frstrans.frstrans_RdcFileInfo.rdc_minimum_compatible_version", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_RdcVersionCompatible_vals), 0, NULL, HFILL }},
2721 { &hf_frstrans_frstrans_RdcFileInfo_rdc_signature_levels,
2722 { "Rdc Signature Levels", "frstrans.frstrans_RdcFileInfo.rdc_signature_levels", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2723 { &hf_frstrans_frstrans_RdcFileInfo_rdc_version,
2724 { "Rdc Version", "frstrans.frstrans_RdcFileInfo.rdc_version", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_RdcVersion_vals), 0, NULL, HFILL }},
2725 { &hf_frstrans_frstrans_RdcParameterFilterMax_max_window_size,
2726 { "Max Window Size", "frstrans.frstrans_RdcParameterFilterMax.max_window_size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2727 { &hf_frstrans_frstrans_RdcParameterFilterMax_min_horizon_size,
2728 { "Min Horizon Size", "frstrans.frstrans_RdcParameterFilterMax.min_horizon_size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2729 { &hf_frstrans_frstrans_RdcParameterFilterPoint_max_chunk_size,
2730 { "Max Chunk Size", "frstrans.frstrans_RdcParameterFilterPoint.max_chunk_size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2731 { &hf_frstrans_frstrans_RdcParameterFilterPoint_min_chunk_size,
2732 { "Min Chunk Size", "frstrans.frstrans_RdcParameterFilterPoint.min_chunk_size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2733 { &hf_frstrans_frstrans_RdcParameterGeneric_chunker_parameters,
2734 { "Chunker Parameters", "frstrans.frstrans_RdcParameterGeneric.chunker_parameters", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2735 { &hf_frstrans_frstrans_RdcParameterGeneric_chunker_type,
2736 { "Chunker Type", "frstrans.frstrans_RdcParameterGeneric.chunker_type", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_RdcChunckerAlgorithm_vals), 0, NULL, HFILL }},
2737 { &hf_frstrans_frstrans_RdcParameterUnion_filter_generic,
2738 { "Filter Generic", "frstrans.frstrans_RdcParameterUnion.filter_generic", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2739 { &hf_frstrans_frstrans_RdcParameterUnion_filter_max,
2740 { "Filter Max", "frstrans.frstrans_RdcParameterUnion.filter_max", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2741 { &hf_frstrans_frstrans_RdcParameterUnion_filter_point,
2742 { "Filter Point", "frstrans.frstrans_RdcParameterUnion.filter_point", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2743 { &hf_frstrans_frstrans_RdcParameters_rdc_chunker_algorithm,
2744 { "Rdc Chunker Algorithm", "frstrans.frstrans_RdcParameters.rdc_chunker_algorithm", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_RdcChunckerAlgorithm_vals), 0, NULL, HFILL }},
2745 { &hf_frstrans_frstrans_RdcParameters_u,
2746 { "U", "frstrans.frstrans_RdcParameters.u", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2747 { &hf_frstrans_frstrans_RequestUpdates_connection_guid,
2748 { "Connection Guid", "frstrans.frstrans_RequestUpdates.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2749 { &hf_frstrans_frstrans_RequestUpdates_content_set_guid,
2750 { "Content Set Guid", "frstrans.frstrans_RequestUpdates.content_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2751 { &hf_frstrans_frstrans_RequestUpdates_credits_available,
2752 { "Credits Available", "frstrans.frstrans_RequestUpdates.credits_available", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2753 { &hf_frstrans_frstrans_RequestUpdates_frs_update,
2754 { "Frs Update", "frstrans.frstrans_RequestUpdates.frs_update", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2755 { &hf_frstrans_frstrans_RequestUpdates_gvsn_db_guid,
2756 { "Gvsn Db Guid", "frstrans.frstrans_RequestUpdates.gvsn_db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2757 { &hf_frstrans_frstrans_RequestUpdates_gvsn_version,
2758 { "Gvsn Version", "frstrans.frstrans_RequestUpdates.gvsn_version", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2759 { &hf_frstrans_frstrans_RequestUpdates_hash_requested,
2760 { "Hash Requested", "frstrans.frstrans_RequestUpdates.hash_requested", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2761 { &hf_frstrans_frstrans_RequestUpdates_update_count,
2762 { "Update Count", "frstrans.frstrans_RequestUpdates.update_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2763 { &hf_frstrans_frstrans_RequestUpdates_update_request_type,
2764 { "Update Request Type", "frstrans.frstrans_RequestUpdates.update_request_type", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_UpdateRequestType_vals), 0, NULL, HFILL }},
2765 { &hf_frstrans_frstrans_RequestUpdates_update_status,
2766 { "Update Status", "frstrans.frstrans_RequestUpdates.update_status", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_UpdateStatus_vals), 0, NULL, HFILL }},
2767 { &hf_frstrans_frstrans_RequestUpdates_version_vector_diff,
2768 { "Version Vector Diff", "frstrans.frstrans_RequestUpdates.version_vector_diff", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2769 { &hf_frstrans_frstrans_RequestUpdates_version_vector_diff_count,
2770 { "Version Vector Diff Count", "frstrans.frstrans_RequestUpdates.version_vector_diff_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2771 { &hf_frstrans_frstrans_RequestVersionVector_change_type,
2772 { "Change Type", "frstrans.frstrans_RequestVersionVector.change_type", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_VersionChangeType_vals), 0, NULL, HFILL }},
2773 { &hf_frstrans_frstrans_RequestVersionVector_connection_guid,
2774 { "Connection Guid", "frstrans.frstrans_RequestVersionVector.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2775 { &hf_frstrans_frstrans_RequestVersionVector_content_set_guid,
2776 { "Content Set Guid", "frstrans.frstrans_RequestVersionVector.content_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2777 { &hf_frstrans_frstrans_RequestVersionVector_request_type,
2778 { "Request Type", "frstrans.frstrans_RequestVersionVector.request_type", FT_UINT1632, BASE_DEC, VALS(frstrans_frstrans_VersionRequestType_vals), 0, NULL, HFILL }},
2779 { &hf_frstrans_frstrans_RequestVersionVector_sequence_number,
2780 { "Sequence Number", "frstrans.frstrans_RequestVersionVector.sequence_number", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2781 { &hf_frstrans_frstrans_RequestVersionVector_vv_generation,
2782 { "Vv Generation", "frstrans.frstrans_RequestVersionVector.vv_generation", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2783 { &hf_frstrans_frstrans_TransportFlags_FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY,
2784 { "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 }},
2785 { &hf_frstrans_frstrans_Update_attributes,
2786 { "Attributes", "frstrans.frstrans_Update.attributes", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2787 { &hf_frstrans_frstrans_Update_clock,
2788 { "Clock", "frstrans.frstrans_Update.clock", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
2789 { &hf_frstrans_frstrans_Update_content_set_guid,
2790 { "Content Set Guid", "frstrans.frstrans_Update.content_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2791 { &hf_frstrans_frstrans_Update_create_time,
2792 { "Create Time", "frstrans.frstrans_Update.create_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
2793 { &hf_frstrans_frstrans_Update_fence,
2794 { "Fence", "frstrans.frstrans_Update.fence", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
2795 { &hf_frstrans_frstrans_Update_flags,
2796 { "Flags", "frstrans.frstrans_Update.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2797 { &hf_frstrans_frstrans_Update_gsvn_db_guid,
2798 { "Gsvn Db Guid", "frstrans.frstrans_Update.gsvn_db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2799 { &hf_frstrans_frstrans_Update_gsvn_version,
2800 { "Gsvn Version", "frstrans.frstrans_Update.gsvn_version", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2801 { &hf_frstrans_frstrans_Update_name,
2802 { "Name", "frstrans.frstrans_Update.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2803 { &hf_frstrans_frstrans_Update_name_conflict,
2804 { "Name Conflict", "frstrans.frstrans_Update.name_conflict", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2805 { &hf_frstrans_frstrans_Update_parent_db_guid,
2806 { "Parent Db Guid", "frstrans.frstrans_Update.parent_db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2807 { &hf_frstrans_frstrans_Update_parent_version,
2808 { "Parent Version", "frstrans.frstrans_Update.parent_version", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2809 { &hf_frstrans_frstrans_Update_present,
2810 { "Present", "frstrans.frstrans_Update.present", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2811 { &hf_frstrans_frstrans_Update_rdc_similarity,
2812 { "Rdc Similarity", "frstrans.frstrans_Update.rdc_similarity", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2813 { &hf_frstrans_frstrans_Update_sha1_hash,
2814 { "Sha1 Hash", "frstrans.frstrans_Update.sha1_hash", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2815 { &hf_frstrans_frstrans_Update_uid_db_guid,
2816 { "Uid Db Guid", "frstrans.frstrans_Update.uid_db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2817 { &hf_frstrans_frstrans_Update_uid_version,
2818 { "Uid Version", "frstrans.frstrans_Update.uid_version", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2819 { &hf_frstrans_frstrans_VersionVector_db_guid,
2820 { "Db Guid", "frstrans.frstrans_VersionVector.db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2821 { &hf_frstrans_frstrans_VersionVector_high,
2822 { "High", "frstrans.frstrans_VersionVector.high", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2823 { &hf_frstrans_frstrans_VersionVector_low,
2824 { "Low", "frstrans.frstrans_VersionVector.low", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2825 { &hf_frstrans_opnum,
2826 { "Operation", "frstrans.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2827 { &hf_frstrans_werror,
2828 { "Windows Error", "frstrans.werror", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &WERR_errors_ext, 0, NULL, HFILL }},
2832 static int *ett[] = {
2833 &ett_dcerpc_frstrans,
2834 &ett_frstrans_frstrans_TransportFlags,
2835 &ett_frstrans_frstrans_VersionVector,
2836 &ett_frstrans_frstrans_Update,
2837 &ett_frstrans_frstrans_EpoqueVector,
2838 &ett_frstrans_frstrans_AsyncVersionVectorResponse,
2839 &ett_frstrans_frstrans_AsyncResponseContext,
2840 &ett_frstrans_frstrans_RdcParameterGeneric,
2841 &ett_frstrans_frstrans_RdcParameterFilterMax,
2842 &ett_frstrans_frstrans_RdcParameterFilterPoint,
2843 &ett_frstrans_frstrans_RdcParameterUnion,
2844 &ett_frstrans_frstrans_RdcParameters,
2845 &ett_frstrans_frstrans_RdcFileInfo,
2848 proto_dcerpc_frstrans = proto_register_protocol("File Replication Service DFS-R", "FRSTRANS", "frstrans");
2849 proto_register_field_array(proto_dcerpc_frstrans, hf, array_length (hf));
2850 proto_register_subtree_array(ett, array_length(ett));
2853 void proto_reg_handoff_dcerpc_frstrans(void)
2855 dcerpc_init_uuid(proto_dcerpc_frstrans, ett_dcerpc_frstrans,
2856 &uuid_dcerpc_frstrans, ver_dcerpc_frstrans,
2857 frstrans_dissectors, hf_frstrans_opnum);