MSWSP: add two more Property Sets
[wireshark-wip.git] / epan / dissectors / packet-dcerpc-frstrans.c
blob92dcbc5c7324bcb4489e95e49fbff72b2f1434bf
1 /* DO NOT EDIT
2 This filter was automatically generated
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 http://wiki.wireshark.org/Pidl
10 $Id$
14 #include "config.h"
16 #ifdef _MSC_VER
17 #pragma warning(disable:4005)
18 #pragma warning(disable:4013)
19 #pragma warning(disable:4018)
20 #pragma warning(disable:4101)
21 #endif
23 #include <glib.h>
24 #include <string.h>
25 #include <epan/packet.h>
27 #include "packet-dcerpc.h"
28 #include "packet-dcerpc-nt.h"
29 #include "packet-windows-common.h"
30 #include "packet-dcerpc-frstrans.h"
32 /* Ett declarations */
33 static gint ett_dcerpc_frstrans = -1;
34 static gint ett_frstrans_frstrans_TransportFlags = -1;
35 static gint ett_frstrans_frstrans_VersionVector = -1;
36 static gint ett_frstrans_frstrans_Update = -1;
37 static gint ett_frstrans_frstrans_EpoqueVector = -1;
38 static gint ett_frstrans_frstrans_AsyncVersionVectorResponse = -1;
39 static gint ett_frstrans_frstrans_AsyncResponseContext = -1;
40 static gint ett_frstrans_frstrans_RdcParameterGeneric = -1;
41 static gint ett_frstrans_frstrans_RdcParameterFilterMax = -1;
42 static gint ett_frstrans_frstrans_RdcParameterFilterPoint = -1;
43 static gint ett_frstrans_frstrans_RdcParameterUnion = -1;
44 static gint ett_frstrans_frstrans_RdcParameters = -1;
45 static gint ett_frstrans_frstrans_RdcFileInfo = -1;
48 /* Header field declarations */
49 static gint hf_frstrans_frstrans_EpoqueVector_minute = -1;
50 static gint hf_frstrans_frstrans_RdcParameterFilterPoint_max_chunk_size = -1;
51 static gint hf_frstrans_frstrans_Update_sha1_hash = -1;
52 static gint hf_frstrans_frstrans_RequestVersionVector_change_type = -1;
53 static gint hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector = -1;
54 static gint hf_frstrans_frstrans_EpoqueVector_year = -1;
55 static gint hf_frstrans_frstrans_Update_fence = -1;
56 static gint hf_frstrans_frstrans_RequestVersionVector_sequence_number = -1;
57 static gint hf_frstrans_opnum = -1;
58 static gint hf_frstrans_frstrans_VersionVector_db_guid = -1;
59 static gint hf_frstrans_frstrans_RdcParameters_rdc_chunker_algorithm = -1;
60 static gint hf_frstrans_frstrans_Update_uid_version = -1;
61 static gint hf_frstrans_frstrans_RequestUpdates_version_vector_diff_count = -1;
62 static gint hf_frstrans_frstrans_EstablishConnection_connection_guid = -1;
63 static gint hf_frstrans_frstrans_RequestUpdates_credits_available = -1;
64 static gint hf_frstrans_frstrans_RdcParameterFilterMax_max_window_size = -1;
65 static gint hf_frstrans_frstrans_Update_name = -1;
66 static gint hf_frstrans_frstrans_VersionVector_low = -1;
67 static gint hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector_count = -1;
68 static gint hf_frstrans_frstrans_EstablishConnection_downstream_flags = -1;
69 static gint hf_frstrans_frstrans_RdcParameterGeneric_chunker_parameters = -1;
70 static gint hf_frstrans_frstrans_RdcFileInfo_compression_algorithm = -1;
71 static gint hf_frstrans_frstrans_Update_flags = -1;
72 static gint hf_frstrans_frstrans_EpoqueVector_machine_guid = -1;
73 static gint hf_frstrans_frstrans_InitializeFileTransferAsync_connection_guid = -1;
74 static gint hf_frstrans_frstrans_RdcParameterUnion_filter_point = -1;
75 static gint hf_frstrans_frstrans_RdcParameterFilterMax_min_horizon_size = -1;
76 static gint hf_frstrans_frstrans_RdcParameterUnion_filter_generic = -1;
77 static gint hf_frstrans_frstrans_EpoqueVector_second = -1;
78 static gint hf_frstrans_frstrans_RdcFileInfo_rdc_filter_parameters = -1;
79 static gint hf_frstrans_frstrans_RequestVersionVector_content_set_guid = -1;
80 static gint hf_frstrans_frstrans_EpoqueVector_day = -1;
81 static gint hf_frstrans_frstrans_InitializeFileTransferAsync_frs_update = -1;
82 static gint hf_frstrans_frstrans_InitializeFileTransferAsync_is_end_of_file = -1;
83 static gint hf_frstrans_frstrans_EstablishConnection_upstream_flags = -1;
84 static gint hf_frstrans_frstrans_EstablishConnection_downstream_protocol_version = -1;
85 static gint hf_frstrans_frstrans_RequestUpdates_update_status = -1;
86 static gint hf_frstrans_frstrans_AsyncPoll_connection_guid = -1;
87 static gint hf_frstrans_frstrans_AsyncResponseContext_response = -1;
88 static gint hf_frstrans_frstrans_AsyncResponseContext_sequence_number = -1;
89 static gint hf_frstrans_frstrans_InitializeFileTransferAsync_data_buffer = -1;
90 static gint hf_frstrans_frstrans_RequestVersionVector_request_type = -1;
91 static gint hf_frstrans_frstrans_Update_present = -1;
92 static gint hf_frstrans_frstrans_Update_gsvn_version = -1;
93 static gint hf_frstrans_frstrans_RdcParameterGeneric_chunker_type = -1;
94 static gint hf_frstrans_frstrans_TransportFlags_FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY = -1;
95 static gint hf_frstrans_frstrans_RdcFileInfo_file_size_estimate = -1;
96 static gint hf_frstrans_frstrans_CheckConnectivity_replica_set_guid = -1;
97 static gint hf_frstrans_frstrans_EstablishSession_connection_guid = -1;
98 static gint hf_frstrans_frstrans_EstablishSession_content_set_guid = -1;
99 static gint hf_frstrans_frstrans_Update_content_set_guid = -1;
100 static gint hf_frstrans_frstrans_RequestUpdates_update_count = -1;
101 static gint hf_frstrans_frstrans_Update_rdc_similarity = -1;
102 static gint hf_frstrans_frstrans_AsyncPoll_response = -1;
103 static gint hf_frstrans_frstrans_RequestUpdates_version_vector_diff = -1;
104 static gint hf_frstrans_frstrans_Update_clock = -1;
105 static gint hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector = -1;
106 static gint hf_frstrans_frstrans_VersionVector_high = -1;
107 static gint hf_frstrans_frstrans_EpoqueVector_day_of_week = -1;
108 static gint hf_frstrans_frstrans_Update_create_time = -1;
109 static gint hf_frstrans_frstrans_EpoqueVector_milli_seconds = -1;
110 static gint hf_frstrans_frstrans_RdcFileInfo_rdc_minimum_compatible_version = -1;
111 static gint hf_frstrans_frstrans_CheckConnectivity_connection_guid = -1;
112 static gint hf_frstrans_frstrans_Update_uid_db_guid = -1;
113 static gint hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector_count = -1;
114 static gint hf_frstrans_frstrans_Update_parent_version = -1;
115 static gint hf_frstrans_frstrans_RdcParameterFilterPoint_min_chunk_size = -1;
116 static gint hf_frstrans_frstrans_EstablishConnection_replica_set_guid = -1;
117 static gint hf_frstrans_frstrans_InitializeFileTransferAsync_server_context = -1;
118 static gint hf_frstrans_frstrans_Update_gsvn_db_guid = -1;
119 static gint hf_frstrans_frstrans_RequestUpdates_update_request_type = -1;
120 static gint hf_frstrans_frstrans_Update_attributes = -1;
121 static gint hf_frstrans_frstrans_InitializeFileTransferAsync_buffer_size = -1;
122 static gint hf_frstrans_frstrans_RequestVersionVector_vv_generation = -1;
123 static gint hf_frstrans_frstrans_RequestUpdates_gvsn_version = -1;
124 static gint hf_frstrans_frstrans_RdcParameterUnion_filter_max = -1;
125 static gint hf_frstrans_frstrans_AsyncVersionVectorResponse_vv_generation = -1;
126 static gint hf_frstrans_frstrans_InitializeFileTransferAsync_staging_policy = -1;
127 static gint hf_frstrans_frstrans_RequestUpdates_gvsn_db_guid = -1;
128 static gint hf_frstrans_frstrans_RequestUpdates_hash_requested = -1;
129 static gint hf_frstrans_frstrans_RdcFileInfo_on_disk_file_size = -1;
130 static gint hf_frstrans_frstrans_RdcParameters_u = -1;
131 static gint hf_frstrans_frstrans_RdcFileInfo_rdc_version = -1;
132 static gint hf_frstrans_frstrans_EpoqueVector_hour = -1;
133 static gint hf_frstrans_frstrans_RequestUpdates_frs_update = -1;
134 static gint hf_frstrans_frstrans_AsyncResponseContext_status = -1;
135 static gint hf_frstrans_frstrans_RequestUpdates_content_set_guid = -1;
136 static gint hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_desired = -1;
137 static gint hf_frstrans_frstrans_Update_name_conflict = -1;
138 static gint hf_frstrans_frstrans_EstablishConnection_upstream_protocol_version = -1;
139 static gint hf_frstrans_frstrans_RequestUpdates_connection_guid = -1;
140 static gint hf_frstrans_werror = -1;
141 static gint hf_frstrans_frstrans_Update_parent_db_guid = -1;
142 static gint hf_frstrans_frstrans_EpoqueVector_month = -1;
143 static gint hf_frstrans_frstrans_RdcFileInfo_rdc_signature_levels = -1;
144 static gint hf_frstrans_frstrans_InitializeFileTransferAsync_size_read = -1;
145 static gint hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_file_info = -1;
146 static gint hf_frstrans_frstrans_RequestVersionVector_connection_guid = -1;
148 static gint proto_dcerpc_frstrans = -1;
149 /* Version information */
152 static e_uuid_t uuid_dcerpc_frstrans = {
153 0x897e2e5f, 0x93f3, 0x4376,
154 { 0x9c, 0x9c, 0xfd, 0x22, 0x77, 0x49, 0x5c, 0x27 }
156 static guint16 ver_dcerpc_frstrans = 1;
158 const value_string frstrans_frstrans_ProtocolVersion_vals[] = {
159 { FRSTRANS_PROTOCOL_VERSION_W2K3R2, "FRSTRANS_PROTOCOL_VERSION_W2K3R2" },
160 { FRSTRANS_PROTOCOL_VERSION_LONGHORN_SERVER, "FRSTRANS_PROTOCOL_VERSION_LONGHORN_SERVER" },
161 { 0, NULL }
163 static const true_false_string frstrans_TransportFlags_FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY_tfs = {
164 "FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY is SET",
165 "FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY is NOT SET",
167 const value_string frstrans_frstrans_UpdateRequestType_vals[] = {
168 { FRSTRANS_UPDATE_REQUEST_ALL, "FRSTRANS_UPDATE_REQUEST_ALL" },
169 { FRSTRANS_UPDATE_REQUEST_TOMBSTONES, "FRSTRANS_UPDATE_REQUEST_TOMBSTONES" },
170 { FRSTRANS_UPDATE_REQUEST_LIVE, "FRSTRANS_UPDATE_REQUEST_LIVE" },
171 { 0, NULL }
173 const value_string frstrans_frstrans_UpdateStatus_vals[] = {
174 { FRSTRANS_UPDATE_STATUS_DONE, "FRSTRANS_UPDATE_STATUS_DONE" },
175 { FRSTRANS_UPDATE_STATUS_MORE, "FRSTRANS_UPDATE_STATUS_MORE" },
176 { 0, NULL }
178 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_, guint8 *drep _U_);
179 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_, guint8 *drep _U_);
180 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_, guint8 *drep _U_);
181 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_, guint8 *drep _U_);
182 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_, guint8 *drep _U_);
183 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_, guint8 *drep _U_);
184 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_, guint8 *drep _U_);
185 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_, guint8 *drep _U_);
186 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_, guint8 *drep _U_);
187 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_, guint8 *drep _U_);
188 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_, guint8 *drep _U_);
189 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_, guint8 *drep _U_);
190 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_, guint8 *drep _U_);
191 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_, guint8 *drep _U_);
192 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_, guint8 *drep _U_);
193 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_, guint8 *drep _U_);
194 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_, guint8 *drep _U_);
195 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_, guint8 *drep _U_);
196 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_, guint8 *drep _U_);
197 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_, guint8 *drep _U_);
198 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_, guint8 *drep _U_);
199 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_, guint8 *drep _U_);
200 const value_string frstrans_frstrans_VersionRequestType_vals[] = {
201 { FRSTRANS_VERSION_REQUEST_NORNAL_SYNC, "FRSTRANS_VERSION_REQUEST_NORNAL_SYNC" },
202 { FRSTRANS_VERSION_REQUEST_SLOW_SYNC, "FRSTRANS_VERSION_REQUEST_SLOW_SYNC" },
203 { FRSTRANS_VERSION_REQUEST_SLAVE_SYNC, "FRSTRANS_VERSION_REQUEST_SLAVE_SYNC" },
204 { 0, NULL }
206 const value_string frstrans_frstrans_VersionChangeType_vals[] = {
207 { FRSTRANS_VERSION_CHANGE_NOTIFY, "FRSTRANS_VERSION_CHANGE_NOTIFY" },
208 { FRSTRANS_VERSION_CHANGE_ALL, "FRSTRANS_VERSION_CHANGE_ALL" },
209 { 0, NULL }
211 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_, guint8 *drep _U_);
212 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_, guint8 *drep _U_);
213 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_, guint8 *drep _U_);
214 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_, guint8 *drep _U_);
215 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_, guint8 *drep _U_);
216 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_, guint8 *drep _U_);
217 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_, guint8 *drep _U_);
218 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_, guint8 *drep _U_);
219 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_, guint8 *drep _U_);
220 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_, guint8 *drep _U_);
221 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_, guint8 *drep _U_);
222 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_, guint8 *drep _U_);
223 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_, guint8 *drep _U_);
224 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_, guint8 *drep _U_);
225 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_, guint8 *drep _U_);
226 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_, guint8 *drep _U_);
227 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_, guint8 *drep _U_);
228 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_, guint8 *drep _U_);
229 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_, guint8 *drep _U_);
230 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_, guint8 *drep _U_);
231 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_, guint8 *drep _U_);
232 const value_string frstrans_frstrans_RequestedStagingPolicy_vals[] = {
233 { FRSTRANS_STAGING_POLICY_SERVER_DEFAULTY, "FRSTRANS_STAGING_POLICY_SERVER_DEFAULTY" },
234 { FRSTRANS_STAGING_POLICY_STATGING_REQUIRED, "FRSTRANS_STAGING_POLICY_STATGING_REQUIRED" },
235 { FRSTRANS_STAGING_POLICY_RESTATGING_REQUIRED, "FRSTRANS_STAGING_POLICY_RESTATGING_REQUIRED" },
236 { 0, NULL }
238 const value_string frstrans_frstrans_RdcChunckerAlgorithm_vals[] = {
239 { FRSTRANS_RDC_FILTER_GENERIC, "FRSTRANS_RDC_FILTER_GENERIC" },
240 { FRSTRANS_RDC_FILTER_MAX, "FRSTRANS_RDC_FILTER_MAX" },
241 { FRSTRANS_RDC_FILTER_POINT, "FRSTRANS_RDC_FILTER_POINT" },
242 { FRSTRANS_RDC_MAX_ALGORITHM, "FRSTRANS_RDC_MAX_ALGORITHM" },
243 { 0, NULL }
245 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_, guint8 *drep _U_);
246 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_, guint8 *drep _U_);
247 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_, guint8 *drep _U_);
248 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_, guint8 *drep _U_);
249 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_, guint8 *drep _U_);
250 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_, guint8 *drep _U_);
251 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_, guint8 *drep _U_);
252 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_, guint8 *drep _U_);
253 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_, guint8 *drep _U_);
254 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_, guint8 *drep _U_);
255 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_, guint8 *drep _U_);
256 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_, guint8 *drep _U_);
257 const value_string frstrans_frstrans_RdcVersion_vals[] = {
258 { FRSTRANS_RDC_VERSION, "FRSTRANS_RDC_VERSION" },
259 { 0, NULL }
261 const value_string frstrans_frstrans_RdcVersionCompatible_vals[] = {
262 { FRSTRANS_RDC_VERSION_COMPATIBLE, "FRSTRANS_RDC_VERSION_COMPATIBLE" },
263 { 0, NULL }
265 const value_string frstrans_frstrans_RdcCompressionAlgorithm_vals[] = {
266 { FRSTRANS_RDC_UNCOMPRESSED, "FRSTRANS_RDC_UNCOMPRESSED" },
267 { FRSTRANS_RDC_XPRESS, "FRSTRANS_RDC_XPRESS" },
268 { 0, NULL }
270 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_, guint8 *drep _U_);
271 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_, guint8 *drep _U_);
272 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_, guint8 *drep _U_);
273 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_, guint8 *drep _U_);
274 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_, guint8 *drep _U_);
275 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_, guint8 *drep _U_);
276 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_, guint8 *drep _U_);
277 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_, guint8 *drep _U_);
278 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_, guint8 *drep _U_);
279 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_, guint8 *drep _U_);
280 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_, guint8 *drep _U_);
281 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_, guint8 *drep _U_);
282 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_, guint8 *drep _U_);
283 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_, guint8 *drep _U_);
284 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_, guint8 *drep _U_);
285 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_, guint8 *drep _U_);
286 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_, guint8 *drep _U_);
287 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_, guint8 *drep _U_);
288 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_, guint8 *drep _U_);
289 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_, guint8 *drep _U_);
290 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_, guint8 *drep _U_);
291 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_, guint8 *drep _U_);
292 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_, guint8 *drep _U_);
293 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_, guint8 *drep _U_);
294 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_, guint8 *drep _U_);
295 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_, guint8 *drep _U_);
296 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_, guint8 *drep _U_);
297 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_, guint8 *drep _U_);
298 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_, guint8 *drep _U_);
299 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_, guint8 *drep _U_);
300 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_, guint8 *drep _U_);
301 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_, guint8 *drep _U_);
302 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_, guint8 *drep _U_);
303 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_, guint8 *drep _U_);
304 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_, guint8 *drep _U_);
305 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_, guint8 *drep _U_);
306 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_, guint8 *drep _U_);
307 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_, guint8 *drep _U_);
308 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_, guint8 *drep _U_);
309 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_, guint8 *drep _U_);
310 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_, guint8 *drep _U_);
311 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_, guint8 *drep _U_);
312 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_, guint8 *drep _U_);
313 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_, guint8 *drep _U_);
314 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_, guint8 *drep _U_);
315 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_, guint8 *drep _U_);
316 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_, guint8 *drep _U_);
317 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_, guint8 *drep _U_);
318 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_, guint8 *drep _U_);
319 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_, guint8 *drep _U_);
320 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_, guint8 *drep _U_);
321 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_, guint8 *drep _U_);
322 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_, guint8 *drep _U_);
323 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_, guint8 *drep _U_);
324 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_, guint8 *drep _U_);
325 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_, guint8 *drep _U_);
326 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_, guint8 *drep _U_);
327 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_, guint8 *drep _U_);
328 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_, guint8 *drep _U_);
329 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_, guint8 *drep _U_);
330 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_, guint8 *drep _U_);
331 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_, guint8 *drep _U_);
332 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_, guint8 *drep _U_);
333 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_, guint8 *drep _U_);
334 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_, guint8 *drep _U_);
335 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_, guint8 *drep _U_);
336 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_, guint8 *drep _U_);
337 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_, guint8 *drep _U_);
338 static int
339 cnf_dissect_hyper(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep, guint32 param _U_, int hfindex)
341 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hfindex, NULL);
342 return offset;
346 /* IDL: enum { */
347 /* IDL: FRSTRANS_PROTOCOL_VERSION_W2K3R2=0x00050000, */
348 /* IDL: FRSTRANS_PROTOCOL_VERSION_LONGHORN_SERVER=0x00050002, */
349 /* IDL: } */
352 frstrans_dissect_enum_ProtocolVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
354 guint32 parameter=0;
355 if(param){
356 parameter=(guint32)*param;
358 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
359 if(param){
360 *param=(guint32)parameter;
362 return offset;
366 /* IDL: bitmap { */
367 /* IDL: FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY = 0x00000001 , */
368 /* IDL: } */
371 frstrans_dissect_bitmap_TransportFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
373 proto_item *item = NULL;
374 proto_tree *tree = NULL;
376 guint32 flags;
377 ALIGN_TO_4_BYTES;
379 if (parent_tree) {
380 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, TRUE);
381 tree = proto_item_add_subtree(item,ett_frstrans_frstrans_TransportFlags);
384 offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, di, drep, -1, &flags);
385 proto_item_append_text(item, ": ");
387 if (!flags)
388 proto_item_append_text(item, "(No values set)");
390 proto_tree_add_boolean(tree, hf_frstrans_frstrans_TransportFlags_FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY, tvb, offset-4, 4, flags);
391 if (flags&( 0x00000001 )){
392 proto_item_append_text(item, "FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY");
393 if (flags & (~( 0x00000001 )))
394 proto_item_append_text(item, ", ");
396 flags&=(~( 0x00000001 ));
398 if (flags) {
399 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
402 return offset;
406 /* IDL: enum { */
407 /* IDL: FRSTRANS_UPDATE_REQUEST_ALL=0x0000, */
408 /* IDL: FRSTRANS_UPDATE_REQUEST_TOMBSTONES=0x0001, */
409 /* IDL: FRSTRANS_UPDATE_REQUEST_LIVE=0x0002, */
410 /* IDL: } */
413 frstrans_dissect_enum_UpdateRequestType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
415 guint16 parameter=0;
416 if(param){
417 parameter=(guint16)*param;
419 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
420 if(param){
421 *param=(guint32)parameter;
423 return offset;
427 /* IDL: enum { */
428 /* IDL: FRSTRANS_UPDATE_STATUS_DONE=0x0002, */
429 /* IDL: FRSTRANS_UPDATE_STATUS_MORE=0x0003, */
430 /* IDL: } */
433 frstrans_dissect_enum_UpdateStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
435 guint16 parameter=0;
436 if(param){
437 parameter=(guint16)*param;
439 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
440 if(param){
441 *param=(guint32)parameter;
443 return offset;
447 /* IDL: struct { */
448 /* IDL: GUID db_guid; */
449 /* IDL: hyper low; */
450 /* IDL: hyper high; */
451 /* IDL: } */
453 static int
454 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_, guint8 *drep _U_)
456 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_VersionVector_db_guid, NULL);
458 return offset;
461 static int
462 frstrans_dissect_element_VersionVector_low(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
464 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_frstrans_frstrans_VersionVector_low);
466 return offset;
469 static int
470 frstrans_dissect_element_VersionVector_high(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
472 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_frstrans_frstrans_VersionVector_high);
474 return offset;
478 frstrans_dissect_struct_VersionVector(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
480 proto_item *item = NULL;
481 proto_tree *tree = NULL;
482 int old_offset;
484 ALIGN_TO_8_BYTES;
486 old_offset = offset;
488 if (parent_tree) {
489 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
490 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_VersionVector);
493 offset = frstrans_dissect_element_VersionVector_db_guid(tvb, offset, pinfo, tree, di, drep);
495 offset = frstrans_dissect_element_VersionVector_low(tvb, offset, pinfo, tree, di, drep);
497 offset = frstrans_dissect_element_VersionVector_high(tvb, offset, pinfo, tree, di, drep);
500 proto_item_set_len(item, offset-old_offset);
502 return offset;
506 /* IDL: struct { */
507 /* IDL: uint32 present; */
508 /* IDL: uint32 name_conflict; */
509 /* IDL: uint32 attributes; */
510 /* IDL: NTTIME fence; */
511 /* IDL: NTTIME clock; */
512 /* IDL: NTTIME create_time; */
513 /* IDL: GUID content_set_guid; */
514 /* IDL: uint8 sha1_hash[20]; */
515 /* IDL: uint8 rdc_similarity[16]; */
516 /* IDL: GUID uid_db_guid; */
517 /* IDL: hyper uid_version; */
518 /* IDL: GUID gsvn_db_guid; */
519 /* IDL: hyper gsvn_version; */
520 /* IDL: GUID parent_db_guid; */
521 /* IDL: hyper parent_version; */
522 /* IDL: [charset(UTF16)] uint16 name[261]; */
523 /* IDL: uint32 flags; */
524 /* IDL: } */
526 static int
527 frstrans_dissect_element_Update_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
529 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_present, 0);
531 return offset;
534 static int
535 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_, guint8 *drep _U_)
537 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_name_conflict, 0);
539 return offset;
542 static int
543 frstrans_dissect_element_Update_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
545 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_attributes, 0);
547 return offset;
550 static int
551 frstrans_dissect_element_Update_fence(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
553 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_fence);
555 return offset;
558 static int
559 frstrans_dissect_element_Update_clock(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
561 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_clock);
563 return offset;
566 static int
567 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_, guint8 *drep _U_)
569 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_create_time);
571 return offset;
574 static int
575 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_, guint8 *drep _U_)
577 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_content_set_guid, NULL);
579 return offset;
582 static int
583 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_, guint8 *drep _U_)
585 int i;
586 for (i = 0; i < 20; i++)
587 offset = frstrans_dissect_element_Update_sha1_hash_(tvb, offset, pinfo, tree, di, drep);
589 return offset;
592 static int
593 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_, guint8 *drep _U_)
595 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_sha1_hash, 0);
597 return offset;
600 static int
601 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_, guint8 *drep _U_)
603 int i;
604 for (i = 0; i < 16; i++)
605 offset = frstrans_dissect_element_Update_rdc_similarity_(tvb, offset, pinfo, tree, di, drep);
607 return offset;
610 static int
611 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_, guint8 *drep _U_)
613 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_rdc_similarity, 0);
615 return offset;
618 static int
619 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_, guint8 *drep _U_)
621 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_uid_db_guid, NULL);
623 return offset;
626 static int
627 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_, guint8 *drep _U_)
629 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_frstrans_frstrans_Update_uid_version);
631 return offset;
634 static int
635 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_, guint8 *drep _U_)
637 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_gsvn_db_guid, NULL);
639 return offset;
642 static int
643 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_, guint8 *drep _U_)
645 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_frstrans_frstrans_Update_gsvn_version);
647 return offset;
650 static int
651 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_, guint8 *drep _U_)
653 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_parent_db_guid, NULL);
655 return offset;
658 static int
659 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_, guint8 *drep _U_)
661 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_frstrans_frstrans_Update_parent_version);
663 return offset;
666 static int
667 frstrans_dissect_element_Update_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
669 char *data;
671 offset = dissect_ndr_vstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_frstrans_frstrans_Update_name, FALSE, &data);
672 proto_item_append_text(tree, ": %s", data);
674 return offset;
677 static int
678 frstrans_dissect_element_Update_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
680 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_Update_flags, 0);
682 return offset;
686 frstrans_dissect_struct_Update(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
688 proto_item *item = NULL;
689 proto_tree *tree = NULL;
690 int old_offset;
692 ALIGN_TO_8_BYTES;
694 old_offset = offset;
696 if (parent_tree) {
697 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
698 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_Update);
701 offset = frstrans_dissect_element_Update_present(tvb, offset, pinfo, tree, di, drep);
703 offset = frstrans_dissect_element_Update_name_conflict(tvb, offset, pinfo, tree, di, drep);
705 offset = frstrans_dissect_element_Update_attributes(tvb, offset, pinfo, tree, di, drep);
707 offset = frstrans_dissect_element_Update_fence(tvb, offset, pinfo, tree, di, drep);
709 offset = frstrans_dissect_element_Update_clock(tvb, offset, pinfo, tree, di, drep);
711 offset = frstrans_dissect_element_Update_create_time(tvb, offset, pinfo, tree, di, drep);
713 offset = frstrans_dissect_element_Update_content_set_guid(tvb, offset, pinfo, tree, di, drep);
715 offset = frstrans_dissect_element_Update_sha1_hash(tvb, offset, pinfo, tree, di, drep);
717 offset = frstrans_dissect_element_Update_rdc_similarity(tvb, offset, pinfo, tree, di, drep);
719 offset = frstrans_dissect_element_Update_uid_db_guid(tvb, offset, pinfo, tree, di, drep);
721 offset = frstrans_dissect_element_Update_uid_version(tvb, offset, pinfo, tree, di, drep);
723 offset = frstrans_dissect_element_Update_gsvn_db_guid(tvb, offset, pinfo, tree, di, drep);
725 offset = frstrans_dissect_element_Update_gsvn_version(tvb, offset, pinfo, tree, di, drep);
727 offset = frstrans_dissect_element_Update_parent_db_guid(tvb, offset, pinfo, tree, di, drep);
729 offset = frstrans_dissect_element_Update_parent_version(tvb, offset, pinfo, tree, di, drep);
731 offset = frstrans_dissect_element_Update_name(tvb, offset, pinfo, tree, di, drep);
733 offset = frstrans_dissect_element_Update_flags(tvb, offset, pinfo, tree, di, drep);
736 proto_item_set_len(item, offset-old_offset);
738 return offset;
742 /* IDL: enum { */
743 /* IDL: FRSTRANS_VERSION_REQUEST_NORNAL_SYNC=0x0000, */
744 /* IDL: FRSTRANS_VERSION_REQUEST_SLOW_SYNC=0x0001, */
745 /* IDL: FRSTRANS_VERSION_REQUEST_SLAVE_SYNC=0x0002, */
746 /* IDL: } */
749 frstrans_dissect_enum_VersionRequestType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
751 guint16 parameter=0;
752 if(param){
753 parameter=(guint16)*param;
755 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
756 if(param){
757 *param=(guint32)parameter;
759 return offset;
763 /* IDL: enum { */
764 /* IDL: FRSTRANS_VERSION_CHANGE_NOTIFY=0x0000, */
765 /* IDL: FRSTRANS_VERSION_CHANGE_ALL=0x0002, */
766 /* IDL: } */
769 frstrans_dissect_enum_VersionChangeType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
771 guint16 parameter=0;
772 if(param){
773 parameter=(guint16)*param;
775 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
776 if(param){
777 *param=(guint32)parameter;
779 return offset;
783 /* IDL: struct { */
784 /* IDL: GUID machine_guid; */
785 /* IDL: uint32 year; */
786 /* IDL: uint32 month; */
787 /* IDL: uint32 day_of_week; */
788 /* IDL: uint32 day; */
789 /* IDL: uint32 hour; */
790 /* IDL: uint32 minute; */
791 /* IDL: uint32 second; */
792 /* IDL: uint32 milli_seconds; */
793 /* IDL: } */
795 static int
796 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_, guint8 *drep _U_)
798 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_machine_guid, NULL);
800 return offset;
803 static int
804 frstrans_dissect_element_EpoqueVector_year(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
806 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_year, 0);
808 return offset;
811 static int
812 frstrans_dissect_element_EpoqueVector_month(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
814 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_month, 0);
816 return offset;
819 static int
820 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_, guint8 *drep _U_)
822 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_day_of_week, 0);
824 return offset;
827 static int
828 frstrans_dissect_element_EpoqueVector_day(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
830 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_day, 0);
832 return offset;
835 static int
836 frstrans_dissect_element_EpoqueVector_hour(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
838 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_hour, 0);
840 return offset;
843 static int
844 frstrans_dissect_element_EpoqueVector_minute(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
846 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_minute, 0);
848 return offset;
851 static int
852 frstrans_dissect_element_EpoqueVector_second(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
854 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_second, 0);
856 return offset;
859 static int
860 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_, guint8 *drep _U_)
862 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EpoqueVector_milli_seconds, 0);
864 return offset;
868 frstrans_dissect_struct_EpoqueVector(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
870 proto_item *item = NULL;
871 proto_tree *tree = NULL;
872 int old_offset;
874 ALIGN_TO_4_BYTES;
876 old_offset = offset;
878 if (parent_tree) {
879 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
880 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_EpoqueVector);
883 offset = frstrans_dissect_element_EpoqueVector_machine_guid(tvb, offset, pinfo, tree, di, drep);
885 offset = frstrans_dissect_element_EpoqueVector_year(tvb, offset, pinfo, tree, di, drep);
887 offset = frstrans_dissect_element_EpoqueVector_month(tvb, offset, pinfo, tree, di, drep);
889 offset = frstrans_dissect_element_EpoqueVector_day_of_week(tvb, offset, pinfo, tree, di, drep);
891 offset = frstrans_dissect_element_EpoqueVector_day(tvb, offset, pinfo, tree, di, drep);
893 offset = frstrans_dissect_element_EpoqueVector_hour(tvb, offset, pinfo, tree, di, drep);
895 offset = frstrans_dissect_element_EpoqueVector_minute(tvb, offset, pinfo, tree, di, drep);
897 offset = frstrans_dissect_element_EpoqueVector_second(tvb, offset, pinfo, tree, di, drep);
899 offset = frstrans_dissect_element_EpoqueVector_milli_seconds(tvb, offset, pinfo, tree, di, drep);
902 proto_item_set_len(item, offset-old_offset);
904 return offset;
908 /* IDL: struct { */
909 /* IDL: hyper vv_generation; */
910 /* IDL: uint32 version_vector_count; */
911 /* IDL: [unique(1)] [size_is(version_vector_count)] frstrans_VersionVector *version_vector; */
912 /* IDL: uint32 epoque_vector_count; */
913 /* IDL: [unique(1)] [size_is(epoque_vector_count)] frstrans_EpoqueVector *epoque_vector; */
914 /* IDL: } */
916 static int
917 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_, guint8 *drep _U_)
919 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_frstrans_frstrans_AsyncVersionVectorResponse_vv_generation);
921 return offset;
924 static int
925 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_, guint8 *drep _U_)
927 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector_count, 0);
929 return offset;
932 static int
933 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_, guint8 *drep _U_)
935 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);
937 return offset;
940 static int
941 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_, guint8 *drep _U_)
943 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_AsyncVersionVectorResponse_version_vector__);
945 return offset;
948 static int
949 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_, guint8 *drep _U_)
951 offset = frstrans_dissect_struct_VersionVector(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector,0);
953 return offset;
956 static int
957 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_, guint8 *drep _U_)
959 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector_count, 0);
961 return offset;
964 static int
965 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_, guint8 *drep _U_)
967 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);
969 return offset;
972 static int
973 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_, guint8 *drep _U_)
975 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector__);
977 return offset;
980 static int
981 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_, guint8 *drep _U_)
983 offset = frstrans_dissect_struct_EpoqueVector(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector,0);
985 return offset;
989 frstrans_dissect_struct_AsyncVersionVectorResponse(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
991 proto_item *item = NULL;
992 proto_tree *tree = NULL;
993 int old_offset;
995 ALIGN_TO_8_BYTES;
997 old_offset = offset;
999 if (parent_tree) {
1000 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1001 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_AsyncVersionVectorResponse);
1004 offset = frstrans_dissect_element_AsyncVersionVectorResponse_vv_generation(tvb, offset, pinfo, tree, di, drep);
1006 offset = frstrans_dissect_element_AsyncVersionVectorResponse_version_vector_count(tvb, offset, pinfo, tree, di, drep);
1008 offset = frstrans_dissect_element_AsyncVersionVectorResponse_version_vector(tvb, offset, pinfo, tree, di, drep);
1010 offset = frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector_count(tvb, offset, pinfo, tree, di, drep);
1012 offset = frstrans_dissect_element_AsyncVersionVectorResponse_epoque_vector(tvb, offset, pinfo, tree, di, drep);
1015 proto_item_set_len(item, offset-old_offset);
1017 return offset;
1021 /* IDL: struct { */
1022 /* IDL: uint32 sequence_number; */
1023 /* IDL: WERROR status; */
1024 /* IDL: frstrans_AsyncVersionVectorResponse response; */
1025 /* IDL: } */
1027 static int
1028 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_, guint8 *drep _U_)
1030 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncResponseContext_sequence_number, 0);
1032 return offset;
1035 static int
1036 frstrans_dissect_element_AsyncResponseContext_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1038 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncResponseContext_status, 0);
1040 return offset;
1043 static int
1044 frstrans_dissect_element_AsyncResponseContext_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1046 offset = frstrans_dissect_struct_AsyncVersionVectorResponse(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_AsyncResponseContext_response,0);
1048 return offset;
1052 frstrans_dissect_struct_AsyncResponseContext(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1054 proto_item *item = NULL;
1055 proto_tree *tree = NULL;
1056 int old_offset;
1058 ALIGN_TO_8_BYTES;
1060 old_offset = offset;
1062 if (parent_tree) {
1063 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1064 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_AsyncResponseContext);
1067 offset = frstrans_dissect_element_AsyncResponseContext_sequence_number(tvb, offset, pinfo, tree, di, drep);
1069 offset = frstrans_dissect_element_AsyncResponseContext_status(tvb, offset, pinfo, tree, di, drep);
1071 offset = frstrans_dissect_element_AsyncResponseContext_response(tvb, offset, pinfo, tree, di, drep);
1074 proto_item_set_len(item, offset-old_offset);
1076 return offset;
1080 /* IDL: enum { */
1081 /* IDL: FRSTRANS_STAGING_POLICY_SERVER_DEFAULTY=0x0000, */
1082 /* IDL: FRSTRANS_STAGING_POLICY_STATGING_REQUIRED=0x0001, */
1083 /* IDL: FRSTRANS_STAGING_POLICY_RESTATGING_REQUIRED=0x0002, */
1084 /* IDL: } */
1087 frstrans_dissect_enum_RequestedStagingPolicy(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
1089 guint16 parameter=0;
1090 if(param){
1091 parameter=(guint16)*param;
1093 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1094 if(param){
1095 *param=(guint32)parameter;
1097 return offset;
1101 /* IDL: enum { */
1102 /* IDL: FRSTRANS_RDC_FILTER_GENERIC=0x0000, */
1103 /* IDL: FRSTRANS_RDC_FILTER_MAX=0x0001, */
1104 /* IDL: FRSTRANS_RDC_FILTER_POINT=0x0002, */
1105 /* IDL: FRSTRANS_RDC_MAX_ALGORITHM=0x0003, */
1106 /* IDL: } */
1109 frstrans_dissect_enum_RdcChunckerAlgorithm(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
1111 guint16 parameter=0;
1112 if(param){
1113 parameter=(guint16)*param;
1115 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1116 if(param){
1117 *param=(guint32)parameter;
1119 return offset;
1123 /* IDL: struct { */
1124 /* IDL: frstrans_RdcChunckerAlgorithm chunker_type; */
1125 /* IDL: uint8 chunker_parameters[64]; */
1126 /* IDL: } */
1128 static int
1129 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_, guint8 *drep _U_)
1131 offset = frstrans_dissect_enum_RdcChunckerAlgorithm(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterGeneric_chunker_type, 0);
1133 return offset;
1136 static int
1137 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_, guint8 *drep _U_)
1139 int i;
1140 for (i = 0; i < 64; i++)
1141 offset = frstrans_dissect_element_RdcParameterGeneric_chunker_parameters_(tvb, offset, pinfo, tree, di, drep);
1143 return offset;
1146 static int
1147 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_, guint8 *drep _U_)
1149 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterGeneric_chunker_parameters, 0);
1151 return offset;
1155 frstrans_dissect_struct_RdcParameterGeneric(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1157 proto_item *item = NULL;
1158 proto_tree *tree = NULL;
1159 int old_offset;
1161 ALIGN_TO_2_BYTES;
1163 old_offset = offset;
1165 if (parent_tree) {
1166 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1167 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcParameterGeneric);
1170 offset = frstrans_dissect_element_RdcParameterGeneric_chunker_type(tvb, offset, pinfo, tree, di, drep);
1172 offset = frstrans_dissect_element_RdcParameterGeneric_chunker_parameters(tvb, offset, pinfo, tree, di, drep);
1175 proto_item_set_len(item, offset-old_offset);
1177 return offset;
1181 /* IDL: struct { */
1182 /* IDL: [range(128,1024*16)] uint16 min_horizon_size; */
1183 /* IDL: [range(2,96)] uint16 max_window_size; */
1184 /* IDL: } */
1186 static int
1187 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_, guint8 *drep _U_)
1189 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterFilterMax_min_horizon_size, 0);
1191 return offset;
1194 static int
1195 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_, guint8 *drep _U_)
1197 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterFilterMax_max_window_size, 0);
1199 return offset;
1203 frstrans_dissect_struct_RdcParameterFilterMax(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1205 proto_item *item = NULL;
1206 proto_tree *tree = NULL;
1207 int old_offset;
1209 ALIGN_TO_2_BYTES;
1211 old_offset = offset;
1213 if (parent_tree) {
1214 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1215 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcParameterFilterMax);
1218 offset = frstrans_dissect_element_RdcParameterFilterMax_min_horizon_size(tvb, offset, pinfo, tree, di, drep);
1220 offset = frstrans_dissect_element_RdcParameterFilterMax_max_window_size(tvb, offset, pinfo, tree, di, drep);
1223 proto_item_set_len(item, offset-old_offset);
1225 return offset;
1229 /* IDL: struct { */
1230 /* IDL: uint16 min_chunk_size; */
1231 /* IDL: uint16 max_chunk_size; */
1232 /* IDL: } */
1234 static int
1235 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_, guint8 *drep _U_)
1237 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterFilterPoint_min_chunk_size, 0);
1239 return offset;
1242 static int
1243 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_, guint8 *drep _U_)
1245 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameterFilterPoint_max_chunk_size, 0);
1247 return offset;
1251 frstrans_dissect_struct_RdcParameterFilterPoint(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1253 proto_item *item = NULL;
1254 proto_tree *tree = NULL;
1255 int old_offset;
1257 ALIGN_TO_2_BYTES;
1259 old_offset = offset;
1261 if (parent_tree) {
1262 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1263 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcParameterFilterPoint);
1266 offset = frstrans_dissect_element_RdcParameterFilterPoint_min_chunk_size(tvb, offset, pinfo, tree, di, drep);
1268 offset = frstrans_dissect_element_RdcParameterFilterPoint_max_chunk_size(tvb, offset, pinfo, tree, di, drep);
1271 proto_item_set_len(item, offset-old_offset);
1273 return offset;
1277 /* IDL: [switch_type(frstrans_RdcChunckerAlgorithm)] union { */
1278 /* IDL: [case(FRSTRANS_RDC_FILTER_GENERIC)] [case(FRSTRANS_RDC_FILTER_GENERIC)] frstrans_RdcParameterGeneric filter_generic; */
1279 /* IDL: [case(FRSTRANS_RDC_FILTER_MAX)] [case(FRSTRANS_RDC_FILTER_MAX)] frstrans_RdcParameterFilterMax filter_max; */
1280 /* IDL: [case(FRSTRANS_RDC_FILTER_POINT)] [case(FRSTRANS_RDC_FILTER_POINT)] frstrans_RdcParameterFilterPoint filter_point; */
1281 /* IDL: } */
1283 static int
1284 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_, guint8 *drep _U_)
1286 offset = frstrans_dissect_struct_RdcParameterGeneric(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RdcParameterUnion_filter_generic,0);
1288 return offset;
1291 static int
1292 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_, guint8 *drep _U_)
1294 offset = frstrans_dissect_struct_RdcParameterFilterMax(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RdcParameterUnion_filter_max,0);
1296 return offset;
1299 static int
1300 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_, guint8 *drep _U_)
1302 offset = frstrans_dissect_struct_RdcParameterFilterPoint(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RdcParameterUnion_filter_point,0);
1304 return offset;
1307 static int
1308 frstrans_dissect_RdcParameterUnion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1310 proto_item *item = NULL;
1311 proto_tree *tree = NULL;
1312 int old_offset;
1313 guint16 level;
1315 old_offset = offset;
1316 if (parent_tree) {
1317 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "frstrans_RdcParameterUnion");
1318 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcParameterUnion);
1321 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
1322 ALIGN_TO_2_BYTES;
1324 switch(level) {
1325 case FRSTRANS_RDC_FILTER_GENERIC:
1326 offset = frstrans_dissect_element_RdcParameterUnion_filter_generic(tvb, offset, pinfo, tree, di, drep);
1327 break;
1329 case FRSTRANS_RDC_FILTER_MAX:
1330 offset = frstrans_dissect_element_RdcParameterUnion_filter_max(tvb, offset, pinfo, tree, di, drep);
1331 break;
1333 case FRSTRANS_RDC_FILTER_POINT:
1334 offset = frstrans_dissect_element_RdcParameterUnion_filter_point(tvb, offset, pinfo, tree, di, drep);
1335 break;
1337 proto_item_set_len(item, offset-old_offset);
1339 return offset;
1342 /* IDL: struct { */
1343 /* IDL: frstrans_RdcChunckerAlgorithm rdc_chunker_algorithm; */
1344 /* IDL: [switch_is(rdc_chunker_algorithm)] frstrans_RdcParameterUnion u; */
1345 /* IDL: } */
1347 static int
1348 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_, guint8 *drep _U_)
1350 offset = frstrans_dissect_enum_RdcChunckerAlgorithm(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameters_rdc_chunker_algorithm, 0);
1352 return offset;
1355 static int
1356 frstrans_dissect_element_RdcParameters_u(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1358 offset = frstrans_dissect_RdcParameterUnion(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcParameters_u, 0);
1360 return offset;
1364 frstrans_dissect_struct_RdcParameters(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1366 proto_item *item = NULL;
1367 proto_tree *tree = NULL;
1368 int old_offset;
1370 ALIGN_TO_2_BYTES;
1372 old_offset = offset;
1374 if (parent_tree) {
1375 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1376 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcParameters);
1379 offset = frstrans_dissect_element_RdcParameters_rdc_chunker_algorithm(tvb, offset, pinfo, tree, di, drep);
1381 offset = frstrans_dissect_element_RdcParameters_u(tvb, offset, pinfo, tree, di, drep);
1384 proto_item_set_len(item, offset-old_offset);
1386 return offset;
1390 /* IDL: enum { */
1391 /* IDL: FRSTRANS_RDC_VERSION=0x0001, */
1392 /* IDL: } */
1395 frstrans_dissect_enum_RdcVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
1397 guint16 parameter=0;
1398 if(param){
1399 parameter=(guint16)*param;
1401 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1402 if(param){
1403 *param=(guint32)parameter;
1405 return offset;
1409 /* IDL: enum { */
1410 /* IDL: FRSTRANS_RDC_VERSION_COMPATIBLE=0x0001, */
1411 /* IDL: } */
1414 frstrans_dissect_enum_RdcVersionCompatible(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
1416 guint16 parameter=0;
1417 if(param){
1418 parameter=(guint16)*param;
1420 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1421 if(param){
1422 *param=(guint32)parameter;
1424 return offset;
1428 /* IDL: enum { */
1429 /* IDL: FRSTRANS_RDC_UNCOMPRESSED=0x0000, */
1430 /* IDL: FRSTRANS_RDC_XPRESS=0x0001, */
1431 /* IDL: } */
1434 frstrans_dissect_enum_RdcCompressionAlgorithm(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
1436 guint16 parameter=0;
1437 if(param){
1438 parameter=(guint16)*param;
1440 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1441 if(param){
1442 *param=(guint32)parameter;
1444 return offset;
1448 /* IDL: struct { */
1449 /* IDL: hyper on_disk_file_size; */
1450 /* IDL: hyper file_size_estimate; */
1451 /* IDL: frstrans_RdcVersion rdc_version; */
1452 /* IDL: frstrans_RdcVersionCompatible rdc_minimum_compatible_version; */
1453 /* IDL: [range(0,8)] uint8 rdc_signature_levels; */
1454 /* IDL: frstrans_RdcCompressionAlgorithm compression_algorithm; */
1455 /* IDL: [size_is(rdc_signature_levels)] frstrans_RdcParameters rdc_filter_parameters[*]; */
1456 /* IDL: } */
1458 static int
1459 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_, guint8 *drep _U_)
1461 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_frstrans_frstrans_RdcFileInfo_on_disk_file_size);
1463 return offset;
1466 static int
1467 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_, guint8 *drep _U_)
1469 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_frstrans_frstrans_RdcFileInfo_file_size_estimate);
1471 return offset;
1474 static int
1475 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_, guint8 *drep _U_)
1477 offset = frstrans_dissect_enum_RdcVersion(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_rdc_version, 0);
1479 return offset;
1482 static int
1483 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_, guint8 *drep _U_)
1485 offset = frstrans_dissect_enum_RdcVersionCompatible(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_rdc_minimum_compatible_version, 0);
1487 return offset;
1490 static int
1491 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_, guint8 *drep _U_)
1493 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_rdc_signature_levels, 0);
1495 return offset;
1498 static int
1499 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_, guint8 *drep _U_)
1501 offset = frstrans_dissect_enum_RdcCompressionAlgorithm(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RdcFileInfo_compression_algorithm, 0);
1503 return offset;
1506 static int
1507 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_, guint8 *drep _U_)
1509 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_RdcFileInfo_rdc_filter_parameters_);
1511 return offset;
1514 static int
1515 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_, guint8 *drep _U_)
1517 offset = frstrans_dissect_struct_RdcParameters(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RdcFileInfo_rdc_filter_parameters,0);
1519 return offset;
1523 frstrans_dissect_struct_RdcFileInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1525 proto_item *item = NULL;
1526 proto_tree *tree = NULL;
1527 int old_offset;
1529 ALIGN_TO_8_BYTES;
1531 old_offset = offset;
1533 if (parent_tree) {
1534 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1535 tree = proto_item_add_subtree(item, ett_frstrans_frstrans_RdcFileInfo);
1538 offset = frstrans_dissect_element_RdcFileInfo_on_disk_file_size(tvb, offset, pinfo, tree, di, drep);
1540 offset = frstrans_dissect_element_RdcFileInfo_file_size_estimate(tvb, offset, pinfo, tree, di, drep);
1542 offset = frstrans_dissect_element_RdcFileInfo_rdc_version(tvb, offset, pinfo, tree, di, drep);
1544 offset = frstrans_dissect_element_RdcFileInfo_rdc_minimum_compatible_version(tvb, offset, pinfo, tree, di, drep);
1546 offset = frstrans_dissect_element_RdcFileInfo_rdc_signature_levels(tvb, offset, pinfo, tree, di, drep);
1548 offset = frstrans_dissect_element_RdcFileInfo_compression_algorithm(tvb, offset, pinfo, tree, di, drep);
1550 offset = frstrans_dissect_element_RdcFileInfo_rdc_filter_parameters(tvb, offset, pinfo, tree, di, drep);
1553 proto_item_set_len(item, offset-old_offset);
1555 return offset;
1558 static int
1559 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_, guint8 *drep _U_)
1561 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_CheckConnectivity_replica_set_guid, NULL);
1563 return offset;
1566 static int
1567 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_, guint8 *drep _U_)
1569 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_CheckConnectivity_connection_guid, NULL);
1571 return offset;
1574 /* IDL: WERROR frstrans_CheckConnectivity( */
1575 /* IDL: [in] GUID replica_set_guid, */
1576 /* IDL: [in] GUID connection_guid */
1577 /* IDL: ); */
1579 static int
1580 frstrans_dissect_CheckConnectivity_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1582 guint32 status;
1584 pinfo->dcerpc_procedure_name="CheckConnectivity";
1585 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
1587 if (status != 0)
1588 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
1590 return offset;
1593 static int
1594 frstrans_dissect_CheckConnectivity_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1596 pinfo->dcerpc_procedure_name="CheckConnectivity";
1597 offset = frstrans_dissect_element_CheckConnectivity_replica_set_guid(tvb, offset, pinfo, tree, di, drep);
1598 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1599 offset = frstrans_dissect_element_CheckConnectivity_connection_guid(tvb, offset, pinfo, tree, di, drep);
1600 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1601 return offset;
1604 static int
1605 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_, guint8 *drep _U_)
1607 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_replica_set_guid, NULL);
1609 return offset;
1612 static int
1613 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_, guint8 *drep _U_)
1615 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_connection_guid, NULL);
1617 return offset;
1620 static int
1621 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_, guint8 *drep _U_)
1623 offset = frstrans_dissect_enum_ProtocolVersion(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_downstream_protocol_version, 0);
1625 return offset;
1628 static int
1629 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_, guint8 *drep _U_)
1631 offset = frstrans_dissect_bitmap_TransportFlags(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_downstream_flags, 0);
1633 return offset;
1636 static int
1637 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_, guint8 *drep _U_)
1639 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);
1641 return offset;
1644 static int
1645 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_, guint8 *drep _U_)
1647 offset = frstrans_dissect_enum_ProtocolVersion(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_upstream_protocol_version, 0);
1649 return offset;
1652 static int
1653 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_, guint8 *drep _U_)
1655 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);
1657 return offset;
1660 static int
1661 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_, guint8 *drep _U_)
1663 offset = frstrans_dissect_bitmap_TransportFlags(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishConnection_upstream_flags, 0);
1665 return offset;
1668 /* IDL: WERROR frstrans_EstablishConnection( */
1669 /* IDL: [in] GUID replica_set_guid, */
1670 /* IDL: [in] GUID connection_guid, */
1671 /* IDL: [in] frstrans_ProtocolVersion downstream_protocol_version, */
1672 /* IDL: [in] frstrans_TransportFlags downstream_flags, */
1673 /* IDL: [out] [ref] frstrans_ProtocolVersion *upstream_protocol_version, */
1674 /* IDL: [out] [ref] frstrans_TransportFlags *upstream_flags */
1675 /* IDL: ); */
1677 static int
1678 frstrans_dissect_EstablishConnection_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1680 guint32 status;
1682 pinfo->dcerpc_procedure_name="EstablishConnection";
1683 offset = frstrans_dissect_element_EstablishConnection_upstream_protocol_version(tvb, offset, pinfo, tree, di, drep);
1684 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1686 offset = frstrans_dissect_element_EstablishConnection_upstream_flags(tvb, offset, pinfo, tree, di, drep);
1687 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1689 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
1691 if (status != 0)
1692 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
1694 return offset;
1697 static int
1698 frstrans_dissect_EstablishConnection_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1700 pinfo->dcerpc_procedure_name="EstablishConnection";
1701 offset = frstrans_dissect_element_EstablishConnection_replica_set_guid(tvb, offset, pinfo, tree, di, drep);
1702 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1703 offset = frstrans_dissect_element_EstablishConnection_connection_guid(tvb, offset, pinfo, tree, di, drep);
1704 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1705 offset = frstrans_dissect_element_EstablishConnection_downstream_protocol_version(tvb, offset, pinfo, tree, di, drep);
1706 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1707 offset = frstrans_dissect_element_EstablishConnection_downstream_flags(tvb, offset, pinfo, tree, di, drep);
1708 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1709 return offset;
1712 static int
1713 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_, guint8 *drep _U_)
1715 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishSession_connection_guid, NULL);
1717 return offset;
1720 static int
1721 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_, guint8 *drep _U_)
1723 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_EstablishSession_content_set_guid, NULL);
1725 return offset;
1728 /* IDL: WERROR frstrans_EstablishSession( */
1729 /* IDL: [in] GUID connection_guid, */
1730 /* IDL: [in] GUID content_set_guid */
1731 /* IDL: ); */
1733 static int
1734 frstrans_dissect_EstablishSession_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1736 guint32 status;
1738 pinfo->dcerpc_procedure_name="EstablishSession";
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(status, WERR_errors, "Unknown DOS error 0x%08x"));
1744 return offset;
1747 static int
1748 frstrans_dissect_EstablishSession_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1750 pinfo->dcerpc_procedure_name="EstablishSession";
1751 offset = frstrans_dissect_element_EstablishSession_connection_guid(tvb, offset, pinfo, tree, di, drep);
1752 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1753 offset = frstrans_dissect_element_EstablishSession_content_set_guid(tvb, offset, pinfo, tree, di, drep);
1754 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1755 return offset;
1758 static int
1759 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_, guint8 *drep _U_)
1761 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_connection_guid, NULL);
1763 return offset;
1766 static int
1767 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_, guint8 *drep _U_)
1769 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_content_set_guid, NULL);
1771 return offset;
1774 static int
1775 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_, guint8 *drep _U_)
1777 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_credits_available, 0);
1779 return offset;
1782 static int
1783 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_, guint8 *drep _U_)
1785 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_hash_requested, 0);
1787 return offset;
1790 static int
1791 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_, guint8 *drep _U_)
1793 offset = frstrans_dissect_enum_UpdateRequestType(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_update_request_type, 0);
1795 return offset;
1798 static int
1799 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_, guint8 *drep _U_)
1801 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_version_vector_diff_count, 0);
1803 return offset;
1806 static int
1807 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_, guint8 *drep _U_)
1809 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);
1811 return offset;
1814 static int
1815 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_, guint8 *drep _U_)
1817 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_RequestUpdates_version_vector_diff__);
1819 return offset;
1822 static int
1823 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_, guint8 *drep _U_)
1825 offset = frstrans_dissect_struct_VersionVector(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RequestUpdates_version_vector_diff,0);
1827 return offset;
1830 static int
1831 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_, guint8 *drep _U_)
1833 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);
1835 return offset;
1838 static int
1839 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_, guint8 *drep _U_)
1841 offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_RequestUpdates_frs_update__);
1843 return offset;
1846 static int
1847 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_, guint8 *drep _U_)
1849 offset = frstrans_dissect_struct_Update(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_RequestUpdates_frs_update,0);
1851 return offset;
1854 static int
1855 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_, guint8 *drep _U_)
1857 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);
1859 return offset;
1862 static int
1863 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_, guint8 *drep _U_)
1865 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_update_count, 0);
1867 return offset;
1870 static int
1871 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_, guint8 *drep _U_)
1873 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);
1875 return offset;
1878 static int
1879 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_, guint8 *drep _U_)
1881 offset = frstrans_dissect_enum_UpdateStatus(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_update_status, 0);
1883 return offset;
1886 static int
1887 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_, guint8 *drep _U_)
1889 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);
1891 return offset;
1894 static int
1895 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_, guint8 *drep _U_)
1897 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestUpdates_gvsn_db_guid, NULL);
1899 return offset;
1902 static int
1903 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_, guint8 *drep _U_)
1905 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);
1907 return offset;
1910 static int
1911 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_, guint8 *drep _U_)
1913 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_frstrans_frstrans_RequestUpdates_gvsn_version);
1915 return offset;
1918 /* IDL: WERROR frstrans_RequestUpdates( */
1919 /* IDL: [in] GUID connection_guid, */
1920 /* IDL: [in] GUID content_set_guid, */
1921 /* IDL: [in] [range(0,256)] uint32 credits_available, */
1922 /* IDL: [in] [range(0,1)] uint32 hash_requested, */
1923 /* IDL: [in] [range(0,2)] frstrans_UpdateRequestType update_request_type, */
1924 /* IDL: [in] uint32 version_vector_diff_count, */
1925 /* IDL: [ref] [in] [size_is(version_vector_diff_count)] frstrans_VersionVector *version_vector_diff, */
1926 /* IDL: [out] [ref] [length_is(*update_count)] [size_is(credits_available)] frstrans_Update *frs_update, */
1927 /* IDL: [out] [ref] uint32 *update_count, */
1928 /* IDL: [out] [ref] frstrans_UpdateStatus *update_status, */
1929 /* IDL: [out] [ref] GUID *gvsn_db_guid, */
1930 /* IDL: [out] [ref] hyper *gvsn_version */
1931 /* IDL: ); */
1933 static int
1934 frstrans_dissect_RequestUpdates_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1936 guint32 status;
1938 pinfo->dcerpc_procedure_name="RequestUpdates";
1939 offset = frstrans_dissect_element_RequestUpdates_frs_update(tvb, offset, pinfo, tree, di, drep);
1940 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1942 offset = frstrans_dissect_element_RequestUpdates_update_count(tvb, offset, pinfo, tree, di, drep);
1943 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1945 offset = frstrans_dissect_element_RequestUpdates_update_status(tvb, offset, pinfo, tree, di, drep);
1946 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1948 offset = frstrans_dissect_element_RequestUpdates_gvsn_db_guid(tvb, offset, pinfo, tree, di, drep);
1949 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1951 offset = frstrans_dissect_element_RequestUpdates_gvsn_version(tvb, offset, pinfo, tree, di, drep);
1952 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1954 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
1956 if (status != 0)
1957 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
1959 return offset;
1962 static int
1963 frstrans_dissect_RequestUpdates_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1965 pinfo->dcerpc_procedure_name="RequestUpdates";
1966 offset = frstrans_dissect_element_RequestUpdates_connection_guid(tvb, offset, pinfo, tree, di, drep);
1967 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1968 offset = frstrans_dissect_element_RequestUpdates_content_set_guid(tvb, offset, pinfo, tree, di, drep);
1969 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1970 offset = frstrans_dissect_element_RequestUpdates_credits_available(tvb, offset, pinfo, tree, di, drep);
1971 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1972 offset = frstrans_dissect_element_RequestUpdates_hash_requested(tvb, offset, pinfo, tree, di, drep);
1973 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1974 offset = frstrans_dissect_element_RequestUpdates_update_request_type(tvb, offset, pinfo, tree, di, drep);
1975 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1976 offset = frstrans_dissect_element_RequestUpdates_version_vector_diff_count(tvb, offset, pinfo, tree, di, drep);
1977 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1978 offset = frstrans_dissect_element_RequestUpdates_version_vector_diff(tvb, offset, pinfo, tree, di, drep);
1979 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1980 return offset;
1983 static int
1984 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_, guint8 *drep _U_)
1986 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_sequence_number, 0);
1988 return offset;
1991 static int
1992 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_, guint8 *drep _U_)
1994 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_connection_guid, NULL);
1996 return offset;
1999 static int
2000 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_, guint8 *drep _U_)
2002 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_content_set_guid, NULL);
2004 return offset;
2007 static int
2008 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_, guint8 *drep _U_)
2010 offset = frstrans_dissect_enum_VersionRequestType(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_request_type, 0);
2012 return offset;
2015 static int
2016 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_, guint8 *drep _U_)
2018 offset = frstrans_dissect_enum_VersionChangeType(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_RequestVersionVector_change_type, 0);
2020 return offset;
2023 static int
2024 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_, guint8 *drep _U_)
2026 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_frstrans_frstrans_RequestVersionVector_vv_generation);
2028 return offset;
2031 /* IDL: WERROR frstrans_RequestVersionVector( */
2032 /* IDL: [in] uint32 sequence_number, */
2033 /* IDL: [in] GUID connection_guid, */
2034 /* IDL: [in] GUID content_set_guid, */
2035 /* IDL: [in] [range(0,2)] frstrans_VersionRequestType request_type, */
2036 /* IDL: [in] [range(0,2)] frstrans_VersionChangeType change_type, */
2037 /* IDL: [in] hyper vv_generation */
2038 /* IDL: ); */
2040 static int
2041 frstrans_dissect_RequestVersionVector_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2043 guint32 status;
2045 pinfo->dcerpc_procedure_name="RequestVersionVector";
2046 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
2048 if (status != 0)
2049 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
2051 return offset;
2054 static int
2055 frstrans_dissect_RequestVersionVector_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2057 pinfo->dcerpc_procedure_name="RequestVersionVector";
2058 offset = frstrans_dissect_element_RequestVersionVector_sequence_number(tvb, offset, pinfo, tree, di, drep);
2059 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2060 offset = frstrans_dissect_element_RequestVersionVector_connection_guid(tvb, offset, pinfo, tree, di, drep);
2061 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2062 offset = frstrans_dissect_element_RequestVersionVector_content_set_guid(tvb, offset, pinfo, tree, di, drep);
2063 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2064 offset = frstrans_dissect_element_RequestVersionVector_request_type(tvb, offset, pinfo, tree, di, drep);
2065 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2066 offset = frstrans_dissect_element_RequestVersionVector_change_type(tvb, offset, pinfo, tree, di, drep);
2067 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2068 offset = frstrans_dissect_element_RequestVersionVector_vv_generation(tvb, offset, pinfo, tree, di, drep);
2069 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2070 return offset;
2073 static int
2074 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_, guint8 *drep _U_)
2076 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_AsyncPoll_connection_guid, NULL);
2078 return offset;
2081 static int
2082 frstrans_dissect_element_AsyncPoll_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2084 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);
2086 return offset;
2089 static int
2090 frstrans_dissect_element_AsyncPoll_response_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2092 offset = frstrans_dissect_struct_AsyncResponseContext(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_AsyncPoll_response,0);
2094 return offset;
2097 /* IDL: WERROR frstrans_AsyncPoll( */
2098 /* IDL: [in] GUID connection_guid, */
2099 /* IDL: [out] [ref] frstrans_AsyncResponseContext *response */
2100 /* IDL: ); */
2102 static int
2103 frstrans_dissect_AsyncPoll_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2105 guint32 status;
2107 pinfo->dcerpc_procedure_name="AsyncPoll";
2108 offset = frstrans_dissect_element_AsyncPoll_response(tvb, offset, pinfo, tree, di, drep);
2109 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2111 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
2113 if (status != 0)
2114 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
2116 return offset;
2119 static int
2120 frstrans_dissect_AsyncPoll_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2122 pinfo->dcerpc_procedure_name="AsyncPoll";
2123 offset = frstrans_dissect_element_AsyncPoll_connection_guid(tvb, offset, pinfo, tree, di, drep);
2124 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2125 return offset;
2128 /* IDL: void FRSTRANS_REQUEST_RECORDS( */
2129 /* IDL: */
2130 /* IDL: ); */
2132 static int
2133 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_, guint8 *drep _U_)
2135 pinfo->dcerpc_procedure_name="FRSTRANS_REQUEST_RECORDS";
2136 return offset;
2139 static int
2140 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_, guint8 *drep _U_)
2142 pinfo->dcerpc_procedure_name="FRSTRANS_REQUEST_RECORDS";
2143 return offset;
2146 /* IDL: void FRSTRANS_UPDATE_CANCEL( */
2147 /* IDL: */
2148 /* IDL: ); */
2150 static int
2151 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_, guint8 *drep _U_)
2153 pinfo->dcerpc_procedure_name="FRSTRANS_UPDATE_CANCEL";
2154 return offset;
2157 static int
2158 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_, guint8 *drep _U_)
2160 pinfo->dcerpc_procedure_name="FRSTRANS_UPDATE_CANCEL";
2161 return offset;
2164 /* IDL: void FRSTRANS_RAW_GET_FILE_DATA( */
2165 /* IDL: */
2166 /* IDL: ); */
2168 static int
2169 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_, guint8 *drep _U_)
2171 pinfo->dcerpc_procedure_name="FRSTRANS_RAW_GET_FILE_DATA";
2172 return offset;
2175 static int
2176 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_, guint8 *drep _U_)
2178 pinfo->dcerpc_procedure_name="FRSTRANS_RAW_GET_FILE_DATA";
2179 return offset;
2182 /* IDL: void FRSTRANS_RDC_GET_SIGNATURES( */
2183 /* IDL: */
2184 /* IDL: ); */
2186 static int
2187 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_, guint8 *drep _U_)
2189 pinfo->dcerpc_procedure_name="FRSTRANS_RDC_GET_SIGNATURES";
2190 return offset;
2193 static int
2194 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_, guint8 *drep _U_)
2196 pinfo->dcerpc_procedure_name="FRSTRANS_RDC_GET_SIGNATURES";
2197 return offset;
2200 /* IDL: void FRSTRANS_RDC_PUSH_SOURCE_NEEDS( */
2201 /* IDL: */
2202 /* IDL: ); */
2204 static int
2205 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_, guint8 *drep _U_)
2207 pinfo->dcerpc_procedure_name="FRSTRANS_RDC_PUSH_SOURCE_NEEDS";
2208 return offset;
2211 static int
2212 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_, guint8 *drep _U_)
2214 pinfo->dcerpc_procedure_name="FRSTRANS_RDC_PUSH_SOURCE_NEEDS";
2215 return offset;
2218 /* IDL: void FRSTRANS_RDC_GET_FILE_DATA( */
2219 /* IDL: */
2220 /* IDL: ); */
2222 static int
2223 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_, guint8 *drep _U_)
2225 pinfo->dcerpc_procedure_name="FRSTRANS_RDC_GET_FILE_DATA";
2226 return offset;
2229 static int
2230 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_, guint8 *drep _U_)
2232 pinfo->dcerpc_procedure_name="FRSTRANS_RDC_GET_FILE_DATA";
2233 return offset;
2236 /* IDL: void FRSTRANS_RDC_CLOSE( */
2237 /* IDL: */
2238 /* IDL: ); */
2240 static int
2241 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_, guint8 *drep _U_)
2243 pinfo->dcerpc_procedure_name="FRSTRANS_RDC_CLOSE";
2244 return offset;
2247 static int
2248 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_, guint8 *drep _U_)
2250 pinfo->dcerpc_procedure_name="FRSTRANS_RDC_CLOSE";
2251 return offset;
2254 static int
2255 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_, guint8 *drep _U_)
2257 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_connection_guid, NULL);
2259 return offset;
2262 static int
2263 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_, guint8 *drep _U_)
2265 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);
2267 return offset;
2270 static int
2271 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_, guint8 *drep _U_)
2273 offset = frstrans_dissect_struct_Update(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_InitializeFileTransferAsync_frs_update,0);
2275 return offset;
2278 static int
2279 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_, guint8 *drep _U_)
2281 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_desired, 0);
2283 return offset;
2286 static int
2287 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_, guint8 *drep _U_)
2289 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);
2291 return offset;
2294 static int
2295 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_, guint8 *drep _U_)
2297 offset = frstrans_dissect_enum_RequestedStagingPolicy(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_staging_policy, 0);
2299 return offset;
2302 static int
2303 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_, guint8 *drep _U_)
2305 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);
2307 return offset;
2310 static int
2311 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_, guint8 *drep _U_)
2313 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_server_context, 0);
2315 return offset;
2318 static int
2319 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_, guint8 *drep _U_)
2321 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);
2323 return offset;
2326 static int
2327 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_, guint8 *drep _U_)
2329 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);
2331 return offset;
2334 static int
2335 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_, guint8 *drep _U_)
2337 offset = frstrans_dissect_struct_RdcFileInfo(tvb,offset,pinfo,tree,di,drep,hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_file_info,0);
2339 return offset;
2342 static int
2343 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_, guint8 *drep _U_)
2345 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);
2347 return offset;
2350 static int
2351 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_, guint8 *drep _U_)
2353 offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, frstrans_dissect_element_InitializeFileTransferAsync_data_buffer__);
2355 return offset;
2358 static int
2359 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_, guint8 *drep _U_)
2361 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_data_buffer, 0);
2363 return offset;
2366 static int
2367 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_, guint8 *drep _U_)
2369 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_buffer_size, 0);
2371 return offset;
2374 static int
2375 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_, guint8 *drep _U_)
2377 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);
2379 return offset;
2382 static int
2383 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_, guint8 *drep _U_)
2385 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_size_read, 0);
2387 return offset;
2390 static int
2391 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_, guint8 *drep _U_)
2393 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);
2395 return offset;
2398 static int
2399 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_, guint8 *drep _U_)
2401 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_frstrans_InitializeFileTransferAsync_is_end_of_file, 0);
2403 return offset;
2406 /* IDL: WERROR frstrans_InitializeFileTransferAsync( */
2407 /* IDL: [in] GUID connection_guid, */
2408 /* IDL: [out] [in] [ref] frstrans_Update *frs_update, */
2409 /* IDL: [in] [range(0,1)] uint32 rdc_desired, */
2410 /* IDL: [out] [in] [ref] frstrans_RequestedStagingPolicy *staging_policy, */
2411 /* IDL: [out] [ref] policy_handle *server_context, */
2412 /* IDL: [out] [ref] frstrans_RdcFileInfo **rdc_file_info, */
2413 /* IDL: [out] [ref] [length_is(*size_read)] [size_is(buffer_size)] uint8 *data_buffer, */
2414 /* IDL: [in] [range(0,262144)] uint32 buffer_size, */
2415 /* IDL: [out] [ref] uint32 *size_read, */
2416 /* IDL: [out] [ref] uint32 *is_end_of_file */
2417 /* IDL: ); */
2419 static int
2420 frstrans_dissect_InitializeFileTransferAsync_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2422 guint32 status;
2424 pinfo->dcerpc_procedure_name="InitializeFileTransferAsync";
2425 offset = frstrans_dissect_element_InitializeFileTransferAsync_frs_update(tvb, offset, pinfo, tree, di, drep);
2426 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2428 offset = frstrans_dissect_element_InitializeFileTransferAsync_staging_policy(tvb, offset, pinfo, tree, di, drep);
2429 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2431 offset = frstrans_dissect_element_InitializeFileTransferAsync_server_context(tvb, offset, pinfo, tree, di, drep);
2432 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2434 offset = frstrans_dissect_element_InitializeFileTransferAsync_rdc_file_info(tvb, offset, pinfo, tree, di, drep);
2435 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2437 offset = frstrans_dissect_element_InitializeFileTransferAsync_data_buffer(tvb, offset, pinfo, tree, di, drep);
2438 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2440 offset = frstrans_dissect_element_InitializeFileTransferAsync_size_read(tvb, offset, pinfo, tree, di, drep);
2441 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2443 offset = frstrans_dissect_element_InitializeFileTransferAsync_is_end_of_file(tvb, offset, pinfo, tree, di, drep);
2444 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2446 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_frstrans_werror, &status);
2448 if (status != 0)
2449 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
2451 return offset;
2454 static int
2455 frstrans_dissect_InitializeFileTransferAsync_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2457 pinfo->dcerpc_procedure_name="InitializeFileTransferAsync";
2458 offset = frstrans_dissect_element_InitializeFileTransferAsync_connection_guid(tvb, offset, pinfo, tree, di, drep);
2459 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2460 offset = frstrans_dissect_element_InitializeFileTransferAsync_frs_update(tvb, offset, pinfo, tree, di, drep);
2461 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2462 offset = frstrans_dissect_element_InitializeFileTransferAsync_rdc_desired(tvb, offset, pinfo, tree, di, drep);
2463 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2464 offset = frstrans_dissect_element_InitializeFileTransferAsync_staging_policy(tvb, offset, pinfo, tree, di, drep);
2465 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2466 offset = frstrans_dissect_element_InitializeFileTransferAsync_buffer_size(tvb, offset, pinfo, tree, di, drep);
2467 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2468 return offset;
2471 /* IDL: void FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE( */
2472 /* IDL: */
2473 /* IDL: ); */
2475 static int
2476 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_, guint8 *drep _U_)
2478 pinfo->dcerpc_procedure_name="FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE";
2479 return offset;
2482 static int
2483 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_, guint8 *drep _U_)
2485 pinfo->dcerpc_procedure_name="FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE";
2486 return offset;
2489 /* IDL: void FRSTRANS_RAW_GET_FILE_DATA_ASYNC( */
2490 /* IDL: */
2491 /* IDL: ); */
2493 static int
2494 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_, guint8 *drep _U_)
2496 pinfo->dcerpc_procedure_name="FRSTRANS_RAW_GET_FILE_DATA_ASYNC";
2497 return offset;
2500 static int
2501 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_, guint8 *drep _U_)
2503 pinfo->dcerpc_procedure_name="FRSTRANS_RAW_GET_FILE_DATA_ASYNC";
2504 return offset;
2507 /* IDL: void FRSTRANS_RDC_GET_FILE_DATA_ASYNC( */
2508 /* IDL: */
2509 /* IDL: ); */
2511 static int
2512 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_, guint8 *drep _U_)
2514 pinfo->dcerpc_procedure_name="FRSTRANS_RDC_GET_FILE_DATA_ASYNC";
2515 return offset;
2518 static int
2519 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_, guint8 *drep _U_)
2521 pinfo->dcerpc_procedure_name="FRSTRANS_RDC_GET_FILE_DATA_ASYNC";
2522 return offset;
2526 static dcerpc_sub_dissector frstrans_dissectors[] = {
2527 { 0, "CheckConnectivity",
2528 frstrans_dissect_CheckConnectivity_request, frstrans_dissect_CheckConnectivity_response},
2529 { 1, "EstablishConnection",
2530 frstrans_dissect_EstablishConnection_request, frstrans_dissect_EstablishConnection_response},
2531 { 2, "EstablishSession",
2532 frstrans_dissect_EstablishSession_request, frstrans_dissect_EstablishSession_response},
2533 { 3, "RequestUpdates",
2534 frstrans_dissect_RequestUpdates_request, frstrans_dissect_RequestUpdates_response},
2535 { 4, "RequestVersionVector",
2536 frstrans_dissect_RequestVersionVector_request, frstrans_dissect_RequestVersionVector_response},
2537 { 5, "AsyncPoll",
2538 frstrans_dissect_AsyncPoll_request, frstrans_dissect_AsyncPoll_response},
2539 { 6, "FRSTRANS_REQUEST_RECORDS",
2540 frstrans_dissect_FRSTRANS_REQUEST_RECORDS_request, frstrans_dissect_FRSTRANS_REQUEST_RECORDS_response},
2541 { 7, "FRSTRANS_UPDATE_CANCEL",
2542 frstrans_dissect_FRSTRANS_UPDATE_CANCEL_request, frstrans_dissect_FRSTRANS_UPDATE_CANCEL_response},
2543 { 8, "FRSTRANS_RAW_GET_FILE_DATA",
2544 frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_request, frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_response},
2545 { 9, "FRSTRANS_RDC_GET_SIGNATURES",
2546 frstrans_dissect_FRSTRANS_RDC_GET_SIGNATURES_request, frstrans_dissect_FRSTRANS_RDC_GET_SIGNATURES_response},
2547 { 10, "FRSTRANS_RDC_PUSH_SOURCE_NEEDS",
2548 frstrans_dissect_FRSTRANS_RDC_PUSH_SOURCE_NEEDS_request, frstrans_dissect_FRSTRANS_RDC_PUSH_SOURCE_NEEDS_response},
2549 { 11, "FRSTRANS_RDC_GET_FILE_DATA",
2550 frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_request, frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_response},
2551 { 12, "FRSTRANS_RDC_CLOSE",
2552 frstrans_dissect_FRSTRANS_RDC_CLOSE_request, frstrans_dissect_FRSTRANS_RDC_CLOSE_response},
2553 { 13, "InitializeFileTransferAsync",
2554 frstrans_dissect_InitializeFileTransferAsync_request, frstrans_dissect_InitializeFileTransferAsync_response},
2555 { 14, "FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE",
2556 frstrans_dissect_FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE_request, frstrans_dissect_FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE_response},
2557 { 15, "FRSTRANS_RAW_GET_FILE_DATA_ASYNC",
2558 frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_ASYNC_request, frstrans_dissect_FRSTRANS_RAW_GET_FILE_DATA_ASYNC_response},
2559 { 16, "FRSTRANS_RDC_GET_FILE_DATA_ASYNC",
2560 frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_ASYNC_request, frstrans_dissect_FRSTRANS_RDC_GET_FILE_DATA_ASYNC_response},
2561 { 0, NULL, NULL, NULL }
2564 void proto_register_dcerpc_frstrans(void)
2566 static hf_register_info hf[] = {
2567 { &hf_frstrans_frstrans_EpoqueVector_minute,
2568 { "Minute", "frstrans.frstrans_EpoqueVector.minute", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2569 { &hf_frstrans_frstrans_RdcParameterFilterPoint_max_chunk_size,
2570 { "Max Chunk Size", "frstrans.frstrans_RdcParameterFilterPoint.max_chunk_size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2571 { &hf_frstrans_frstrans_Update_sha1_hash,
2572 { "Sha1 Hash", "frstrans.frstrans_Update.sha1_hash", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2573 { &hf_frstrans_frstrans_RequestVersionVector_change_type,
2574 { "Change Type", "frstrans.frstrans_RequestVersionVector.change_type", FT_UINT16, BASE_DEC, VALS(frstrans_frstrans_VersionChangeType_vals), 0, NULL, HFILL }},
2575 { &hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector,
2576 { "Version Vector", "frstrans.frstrans_AsyncVersionVectorResponse.version_vector", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2577 { &hf_frstrans_frstrans_EpoqueVector_year,
2578 { "Year", "frstrans.frstrans_EpoqueVector.year", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2579 { &hf_frstrans_frstrans_Update_fence,
2580 { "Fence", "frstrans.frstrans_Update.fence", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
2581 { &hf_frstrans_frstrans_RequestVersionVector_sequence_number,
2582 { "Sequence Number", "frstrans.frstrans_RequestVersionVector.sequence_number", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2583 { &hf_frstrans_opnum,
2584 { "Operation", "frstrans.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2585 { &hf_frstrans_frstrans_VersionVector_db_guid,
2586 { "Db Guid", "frstrans.frstrans_VersionVector.db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2587 { &hf_frstrans_frstrans_RdcParameters_rdc_chunker_algorithm,
2588 { "Rdc Chunker Algorithm", "frstrans.frstrans_RdcParameters.rdc_chunker_algorithm", FT_UINT16, BASE_DEC, VALS(frstrans_frstrans_RdcChunckerAlgorithm_vals), 0, NULL, HFILL }},
2589 { &hf_frstrans_frstrans_Update_uid_version,
2590 { "Uid Version", "frstrans.frstrans_Update.uid_version", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2591 { &hf_frstrans_frstrans_RequestUpdates_version_vector_diff_count,
2592 { "Version Vector Diff Count", "frstrans.frstrans_RequestUpdates.version_vector_diff_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2593 { &hf_frstrans_frstrans_EstablishConnection_connection_guid,
2594 { "Connection Guid", "frstrans.frstrans_EstablishConnection.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2595 { &hf_frstrans_frstrans_RequestUpdates_credits_available,
2596 { "Credits Available", "frstrans.frstrans_RequestUpdates.credits_available", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2597 { &hf_frstrans_frstrans_RdcParameterFilterMax_max_window_size,
2598 { "Max Window Size", "frstrans.frstrans_RdcParameterFilterMax.max_window_size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2599 { &hf_frstrans_frstrans_Update_name,
2600 { "Name", "frstrans.frstrans_Update.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2601 { &hf_frstrans_frstrans_VersionVector_low,
2602 { "Low", "frstrans.frstrans_VersionVector.low", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2603 { &hf_frstrans_frstrans_AsyncVersionVectorResponse_version_vector_count,
2604 { "Version Vector Count", "frstrans.frstrans_AsyncVersionVectorResponse.version_vector_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2605 { &hf_frstrans_frstrans_EstablishConnection_downstream_flags,
2606 { "Downstream Flags", "frstrans.frstrans_EstablishConnection.downstream_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
2607 { &hf_frstrans_frstrans_RdcParameterGeneric_chunker_parameters,
2608 { "Chunker Parameters", "frstrans.frstrans_RdcParameterGeneric.chunker_parameters", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2609 { &hf_frstrans_frstrans_RdcFileInfo_compression_algorithm,
2610 { "Compression Algorithm", "frstrans.frstrans_RdcFileInfo.compression_algorithm", FT_UINT16, BASE_DEC, VALS(frstrans_frstrans_RdcCompressionAlgorithm_vals), 0, NULL, HFILL }},
2611 { &hf_frstrans_frstrans_Update_flags,
2612 { "Flags", "frstrans.frstrans_Update.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2613 { &hf_frstrans_frstrans_EpoqueVector_machine_guid,
2614 { "Machine Guid", "frstrans.frstrans_EpoqueVector.machine_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2615 { &hf_frstrans_frstrans_InitializeFileTransferAsync_connection_guid,
2616 { "Connection Guid", "frstrans.frstrans_InitializeFileTransferAsync.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2617 { &hf_frstrans_frstrans_RdcParameterUnion_filter_point,
2618 { "Filter Point", "frstrans.frstrans_RdcParameterUnion.filter_point", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2619 { &hf_frstrans_frstrans_RdcParameterFilterMax_min_horizon_size,
2620 { "Min Horizon Size", "frstrans.frstrans_RdcParameterFilterMax.min_horizon_size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2621 { &hf_frstrans_frstrans_RdcParameterUnion_filter_generic,
2622 { "Filter Generic", "frstrans.frstrans_RdcParameterUnion.filter_generic", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2623 { &hf_frstrans_frstrans_EpoqueVector_second,
2624 { "Second", "frstrans.frstrans_EpoqueVector.second", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2625 { &hf_frstrans_frstrans_RdcFileInfo_rdc_filter_parameters,
2626 { "Rdc Filter Parameters", "frstrans.frstrans_RdcFileInfo.rdc_filter_parameters", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2627 { &hf_frstrans_frstrans_RequestVersionVector_content_set_guid,
2628 { "Content Set Guid", "frstrans.frstrans_RequestVersionVector.content_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2629 { &hf_frstrans_frstrans_EpoqueVector_day,
2630 { "Day", "frstrans.frstrans_EpoqueVector.day", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2631 { &hf_frstrans_frstrans_InitializeFileTransferAsync_frs_update,
2632 { "Frs Update", "frstrans.frstrans_InitializeFileTransferAsync.frs_update", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2633 { &hf_frstrans_frstrans_InitializeFileTransferAsync_is_end_of_file,
2634 { "Is End Of File", "frstrans.frstrans_InitializeFileTransferAsync.is_end_of_file", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2635 { &hf_frstrans_frstrans_EstablishConnection_upstream_flags,
2636 { "Upstream Flags", "frstrans.frstrans_EstablishConnection.upstream_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
2637 { &hf_frstrans_frstrans_EstablishConnection_downstream_protocol_version,
2638 { "Downstream Protocol Version", "frstrans.frstrans_EstablishConnection.downstream_protocol_version", FT_UINT32, BASE_DEC, VALS(frstrans_frstrans_ProtocolVersion_vals), 0, NULL, HFILL }},
2639 { &hf_frstrans_frstrans_RequestUpdates_update_status,
2640 { "Update Status", "frstrans.frstrans_RequestUpdates.update_status", FT_UINT16, BASE_DEC, VALS(frstrans_frstrans_UpdateStatus_vals), 0, NULL, HFILL }},
2641 { &hf_frstrans_frstrans_AsyncPoll_connection_guid,
2642 { "Connection Guid", "frstrans.frstrans_AsyncPoll.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2643 { &hf_frstrans_frstrans_AsyncResponseContext_response,
2644 { "Response", "frstrans.frstrans_AsyncResponseContext.response", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2645 { &hf_frstrans_frstrans_AsyncResponseContext_sequence_number,
2646 { "Sequence Number", "frstrans.frstrans_AsyncResponseContext.sequence_number", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2647 { &hf_frstrans_frstrans_InitializeFileTransferAsync_data_buffer,
2648 { "Data Buffer", "frstrans.frstrans_InitializeFileTransferAsync.data_buffer", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2649 { &hf_frstrans_frstrans_RequestVersionVector_request_type,
2650 { "Request Type", "frstrans.frstrans_RequestVersionVector.request_type", FT_UINT16, BASE_DEC, VALS(frstrans_frstrans_VersionRequestType_vals), 0, NULL, HFILL }},
2651 { &hf_frstrans_frstrans_Update_present,
2652 { "Present", "frstrans.frstrans_Update.present", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2653 { &hf_frstrans_frstrans_Update_gsvn_version,
2654 { "Gsvn Version", "frstrans.frstrans_Update.gsvn_version", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2655 { &hf_frstrans_frstrans_RdcParameterGeneric_chunker_type,
2656 { "Chunker Type", "frstrans.frstrans_RdcParameterGeneric.chunker_type", FT_UINT16, BASE_DEC, VALS(frstrans_frstrans_RdcChunckerAlgorithm_vals), 0, NULL, HFILL }},
2657 { &hf_frstrans_frstrans_TransportFlags_FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY,
2658 { "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 }},
2659 { &hf_frstrans_frstrans_RdcFileInfo_file_size_estimate,
2660 { "File Size Estimate", "frstrans.frstrans_RdcFileInfo.file_size_estimate", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2661 { &hf_frstrans_frstrans_CheckConnectivity_replica_set_guid,
2662 { "Replica Set Guid", "frstrans.frstrans_CheckConnectivity.replica_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2663 { &hf_frstrans_frstrans_EstablishSession_connection_guid,
2664 { "Connection Guid", "frstrans.frstrans_EstablishSession.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2665 { &hf_frstrans_frstrans_EstablishSession_content_set_guid,
2666 { "Content Set Guid", "frstrans.frstrans_EstablishSession.content_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2667 { &hf_frstrans_frstrans_Update_content_set_guid,
2668 { "Content Set Guid", "frstrans.frstrans_Update.content_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2669 { &hf_frstrans_frstrans_RequestUpdates_update_count,
2670 { "Update Count", "frstrans.frstrans_RequestUpdates.update_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2671 { &hf_frstrans_frstrans_Update_rdc_similarity,
2672 { "Rdc Similarity", "frstrans.frstrans_Update.rdc_similarity", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2673 { &hf_frstrans_frstrans_AsyncPoll_response,
2674 { "Response", "frstrans.frstrans_AsyncPoll.response", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2675 { &hf_frstrans_frstrans_RequestUpdates_version_vector_diff,
2676 { "Version Vector Diff", "frstrans.frstrans_RequestUpdates.version_vector_diff", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2677 { &hf_frstrans_frstrans_Update_clock,
2678 { "Clock", "frstrans.frstrans_Update.clock", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
2679 { &hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector,
2680 { "Epoque Vector", "frstrans.frstrans_AsyncVersionVectorResponse.epoque_vector", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2681 { &hf_frstrans_frstrans_VersionVector_high,
2682 { "High", "frstrans.frstrans_VersionVector.high", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2683 { &hf_frstrans_frstrans_EpoqueVector_day_of_week,
2684 { "Day Of Week", "frstrans.frstrans_EpoqueVector.day_of_week", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2685 { &hf_frstrans_frstrans_Update_create_time,
2686 { "Create Time", "frstrans.frstrans_Update.create_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
2687 { &hf_frstrans_frstrans_EpoqueVector_milli_seconds,
2688 { "Milli Seconds", "frstrans.frstrans_EpoqueVector.milli_seconds", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2689 { &hf_frstrans_frstrans_RdcFileInfo_rdc_minimum_compatible_version,
2690 { "Rdc Minimum Compatible Version", "frstrans.frstrans_RdcFileInfo.rdc_minimum_compatible_version", FT_UINT16, BASE_DEC, VALS(frstrans_frstrans_RdcVersionCompatible_vals), 0, NULL, HFILL }},
2691 { &hf_frstrans_frstrans_CheckConnectivity_connection_guid,
2692 { "Connection Guid", "frstrans.frstrans_CheckConnectivity.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2693 { &hf_frstrans_frstrans_Update_uid_db_guid,
2694 { "Uid Db Guid", "frstrans.frstrans_Update.uid_db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2695 { &hf_frstrans_frstrans_AsyncVersionVectorResponse_epoque_vector_count,
2696 { "Epoque Vector Count", "frstrans.frstrans_AsyncVersionVectorResponse.epoque_vector_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2697 { &hf_frstrans_frstrans_Update_parent_version,
2698 { "Parent Version", "frstrans.frstrans_Update.parent_version", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2699 { &hf_frstrans_frstrans_RdcParameterFilterPoint_min_chunk_size,
2700 { "Min Chunk Size", "frstrans.frstrans_RdcParameterFilterPoint.min_chunk_size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2701 { &hf_frstrans_frstrans_EstablishConnection_replica_set_guid,
2702 { "Replica Set Guid", "frstrans.frstrans_EstablishConnection.replica_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2703 { &hf_frstrans_frstrans_InitializeFileTransferAsync_server_context,
2704 { "Server Context", "frstrans.frstrans_InitializeFileTransferAsync.server_context", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
2705 { &hf_frstrans_frstrans_Update_gsvn_db_guid,
2706 { "Gsvn Db Guid", "frstrans.frstrans_Update.gsvn_db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2707 { &hf_frstrans_frstrans_RequestUpdates_update_request_type,
2708 { "Update Request Type", "frstrans.frstrans_RequestUpdates.update_request_type", FT_UINT16, BASE_DEC, VALS(frstrans_frstrans_UpdateRequestType_vals), 0, NULL, HFILL }},
2709 { &hf_frstrans_frstrans_Update_attributes,
2710 { "Attributes", "frstrans.frstrans_Update.attributes", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2711 { &hf_frstrans_frstrans_InitializeFileTransferAsync_buffer_size,
2712 { "Buffer Size", "frstrans.frstrans_InitializeFileTransferAsync.buffer_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2713 { &hf_frstrans_frstrans_RequestVersionVector_vv_generation,
2714 { "Vv Generation", "frstrans.frstrans_RequestVersionVector.vv_generation", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2715 { &hf_frstrans_frstrans_RequestUpdates_gvsn_version,
2716 { "Gvsn Version", "frstrans.frstrans_RequestUpdates.gvsn_version", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2717 { &hf_frstrans_frstrans_RdcParameterUnion_filter_max,
2718 { "Filter Max", "frstrans.frstrans_RdcParameterUnion.filter_max", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2719 { &hf_frstrans_frstrans_AsyncVersionVectorResponse_vv_generation,
2720 { "Vv Generation", "frstrans.frstrans_AsyncVersionVectorResponse.vv_generation", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2721 { &hf_frstrans_frstrans_InitializeFileTransferAsync_staging_policy,
2722 { "Staging Policy", "frstrans.frstrans_InitializeFileTransferAsync.staging_policy", FT_UINT16, BASE_DEC, VALS(frstrans_frstrans_RequestedStagingPolicy_vals), 0, NULL, HFILL }},
2723 { &hf_frstrans_frstrans_RequestUpdates_gvsn_db_guid,
2724 { "Gvsn Db Guid", "frstrans.frstrans_RequestUpdates.gvsn_db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2725 { &hf_frstrans_frstrans_RequestUpdates_hash_requested,
2726 { "Hash Requested", "frstrans.frstrans_RequestUpdates.hash_requested", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2727 { &hf_frstrans_frstrans_RdcFileInfo_on_disk_file_size,
2728 { "On Disk File Size", "frstrans.frstrans_RdcFileInfo.on_disk_file_size", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2729 { &hf_frstrans_frstrans_RdcParameters_u,
2730 { "U", "frstrans.frstrans_RdcParameters.u", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2731 { &hf_frstrans_frstrans_RdcFileInfo_rdc_version,
2732 { "Rdc Version", "frstrans.frstrans_RdcFileInfo.rdc_version", FT_UINT16, BASE_DEC, VALS(frstrans_frstrans_RdcVersion_vals), 0, NULL, HFILL }},
2733 { &hf_frstrans_frstrans_EpoqueVector_hour,
2734 { "Hour", "frstrans.frstrans_EpoqueVector.hour", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2735 { &hf_frstrans_frstrans_RequestUpdates_frs_update,
2736 { "Frs Update", "frstrans.frstrans_RequestUpdates.frs_update", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2737 { &hf_frstrans_frstrans_AsyncResponseContext_status,
2738 { "Status", "frstrans.frstrans_AsyncResponseContext.status", FT_UINT32, BASE_DEC, VALS(WERR_errors), 0, NULL, HFILL }},
2739 { &hf_frstrans_frstrans_RequestUpdates_content_set_guid,
2740 { "Content Set Guid", "frstrans.frstrans_RequestUpdates.content_set_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2741 { &hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_desired,
2742 { "Rdc Desired", "frstrans.frstrans_InitializeFileTransferAsync.rdc_desired", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2743 { &hf_frstrans_frstrans_Update_name_conflict,
2744 { "Name Conflict", "frstrans.frstrans_Update.name_conflict", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2745 { &hf_frstrans_frstrans_EstablishConnection_upstream_protocol_version,
2746 { "Upstream Protocol Version", "frstrans.frstrans_EstablishConnection.upstream_protocol_version", FT_UINT32, BASE_DEC, VALS(frstrans_frstrans_ProtocolVersion_vals), 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_werror,
2750 { "Windows Error", "frstrans.werror", FT_UINT32, BASE_HEX, VALS(WERR_errors), 0, NULL, HFILL }},
2751 { &hf_frstrans_frstrans_Update_parent_db_guid,
2752 { "Parent Db Guid", "frstrans.frstrans_Update.parent_db_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2753 { &hf_frstrans_frstrans_EpoqueVector_month,
2754 { "Month", "frstrans.frstrans_EpoqueVector.month", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2755 { &hf_frstrans_frstrans_RdcFileInfo_rdc_signature_levels,
2756 { "Rdc Signature Levels", "frstrans.frstrans_RdcFileInfo.rdc_signature_levels", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2757 { &hf_frstrans_frstrans_InitializeFileTransferAsync_size_read,
2758 { "Size Read", "frstrans.frstrans_InitializeFileTransferAsync.size_read", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2759 { &hf_frstrans_frstrans_InitializeFileTransferAsync_rdc_file_info,
2760 { "Rdc File Info", "frstrans.frstrans_InitializeFileTransferAsync.rdc_file_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2761 { &hf_frstrans_frstrans_RequestVersionVector_connection_guid,
2762 { "Connection Guid", "frstrans.frstrans_RequestVersionVector.connection_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
2766 static gint *ett[] = {
2767 &ett_dcerpc_frstrans,
2768 &ett_frstrans_frstrans_TransportFlags,
2769 &ett_frstrans_frstrans_VersionVector,
2770 &ett_frstrans_frstrans_Update,
2771 &ett_frstrans_frstrans_EpoqueVector,
2772 &ett_frstrans_frstrans_AsyncVersionVectorResponse,
2773 &ett_frstrans_frstrans_AsyncResponseContext,
2774 &ett_frstrans_frstrans_RdcParameterGeneric,
2775 &ett_frstrans_frstrans_RdcParameterFilterMax,
2776 &ett_frstrans_frstrans_RdcParameterFilterPoint,
2777 &ett_frstrans_frstrans_RdcParameterUnion,
2778 &ett_frstrans_frstrans_RdcParameters,
2779 &ett_frstrans_frstrans_RdcFileInfo,
2782 proto_dcerpc_frstrans = proto_register_protocol("File Replication Service DFS-R", "FRSTRANS", "frstrans");
2783 proto_register_field_array(proto_dcerpc_frstrans, hf, array_length (hf));
2784 proto_register_subtree_array(ett, array_length(ett));
2787 void proto_reg_handoff_dcerpc_frstrans(void)
2789 dcerpc_init_uuid(proto_dcerpc_frstrans, ett_dcerpc_frstrans,
2790 &uuid_dcerpc_frstrans, ver_dcerpc_frstrans,
2791 frstrans_dissectors, hf_frstrans_opnum);