Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / packet-dcerpc-fsrvp.c
blobe233ca1b7abc9309310c0e09711518a8c5a2d994
1 /* DO NOT EDIT
2 This file was automatically generated by Pidl
3 from fsrvp.idl and fsrvp.cnf.
5 Pidl is a perl based IDL compiler for DCE/RPC idl files.
6 It is maintained by the Samba team, not the Wireshark team.
7 Instructions on how to download and install Pidl can be
8 found at https://wiki.wireshark.org/Pidl
9 */
12 #include "config.h"
13 #include <string.h>
14 #include <wsutil/array.h>
15 #include <epan/packet.h>
16 #include <epan/tfs.h>
18 #include "packet-dcerpc.h"
19 #include "packet-dcerpc-nt.h"
20 #include "packet-windows-common.h"
21 #include "packet-dcerpc-fsrvp.h"
22 void proto_register_dcerpc_fsrvp(void);
23 void proto_reg_handoff_dcerpc_fsrvp(void);
25 /* Ett declarations */
26 static int ett_dcerpc_fsrvp;
27 static int ett_fsrvp_fssagent_share_mapping_1;
28 static int ett_fsrvp_fssagent_share_mapping;
31 /* Header field declarations */
32 static int hf_fsrvp_fsrvp_AbortShadowCopySet_ShadowCopySetId;
33 static int hf_fsrvp_fsrvp_AddToShadowCopySet_ClientShadowCopyId;
34 static int hf_fsrvp_fsrvp_AddToShadowCopySet_ShadowCopySetId;
35 static int hf_fsrvp_fsrvp_AddToShadowCopySet_ShareName;
36 static int hf_fsrvp_fsrvp_AddToShadowCopySet_pShadowCopyId;
37 static int hf_fsrvp_fsrvp_CommitShadowCopySet_ShadowCopySetId;
38 static int hf_fsrvp_fsrvp_CommitShadowCopySet_TimeOutInMilliseconds;
39 static int hf_fsrvp_fsrvp_DeleteShareMapping_ShadowCopyId;
40 static int hf_fsrvp_fsrvp_DeleteShareMapping_ShadowCopySetId;
41 static int hf_fsrvp_fsrvp_DeleteShareMapping_ShareName;
42 static int hf_fsrvp_fsrvp_ExposeShadowCopySet_ShadowCopySetId;
43 static int hf_fsrvp_fsrvp_ExposeShadowCopySet_TimeOutInMilliseconds;
44 static int hf_fsrvp_fsrvp_GetShareMapping_Level;
45 static int hf_fsrvp_fsrvp_GetShareMapping_ShadowCopyId;
46 static int hf_fsrvp_fsrvp_GetShareMapping_ShadowCopySetId;
47 static int hf_fsrvp_fsrvp_GetShareMapping_ShareMapping;
48 static int hf_fsrvp_fsrvp_GetShareMapping_ShareName;
49 static int hf_fsrvp_fsrvp_GetSupportedVersion_MaxVersion;
50 static int hf_fsrvp_fsrvp_GetSupportedVersion_MinVersion;
51 static int hf_fsrvp_fsrvp_IsPathShadowCopied_ShadowCopyCompatibility;
52 static int hf_fsrvp_fsrvp_IsPathShadowCopied_ShadowCopyPresent;
53 static int hf_fsrvp_fsrvp_IsPathShadowCopied_ShareName;
54 static int hf_fsrvp_fsrvp_IsPathSupported_OwnerMachineName;
55 static int hf_fsrvp_fsrvp_IsPathSupported_ShareName;
56 static int hf_fsrvp_fsrvp_IsPathSupported_SupportedByThisProvider;
57 static int hf_fsrvp_fsrvp_PrepareShadowCopySet_ShadowCopySetId;
58 static int hf_fsrvp_fsrvp_PrepareShadowCopySet_TimeOutInMilliseconds;
59 static int hf_fsrvp_fsrvp_RecoveryCompleteShadowCopySet_ShadowCopySetId;
60 static int hf_fsrvp_fsrvp_SetContext_Context;
61 static int hf_fsrvp_fsrvp_StartShadowCopySet_ClientShadowCopySetId;
62 static int hf_fsrvp_fsrvp_StartShadowCopySet_pShadowCopySetId;
63 static int hf_fsrvp_fssagent_share_mapping_1_ShadowCopyId;
64 static int hf_fsrvp_fssagent_share_mapping_1_ShadowCopySetId;
65 static int hf_fsrvp_fssagent_share_mapping_1_ShadowCopyShareName;
66 static int hf_fsrvp_fssagent_share_mapping_1_ShareNameUNC;
67 static int hf_fsrvp_fssagent_share_mapping_1_tstamp;
68 static int hf_fsrvp_fssagent_share_mapping_ShareMapping1;
69 static int hf_fsrvp_opnum;
70 static int hf_fsrvp_status;
72 static int proto_dcerpc_fsrvp;
73 /* Version information */
76 static e_guid_t uuid_dcerpc_fsrvp = {
77 0xa8e0653c, 0x2744, 0x4389,
78 { 0xa6, 0x1d, 0x73, 0x73, 0xdf, 0x8b, 0x22, 0x92 }
80 static uint16_t ver_dcerpc_fsrvp = 1;
82 static int fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
83 static int fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopyId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
84 static int fsrvp_dissect_element_fssagent_share_mapping_1_ShareNameUNC(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
85 static int fsrvp_dissect_element_fssagent_share_mapping_1_ShareNameUNC_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
86 static int fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopyShareName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
87 static int fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopyShareName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
88 static int fsrvp_dissect_element_fssagent_share_mapping_1_tstamp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
89 static int fsrvp_dissect_element_fssagent_share_mapping_ShareMapping1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
90 static int fsrvp_dissect_element_fssagent_share_mapping_ShareMapping1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
91 static int fsrvp_dissect_element_GetSupportedVersion_MinVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
92 static int fsrvp_dissect_element_GetSupportedVersion_MinVersion_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
93 static int fsrvp_dissect_element_GetSupportedVersion_MaxVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
94 static int fsrvp_dissect_element_GetSupportedVersion_MaxVersion_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
95 static int fsrvp_dissect_element_SetContext_Context(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
96 static int fsrvp_dissect_element_StartShadowCopySet_ClientShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
97 static int fsrvp_dissect_element_StartShadowCopySet_pShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
98 static int fsrvp_dissect_element_StartShadowCopySet_pShadowCopySetId_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
99 static int fsrvp_dissect_element_AddToShadowCopySet_ClientShadowCopyId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
100 static int fsrvp_dissect_element_AddToShadowCopySet_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
101 static int fsrvp_dissect_element_AddToShadowCopySet_ShareName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
102 static int fsrvp_dissect_element_AddToShadowCopySet_ShareName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
103 static int fsrvp_dissect_element_AddToShadowCopySet_pShadowCopyId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
104 static int fsrvp_dissect_element_AddToShadowCopySet_pShadowCopyId_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
105 static int fsrvp_dissect_element_CommitShadowCopySet_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
106 static int fsrvp_dissect_element_CommitShadowCopySet_TimeOutInMilliseconds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
107 static int fsrvp_dissect_element_ExposeShadowCopySet_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
108 static int fsrvp_dissect_element_ExposeShadowCopySet_TimeOutInMilliseconds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
109 static int fsrvp_dissect_element_RecoveryCompleteShadowCopySet_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
110 static int fsrvp_dissect_element_AbortShadowCopySet_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
111 static int fsrvp_dissect_element_IsPathSupported_ShareName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
112 static int fsrvp_dissect_element_IsPathSupported_ShareName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
113 static int fsrvp_dissect_element_IsPathSupported_SupportedByThisProvider(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
114 static int fsrvp_dissect_element_IsPathSupported_SupportedByThisProvider_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
115 static int fsrvp_dissect_element_IsPathSupported_OwnerMachineName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
116 static int fsrvp_dissect_element_IsPathSupported_OwnerMachineName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
117 static int fsrvp_dissect_element_IsPathSupported_OwnerMachineName__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
118 static int fsrvp_dissect_element_IsPathShadowCopied_ShareName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
119 static int fsrvp_dissect_element_IsPathShadowCopied_ShareName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
120 static int fsrvp_dissect_element_IsPathShadowCopied_ShadowCopyPresent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
121 static int fsrvp_dissect_element_IsPathShadowCopied_ShadowCopyPresent_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
122 static int fsrvp_dissect_element_IsPathShadowCopied_ShadowCopyCompatibility(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
123 static int fsrvp_dissect_element_IsPathShadowCopied_ShadowCopyCompatibility_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
124 static int fsrvp_dissect_element_GetShareMapping_ShadowCopyId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
125 static int fsrvp_dissect_element_GetShareMapping_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
126 static int fsrvp_dissect_element_GetShareMapping_ShareName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
127 static int fsrvp_dissect_element_GetShareMapping_ShareName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
128 static int fsrvp_dissect_element_GetShareMapping_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
129 static int fsrvp_dissect_element_GetShareMapping_ShareMapping(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
130 static int fsrvp_dissect_element_GetShareMapping_ShareMapping_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
131 static int fsrvp_dissect_element_DeleteShareMapping_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
132 static int fsrvp_dissect_element_DeleteShareMapping_ShadowCopyId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
133 static int fsrvp_dissect_element_DeleteShareMapping_ShareName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
134 static int fsrvp_dissect_element_DeleteShareMapping_ShareName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
135 static int fsrvp_dissect_element_PrepareShadowCopySet_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
136 static int fsrvp_dissect_element_PrepareShadowCopySet_TimeOutInMilliseconds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
137 static int
138 fsrvp_dissect_SetContext_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
140 di->dcerpc_procedure_name="SetContext";
141 offset = fsrvp_dissect_element_SetContext_Context(tvb, offset, pinfo, tree, di, drep);
142 return offset;
144 static int
145 fsrvp_dissect_StartShadowCopySet_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
147 di->dcerpc_procedure_name="StartShadowCopySet";
148 offset = fsrvp_dissect_element_StartShadowCopySet_ClientShadowCopySetId(tvb, offset, pinfo, tree, di, drep);
149 return offset;
151 static int
152 fsrvp_dissect_AddToShadowCopySet_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
154 di->dcerpc_procedure_name="AddToShadowCopySet";
155 offset = fsrvp_dissect_element_AddToShadowCopySet_ClientShadowCopyId(tvb, offset, pinfo, tree, di, drep);
156 offset = fsrvp_dissect_element_AddToShadowCopySet_ShadowCopySetId(tvb, offset, pinfo, tree, di, drep);
157 offset = fsrvp_dissect_element_AddToShadowCopySet_ShareName(tvb, offset, pinfo, tree, di, drep);
158 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
159 return offset;
161 static int
162 fsrvp_dissect_CommitShadowCopySet_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
164 di->dcerpc_procedure_name="CommitShadowCopySet";
165 offset = fsrvp_dissect_element_CommitShadowCopySet_ShadowCopySetId(tvb, offset, pinfo, tree, di, drep);
166 offset = fsrvp_dissect_element_CommitShadowCopySet_TimeOutInMilliseconds(tvb, offset, pinfo, tree, di, drep);
167 return offset;
169 static int
170 fsrvp_dissect_ExposeShadowCopySet_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
172 di->dcerpc_procedure_name="ExposeShadowCopySet";
173 offset = fsrvp_dissect_element_ExposeShadowCopySet_ShadowCopySetId(tvb, offset, pinfo, tree, di, drep);
174 offset = fsrvp_dissect_element_ExposeShadowCopySet_TimeOutInMilliseconds(tvb, offset, pinfo, tree, di, drep);
175 return offset;
177 static int
178 fsrvp_dissect_RecoveryCompleteShadowCopySet_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
180 di->dcerpc_procedure_name="RecoveryCompleteShadowCopySet";
181 offset = fsrvp_dissect_element_RecoveryCompleteShadowCopySet_ShadowCopySetId(tvb, offset, pinfo, tree, di, drep);
182 return offset;
184 static int
185 fsrvp_dissect_AbortShadowCopySet_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
187 di->dcerpc_procedure_name="AbortShadowCopySet";
188 offset = fsrvp_dissect_element_AbortShadowCopySet_ShadowCopySetId(tvb, offset, pinfo, tree, di, drep);
189 return offset;
191 static int
192 fsrvp_dissect_GetShareMapping_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
194 di->dcerpc_procedure_name="GetShareMapping";
195 offset = fsrvp_dissect_element_GetShareMapping_ShadowCopyId(tvb, offset, pinfo, tree, di, drep);
196 offset = fsrvp_dissect_element_GetShareMapping_ShadowCopySetId(tvb, offset, pinfo, tree, di, drep);
197 offset = fsrvp_dissect_element_GetShareMapping_ShareName(tvb, offset, pinfo, tree, di, drep);
198 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
199 offset = fsrvp_dissect_element_GetShareMapping_Level(tvb, offset, pinfo, tree, di, drep);
200 return offset;
202 static int
203 fsrvp_dissect_DeleteShareMapping_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
205 di->dcerpc_procedure_name="DeleteShareMapping";
206 offset = fsrvp_dissect_element_DeleteShareMapping_ShadowCopySetId(tvb, offset, pinfo, tree, di, drep);
207 offset = fsrvp_dissect_element_DeleteShareMapping_ShadowCopyId(tvb, offset, pinfo, tree, di, drep);
208 offset = fsrvp_dissect_element_DeleteShareMapping_ShareName(tvb, offset, pinfo, tree, di, drep);
209 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
210 return offset;
212 static int
213 fsrvp_dissect_PrepareShadowCopySet_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
215 di->dcerpc_procedure_name="PrepareShadowCopySet";
216 offset = fsrvp_dissect_element_PrepareShadowCopySet_ShadowCopySetId(tvb, offset, pinfo, tree, di, drep);
217 offset = fsrvp_dissect_element_PrepareShadowCopySet_TimeOutInMilliseconds(tvb, offset, pinfo, tree, di, drep);
218 return offset;
222 /* IDL: struct { */
223 /* IDL: GUID ShadowCopySetId; */
224 /* IDL: GUID ShadowCopyId; */
225 /* IDL: [charset(UTF16)] [unique(1)] uint16 *ShareNameUNC; */
226 /* IDL: [charset(UTF16)] [unique(1)] uint16 *ShadowCopyShareName; */
227 /* IDL: NTTIME tstamp; */
228 /* IDL: } */
230 static int
231 fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
233 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fssagent_share_mapping_1_ShadowCopySetId, NULL);
235 return offset;
238 static int
239 fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopyId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
241 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fssagent_share_mapping_1_ShadowCopyId, NULL);
243 return offset;
246 static int
247 fsrvp_dissect_element_fssagent_share_mapping_1_ShareNameUNC(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
249 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_fssagent_share_mapping_1_ShareNameUNC_, NDR_POINTER_UNIQUE, "Pointer to ShareNameUNC (uint16)",hf_fsrvp_fssagent_share_mapping_1_ShareNameUNC);
251 return offset;
254 static int
255 fsrvp_dissect_element_fssagent_share_mapping_1_ShareNameUNC_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
257 char *data = NULL;
258 struct ndr_generic_array nga = { .is_conformant = false, };
260 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
262 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
263 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fssagent_share_mapping_1_ShareNameUNC, false, &nga, &data);
264 proto_item_append_text(tree, ": %s", data);
266 return offset;
269 static int
270 fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopyShareName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
272 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopyShareName_, NDR_POINTER_UNIQUE, "Pointer to ShadowCopyShareName (uint16)",hf_fsrvp_fssagent_share_mapping_1_ShadowCopyShareName);
274 return offset;
277 static int
278 fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopyShareName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
280 char *data = NULL;
281 struct ndr_generic_array nga = { .is_conformant = false, };
283 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
285 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
286 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fssagent_share_mapping_1_ShadowCopyShareName, false, &nga, &data);
287 proto_item_append_text(tree, ": %s", data);
289 return offset;
292 static int
293 fsrvp_dissect_element_fssagent_share_mapping_1_tstamp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
295 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fssagent_share_mapping_1_tstamp);
297 return offset;
301 fsrvp_dissect_struct_fssagent_share_mapping_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
303 proto_item *item = NULL;
304 proto_tree *tree = NULL;
305 int old_offset;
307 ALIGN_TO_5_BYTES;
309 old_offset = offset;
311 if (parent_tree) {
312 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
313 tree = proto_item_add_subtree(item, ett_fsrvp_fssagent_share_mapping_1);
316 offset = fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopySetId(tvb, offset, pinfo, tree, di, drep);
318 offset = fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopyId(tvb, offset, pinfo, tree, di, drep);
320 offset = fsrvp_dissect_element_fssagent_share_mapping_1_ShareNameUNC(tvb, offset, pinfo, tree, di, drep);
322 offset = fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopyShareName(tvb, offset, pinfo, tree, di, drep);
324 offset = fsrvp_dissect_element_fssagent_share_mapping_1_tstamp(tvb, offset, pinfo, tree, di, drep);
327 proto_item_set_len(item, offset-old_offset);
330 if (di->call_data->flags & DCERPC_IS_NDR64) {
331 ALIGN_TO_5_BYTES;
334 return offset;
338 /* IDL: union { */
339 /* IDL: [case(1)] [case(1)] [unique(1)] fssagent_share_mapping_1 *ShareMapping1; */
340 /* IDL: [default] ; */
341 /* IDL: } */
343 static int
344 fsrvp_dissect_element_fssagent_share_mapping_ShareMapping1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
346 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_fssagent_share_mapping_ShareMapping1_, NDR_POINTER_UNIQUE, "Pointer to ShareMapping1 (fssagent_share_mapping_1)",hf_fsrvp_fssagent_share_mapping_ShareMapping1);
348 return offset;
351 static int
352 fsrvp_dissect_element_fssagent_share_mapping_ShareMapping1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
354 offset = fsrvp_dissect_struct_fssagent_share_mapping_1(tvb,offset,pinfo,tree,di,drep,hf_fsrvp_fssagent_share_mapping_ShareMapping1,0);
356 return offset;
359 static int
360 fsrvp_dissect_fssagent_share_mapping(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
362 proto_item *item = NULL;
363 proto_tree *tree = NULL;
364 int old_offset;
365 uint32_t level;
367 old_offset = offset;
368 if (parent_tree) {
369 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_fsrvp_fssagent_share_mapping, &item, "fssagent_share_mapping");
372 UNION_ALIGN_TO_5_BYTES;
373 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
374 UNION_ALIGN_TO_5_BYTES;
376 switch(level) {
377 case 1:
378 offset = fsrvp_dissect_element_fssagent_share_mapping_ShareMapping1(tvb, offset, pinfo, tree, di, drep);
379 break;
381 default:
382 break;
384 proto_item_set_len(item, offset-old_offset);
387 return offset;
389 static int
390 fsrvp_dissect_element_GetSupportedVersion_MinVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
392 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_GetSupportedVersion_MinVersion_, NDR_POINTER_REF, "Pointer to MinVersion (uint32)",hf_fsrvp_fsrvp_GetSupportedVersion_MinVersion);
394 return offset;
397 static int
398 fsrvp_dissect_element_GetSupportedVersion_MinVersion_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
400 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_GetSupportedVersion_MinVersion, 0);
402 return offset;
405 static int
406 fsrvp_dissect_element_GetSupportedVersion_MaxVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
408 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_GetSupportedVersion_MaxVersion_, NDR_POINTER_REF, "Pointer to MaxVersion (uint32)",hf_fsrvp_fsrvp_GetSupportedVersion_MaxVersion);
410 return offset;
413 static int
414 fsrvp_dissect_element_GetSupportedVersion_MaxVersion_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
416 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_GetSupportedVersion_MaxVersion, 0);
418 return offset;
421 /* IDL: NTSTATUS fsrvp_GetSupportedVersion( */
422 /* IDL: [out] [ref] uint32 *MinVersion, */
423 /* IDL: [out] [ref] uint32 *MaxVersion */
424 /* IDL: ); */
426 static int
427 fsrvp_dissect_GetSupportedVersion_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
429 uint32_t status;
431 di->dcerpc_procedure_name="GetSupportedVersion";
432 offset = fsrvp_dissect_element_GetSupportedVersion_MinVersion(tvb, offset, pinfo, tree, di, drep);
433 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
435 offset = fsrvp_dissect_element_GetSupportedVersion_MaxVersion(tvb, offset, pinfo, tree, di, drep);
436 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
438 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
440 if (status != 0)
441 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
443 return offset;
446 static int
447 fsrvp_dissect_GetSupportedVersion_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
449 di->dcerpc_procedure_name="GetSupportedVersion";
450 return offset;
453 static int
454 fsrvp_dissect_element_SetContext_Context(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
456 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_SetContext_Context, 0);
458 return offset;
461 /* IDL: NTSTATUS fsrvp_SetContext( */
462 /* IDL: [in] uint32 Context */
463 /* IDL: ); */
465 static int
466 fsrvp_dissect_SetContext_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
468 uint32_t status;
470 di->dcerpc_procedure_name="SetContext";
471 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
473 if (status != 0)
474 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
476 return offset;
479 static int
480 fsrvp_dissect_element_StartShadowCopySet_ClientShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
482 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_StartShadowCopySet_ClientShadowCopySetId, NULL);
484 return offset;
487 static int
488 fsrvp_dissect_element_StartShadowCopySet_pShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
490 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_StartShadowCopySet_pShadowCopySetId_, NDR_POINTER_REF, "Pointer to PShadowCopySetId (GUID)",hf_fsrvp_fsrvp_StartShadowCopySet_pShadowCopySetId);
492 return offset;
495 static int
496 fsrvp_dissect_element_StartShadowCopySet_pShadowCopySetId_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
498 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_StartShadowCopySet_pShadowCopySetId, NULL);
500 return offset;
503 /* IDL: NTSTATUS fsrvp_StartShadowCopySet( */
504 /* IDL: [in] GUID ClientShadowCopySetId, */
505 /* IDL: [out] [ref] GUID *pShadowCopySetId */
506 /* IDL: ); */
508 static int
509 fsrvp_dissect_StartShadowCopySet_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
511 uint32_t status;
513 di->dcerpc_procedure_name="StartShadowCopySet";
514 offset = fsrvp_dissect_element_StartShadowCopySet_pShadowCopySetId(tvb, offset, pinfo, tree, di, drep);
515 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
517 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
519 if (status != 0)
520 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
522 return offset;
525 static int
526 fsrvp_dissect_element_AddToShadowCopySet_ClientShadowCopyId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
528 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_AddToShadowCopySet_ClientShadowCopyId, NULL);
530 return offset;
533 static int
534 fsrvp_dissect_element_AddToShadowCopySet_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
536 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_AddToShadowCopySet_ShadowCopySetId, NULL);
538 return offset;
541 static int
542 fsrvp_dissect_element_AddToShadowCopySet_ShareName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
544 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_AddToShadowCopySet_ShareName_, NDR_POINTER_REF, "Pointer to ShareName (uint16)",hf_fsrvp_fsrvp_AddToShadowCopySet_ShareName);
546 return offset;
549 static int
550 fsrvp_dissect_element_AddToShadowCopySet_ShareName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
552 char *data = NULL;
553 struct ndr_generic_array nga = { .is_conformant = false, };
555 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
557 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
558 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fsrvp_AddToShadowCopySet_ShareName, false, &nga, &data);
559 proto_item_append_text(tree, ": %s", data);
561 return offset;
564 static int
565 fsrvp_dissect_element_AddToShadowCopySet_pShadowCopyId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
567 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_AddToShadowCopySet_pShadowCopyId_, NDR_POINTER_REF, "Pointer to PShadowCopyId (GUID)",hf_fsrvp_fsrvp_AddToShadowCopySet_pShadowCopyId);
569 return offset;
572 static int
573 fsrvp_dissect_element_AddToShadowCopySet_pShadowCopyId_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
575 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_AddToShadowCopySet_pShadowCopyId, NULL);
577 return offset;
580 /* IDL: NTSTATUS fsrvp_AddToShadowCopySet( */
581 /* IDL: [in] GUID ClientShadowCopyId, */
582 /* IDL: [in] GUID ShadowCopySetId, */
583 /* IDL: [charset(UTF16)] [in] [ref] uint16 *ShareName, */
584 /* IDL: [out] [ref] GUID *pShadowCopyId */
585 /* IDL: ); */
587 static int
588 fsrvp_dissect_AddToShadowCopySet_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
590 uint32_t status;
592 di->dcerpc_procedure_name="AddToShadowCopySet";
593 offset = fsrvp_dissect_element_AddToShadowCopySet_pShadowCopyId(tvb, offset, pinfo, tree, di, drep);
594 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
596 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
598 if (status != 0)
599 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
601 return offset;
604 static int
605 fsrvp_dissect_element_CommitShadowCopySet_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
607 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_CommitShadowCopySet_ShadowCopySetId, NULL);
609 return offset;
612 static int
613 fsrvp_dissect_element_CommitShadowCopySet_TimeOutInMilliseconds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
615 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_CommitShadowCopySet_TimeOutInMilliseconds, 0);
617 return offset;
620 /* IDL: NTSTATUS fsrvp_CommitShadowCopySet( */
621 /* IDL: [in] GUID ShadowCopySetId, */
622 /* IDL: [in] uint32 TimeOutInMilliseconds */
623 /* IDL: ); */
625 static int
626 fsrvp_dissect_CommitShadowCopySet_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
628 uint32_t status;
630 di->dcerpc_procedure_name="CommitShadowCopySet";
631 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
633 if (status != 0)
634 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
636 return offset;
639 static int
640 fsrvp_dissect_element_ExposeShadowCopySet_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
642 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_ExposeShadowCopySet_ShadowCopySetId, NULL);
644 return offset;
647 static int
648 fsrvp_dissect_element_ExposeShadowCopySet_TimeOutInMilliseconds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
650 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_ExposeShadowCopySet_TimeOutInMilliseconds, 0);
652 return offset;
655 /* IDL: NTSTATUS fsrvp_ExposeShadowCopySet( */
656 /* IDL: [in] GUID ShadowCopySetId, */
657 /* IDL: [in] uint32 TimeOutInMilliseconds */
658 /* IDL: ); */
660 static int
661 fsrvp_dissect_ExposeShadowCopySet_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
663 uint32_t status;
665 di->dcerpc_procedure_name="ExposeShadowCopySet";
666 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
668 if (status != 0)
669 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
671 return offset;
674 static int
675 fsrvp_dissect_element_RecoveryCompleteShadowCopySet_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
677 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_RecoveryCompleteShadowCopySet_ShadowCopySetId, NULL);
679 return offset;
682 /* IDL: NTSTATUS fsrvp_RecoveryCompleteShadowCopySet( */
683 /* IDL: [in] GUID ShadowCopySetId */
684 /* IDL: ); */
686 static int
687 fsrvp_dissect_RecoveryCompleteShadowCopySet_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
689 uint32_t status;
691 di->dcerpc_procedure_name="RecoveryCompleteShadowCopySet";
692 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
694 if (status != 0)
695 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
697 return offset;
700 static int
701 fsrvp_dissect_element_AbortShadowCopySet_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
703 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_AbortShadowCopySet_ShadowCopySetId, NULL);
705 return offset;
708 /* IDL: NTSTATUS fsrvp_AbortShadowCopySet( */
709 /* IDL: [in] GUID ShadowCopySetId */
710 /* IDL: ); */
712 static int
713 fsrvp_dissect_AbortShadowCopySet_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
715 uint32_t status;
717 di->dcerpc_procedure_name="AbortShadowCopySet";
718 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
720 if (status != 0)
721 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
723 return offset;
726 static int
727 fsrvp_dissect_element_IsPathSupported_ShareName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
729 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_IsPathSupported_ShareName_, NDR_POINTER_REF, "Pointer to ShareName (uint16)",hf_fsrvp_fsrvp_IsPathSupported_ShareName);
731 return offset;
734 static int
735 fsrvp_dissect_element_IsPathSupported_ShareName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
737 char *data = NULL;
738 struct ndr_generic_array nga = { .is_conformant = false, };
740 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
742 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
743 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fsrvp_IsPathSupported_ShareName, false, &nga, &data);
744 proto_item_append_text(tree, ": %s", data);
746 return offset;
749 static int
750 fsrvp_dissect_element_IsPathSupported_SupportedByThisProvider(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
752 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_IsPathSupported_SupportedByThisProvider_, NDR_POINTER_REF, "Pointer to SupportedByThisProvider (uint32)",hf_fsrvp_fsrvp_IsPathSupported_SupportedByThisProvider);
754 return offset;
757 static int
758 fsrvp_dissect_element_IsPathSupported_SupportedByThisProvider_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
760 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_IsPathSupported_SupportedByThisProvider, 0);
762 return offset;
765 static int
766 fsrvp_dissect_element_IsPathSupported_OwnerMachineName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
768 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_IsPathSupported_OwnerMachineName_, NDR_POINTER_REF, "Pointer to OwnerMachineName (uint16)",hf_fsrvp_fsrvp_IsPathSupported_OwnerMachineName);
770 return offset;
773 static int
774 fsrvp_dissect_element_IsPathSupported_OwnerMachineName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
776 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_IsPathSupported_OwnerMachineName__, NDR_POINTER_UNIQUE, "Pointer to OwnerMachineName (uint16)",hf_fsrvp_fsrvp_IsPathSupported_OwnerMachineName);
778 return offset;
781 static int
782 fsrvp_dissect_element_IsPathSupported_OwnerMachineName__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
784 char *data = NULL;
785 struct ndr_generic_array nga = { .is_conformant = false, };
787 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
789 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
790 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fsrvp_IsPathSupported_OwnerMachineName, false, &nga, &data);
791 proto_item_append_text(tree, ": %s", data);
793 return offset;
796 /* IDL: NTSTATUS fsrvp_IsPathSupported( */
797 /* IDL: [charset(UTF16)] [in] [ref] uint16 *ShareName, */
798 /* IDL: [out] [ref] uint32 *SupportedByThisProvider, */
799 /* IDL: [charset(UTF16)] [out] [ref] uint16 **OwnerMachineName */
800 /* IDL: ); */
802 static int
803 fsrvp_dissect_IsPathSupported_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
805 uint32_t status;
807 di->dcerpc_procedure_name="IsPathSupported";
808 offset = fsrvp_dissect_element_IsPathSupported_SupportedByThisProvider(tvb, offset, pinfo, tree, di, drep);
809 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
811 offset = fsrvp_dissect_element_IsPathSupported_OwnerMachineName(tvb, offset, pinfo, tree, di, drep);
812 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
814 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
816 if (status != 0)
817 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
819 return offset;
822 static int
823 fsrvp_dissect_IsPathSupported_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
825 di->dcerpc_procedure_name="IsPathSupported";
826 offset = fsrvp_dissect_element_IsPathSupported_ShareName(tvb, offset, pinfo, tree, di, drep);
827 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
828 return offset;
831 static int
832 fsrvp_dissect_element_IsPathShadowCopied_ShareName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
834 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_IsPathShadowCopied_ShareName_, NDR_POINTER_REF, "Pointer to ShareName (uint16)",hf_fsrvp_fsrvp_IsPathShadowCopied_ShareName);
836 return offset;
839 static int
840 fsrvp_dissect_element_IsPathShadowCopied_ShareName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
842 char *data = NULL;
843 struct ndr_generic_array nga = { .is_conformant = false, };
845 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
847 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
848 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fsrvp_IsPathShadowCopied_ShareName, false, &nga, &data);
849 proto_item_append_text(tree, ": %s", data);
851 return offset;
854 static int
855 fsrvp_dissect_element_IsPathShadowCopied_ShadowCopyPresent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
857 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_IsPathShadowCopied_ShadowCopyPresent_, NDR_POINTER_REF, "Pointer to ShadowCopyPresent (uint32)",hf_fsrvp_fsrvp_IsPathShadowCopied_ShadowCopyPresent);
859 return offset;
862 static int
863 fsrvp_dissect_element_IsPathShadowCopied_ShadowCopyPresent_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
865 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_IsPathShadowCopied_ShadowCopyPresent, 0);
867 return offset;
870 static int
871 fsrvp_dissect_element_IsPathShadowCopied_ShadowCopyCompatibility(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
873 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_IsPathShadowCopied_ShadowCopyCompatibility_, NDR_POINTER_REF, "Pointer to ShadowCopyCompatibility (int32)",hf_fsrvp_fsrvp_IsPathShadowCopied_ShadowCopyCompatibility);
875 return offset;
878 static int
879 fsrvp_dissect_element_IsPathShadowCopied_ShadowCopyCompatibility_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
881 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_IsPathShadowCopied_ShadowCopyCompatibility, 0);
883 return offset;
886 /* IDL: NTSTATUS fsrvp_IsPathShadowCopied( */
887 /* IDL: [charset(UTF16)] [in] [ref] uint16 *ShareName, */
888 /* IDL: [out] [ref] uint32 *ShadowCopyPresent, */
889 /* IDL: [out] [ref] int32 *ShadowCopyCompatibility */
890 /* IDL: ); */
892 static int
893 fsrvp_dissect_IsPathShadowCopied_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
895 uint32_t status;
897 di->dcerpc_procedure_name="IsPathShadowCopied";
898 offset = fsrvp_dissect_element_IsPathShadowCopied_ShadowCopyPresent(tvb, offset, pinfo, tree, di, drep);
899 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
901 offset = fsrvp_dissect_element_IsPathShadowCopied_ShadowCopyCompatibility(tvb, offset, pinfo, tree, di, drep);
902 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
904 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
906 if (status != 0)
907 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
909 return offset;
912 static int
913 fsrvp_dissect_IsPathShadowCopied_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
915 di->dcerpc_procedure_name="IsPathShadowCopied";
916 offset = fsrvp_dissect_element_IsPathShadowCopied_ShareName(tvb, offset, pinfo, tree, di, drep);
917 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
918 return offset;
921 static int
922 fsrvp_dissect_element_GetShareMapping_ShadowCopyId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
924 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_GetShareMapping_ShadowCopyId, NULL);
926 return offset;
929 static int
930 fsrvp_dissect_element_GetShareMapping_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
932 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_GetShareMapping_ShadowCopySetId, NULL);
934 return offset;
937 static int
938 fsrvp_dissect_element_GetShareMapping_ShareName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
940 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_GetShareMapping_ShareName_, NDR_POINTER_REF, "Pointer to ShareName (uint16)",hf_fsrvp_fsrvp_GetShareMapping_ShareName);
942 return offset;
945 static int
946 fsrvp_dissect_element_GetShareMapping_ShareName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
948 char *data = NULL;
949 struct ndr_generic_array nga = { .is_conformant = false, };
951 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
953 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
954 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fsrvp_GetShareMapping_ShareName, false, &nga, &data);
955 proto_item_append_text(tree, ": %s", data);
957 return offset;
960 static int
961 fsrvp_dissect_element_GetShareMapping_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
963 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_GetShareMapping_Level, 0);
965 return offset;
968 static int
969 fsrvp_dissect_element_GetShareMapping_ShareMapping(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
971 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_GetShareMapping_ShareMapping_, NDR_POINTER_REF, "Pointer to ShareMapping (fssagent_share_mapping)",hf_fsrvp_fsrvp_GetShareMapping_ShareMapping);
973 return offset;
976 static int
977 fsrvp_dissect_element_GetShareMapping_ShareMapping_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
979 offset = fsrvp_dissect_fssagent_share_mapping(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_GetShareMapping_ShareMapping, 0);
981 return offset;
984 /* IDL: NTSTATUS fsrvp_GetShareMapping( */
985 /* IDL: [in] GUID ShadowCopyId, */
986 /* IDL: [in] GUID ShadowCopySetId, */
987 /* IDL: [charset(UTF16)] [in] [ref] uint16 *ShareName, */
988 /* IDL: [in] uint32 Level, */
989 /* IDL: [out] [ref] [switch_is(Level)] fssagent_share_mapping *ShareMapping */
990 /* IDL: ); */
992 static int
993 fsrvp_dissect_GetShareMapping_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
995 uint32_t status;
997 di->dcerpc_procedure_name="GetShareMapping";
998 offset = fsrvp_dissect_element_GetShareMapping_ShareMapping(tvb, offset, pinfo, tree, di, drep);
999 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1001 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
1003 if (status != 0)
1004 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
1006 return offset;
1009 static int
1010 fsrvp_dissect_element_DeleteShareMapping_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1012 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_DeleteShareMapping_ShadowCopySetId, NULL);
1014 return offset;
1017 static int
1018 fsrvp_dissect_element_DeleteShareMapping_ShadowCopyId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1020 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_DeleteShareMapping_ShadowCopyId, NULL);
1022 return offset;
1025 static int
1026 fsrvp_dissect_element_DeleteShareMapping_ShareName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1028 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, fsrvp_dissect_element_DeleteShareMapping_ShareName_, NDR_POINTER_REF, "Pointer to ShareName (uint16)",hf_fsrvp_fsrvp_DeleteShareMapping_ShareName);
1030 return offset;
1033 static int
1034 fsrvp_dissect_element_DeleteShareMapping_ShareName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1036 char *data = NULL;
1037 struct ndr_generic_array nga = { .is_conformant = false, };
1039 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1041 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1042 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fsrvp_DeleteShareMapping_ShareName, false, &nga, &data);
1043 proto_item_append_text(tree, ": %s", data);
1045 return offset;
1048 /* IDL: NTSTATUS fsrvp_DeleteShareMapping( */
1049 /* IDL: [in] GUID ShadowCopySetId, */
1050 /* IDL: [in] GUID ShadowCopyId, */
1051 /* IDL: [charset(UTF16)] [in] [ref] uint16 *ShareName */
1052 /* IDL: ); */
1054 static int
1055 fsrvp_dissect_DeleteShareMapping_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1057 uint32_t status;
1059 di->dcerpc_procedure_name="DeleteShareMapping";
1060 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
1062 if (status != 0)
1063 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
1065 return offset;
1068 static int
1069 fsrvp_dissect_element_PrepareShadowCopySet_ShadowCopySetId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1071 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_PrepareShadowCopySet_ShadowCopySetId, NULL);
1073 return offset;
1076 static int
1077 fsrvp_dissect_element_PrepareShadowCopySet_TimeOutInMilliseconds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1079 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_PrepareShadowCopySet_TimeOutInMilliseconds, 0);
1081 return offset;
1084 /* IDL: NTSTATUS fsrvp_PrepareShadowCopySet( */
1085 /* IDL: [in] GUID ShadowCopySetId, */
1086 /* IDL: [in] uint32 TimeOutInMilliseconds */
1087 /* IDL: ); */
1089 static int
1090 fsrvp_dissect_PrepareShadowCopySet_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1092 uint32_t status;
1094 di->dcerpc_procedure_name="PrepareShadowCopySet";
1095 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
1097 if (status != 0)
1098 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
1100 return offset;
1104 static const dcerpc_sub_dissector fsrvp_dissectors[] = {
1105 { 0, "GetSupportedVersion",
1106 fsrvp_dissect_GetSupportedVersion_request, fsrvp_dissect_GetSupportedVersion_response},
1107 { 1, "SetContext",
1108 fsrvp_dissect_SetContext_request, fsrvp_dissect_SetContext_response},
1109 { 2, "StartShadowCopySet",
1110 fsrvp_dissect_StartShadowCopySet_request, fsrvp_dissect_StartShadowCopySet_response},
1111 { 3, "AddToShadowCopySet",
1112 fsrvp_dissect_AddToShadowCopySet_request, fsrvp_dissect_AddToShadowCopySet_response},
1113 { 4, "CommitShadowCopySet",
1114 fsrvp_dissect_CommitShadowCopySet_request, fsrvp_dissect_CommitShadowCopySet_response},
1115 { 5, "ExposeShadowCopySet",
1116 fsrvp_dissect_ExposeShadowCopySet_request, fsrvp_dissect_ExposeShadowCopySet_response},
1117 { 6, "RecoveryCompleteShadowCopySet",
1118 fsrvp_dissect_RecoveryCompleteShadowCopySet_request, fsrvp_dissect_RecoveryCompleteShadowCopySet_response},
1119 { 7, "AbortShadowCopySet",
1120 fsrvp_dissect_AbortShadowCopySet_request, fsrvp_dissect_AbortShadowCopySet_response},
1121 { 8, "IsPathSupported",
1122 fsrvp_dissect_IsPathSupported_request, fsrvp_dissect_IsPathSupported_response},
1123 { 9, "IsPathShadowCopied",
1124 fsrvp_dissect_IsPathShadowCopied_request, fsrvp_dissect_IsPathShadowCopied_response},
1125 { 10, "GetShareMapping",
1126 fsrvp_dissect_GetShareMapping_request, fsrvp_dissect_GetShareMapping_response},
1127 { 11, "DeleteShareMapping",
1128 fsrvp_dissect_DeleteShareMapping_request, fsrvp_dissect_DeleteShareMapping_response},
1129 { 12, "PrepareShadowCopySet",
1130 fsrvp_dissect_PrepareShadowCopySet_request, fsrvp_dissect_PrepareShadowCopySet_response},
1131 { 0, NULL, NULL, NULL }
1134 void proto_register_dcerpc_fsrvp(void)
1136 static hf_register_info hf[] = {
1137 { &hf_fsrvp_fsrvp_AbortShadowCopySet_ShadowCopySetId,
1138 { "ShadowCopySetId", "fsrvp.fsrvp_AbortShadowCopySet.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1139 { &hf_fsrvp_fsrvp_AddToShadowCopySet_ClientShadowCopyId,
1140 { "ClientShadowCopyId", "fsrvp.fsrvp_AddToShadowCopySet.ClientShadowCopyId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1141 { &hf_fsrvp_fsrvp_AddToShadowCopySet_ShadowCopySetId,
1142 { "ShadowCopySetId", "fsrvp.fsrvp_AddToShadowCopySet.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1143 { &hf_fsrvp_fsrvp_AddToShadowCopySet_ShareName,
1144 { "ShareName", "fsrvp.fsrvp_AddToShadowCopySet.ShareName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1145 { &hf_fsrvp_fsrvp_AddToShadowCopySet_pShadowCopyId,
1146 { "PShadowCopyId", "fsrvp.fsrvp_AddToShadowCopySet.pShadowCopyId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1147 { &hf_fsrvp_fsrvp_CommitShadowCopySet_ShadowCopySetId,
1148 { "ShadowCopySetId", "fsrvp.fsrvp_CommitShadowCopySet.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1149 { &hf_fsrvp_fsrvp_CommitShadowCopySet_TimeOutInMilliseconds,
1150 { "TimeOutInMilliseconds", "fsrvp.fsrvp_CommitShadowCopySet.TimeOutInMilliseconds", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1151 { &hf_fsrvp_fsrvp_DeleteShareMapping_ShadowCopyId,
1152 { "ShadowCopyId", "fsrvp.fsrvp_DeleteShareMapping.ShadowCopyId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1153 { &hf_fsrvp_fsrvp_DeleteShareMapping_ShadowCopySetId,
1154 { "ShadowCopySetId", "fsrvp.fsrvp_DeleteShareMapping.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1155 { &hf_fsrvp_fsrvp_DeleteShareMapping_ShareName,
1156 { "ShareName", "fsrvp.fsrvp_DeleteShareMapping.ShareName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1157 { &hf_fsrvp_fsrvp_ExposeShadowCopySet_ShadowCopySetId,
1158 { "ShadowCopySetId", "fsrvp.fsrvp_ExposeShadowCopySet.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1159 { &hf_fsrvp_fsrvp_ExposeShadowCopySet_TimeOutInMilliseconds,
1160 { "TimeOutInMilliseconds", "fsrvp.fsrvp_ExposeShadowCopySet.TimeOutInMilliseconds", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1161 { &hf_fsrvp_fsrvp_GetShareMapping_Level,
1162 { "Level", "fsrvp.fsrvp_GetShareMapping.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1163 { &hf_fsrvp_fsrvp_GetShareMapping_ShadowCopyId,
1164 { "ShadowCopyId", "fsrvp.fsrvp_GetShareMapping.ShadowCopyId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1165 { &hf_fsrvp_fsrvp_GetShareMapping_ShadowCopySetId,
1166 { "ShadowCopySetId", "fsrvp.fsrvp_GetShareMapping.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1167 { &hf_fsrvp_fsrvp_GetShareMapping_ShareMapping,
1168 { "ShareMapping", "fsrvp.fsrvp_GetShareMapping.ShareMapping", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1169 { &hf_fsrvp_fsrvp_GetShareMapping_ShareName,
1170 { "ShareName", "fsrvp.fsrvp_GetShareMapping.ShareName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1171 { &hf_fsrvp_fsrvp_GetSupportedVersion_MaxVersion,
1172 { "MaxVersion", "fsrvp.fsrvp_GetSupportedVersion.MaxVersion", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1173 { &hf_fsrvp_fsrvp_GetSupportedVersion_MinVersion,
1174 { "MinVersion", "fsrvp.fsrvp_GetSupportedVersion.MinVersion", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1175 { &hf_fsrvp_fsrvp_IsPathShadowCopied_ShadowCopyCompatibility,
1176 { "ShadowCopyCompatibility", "fsrvp.fsrvp_IsPathShadowCopied.ShadowCopyCompatibility", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1177 { &hf_fsrvp_fsrvp_IsPathShadowCopied_ShadowCopyPresent,
1178 { "ShadowCopyPresent", "fsrvp.fsrvp_IsPathShadowCopied.ShadowCopyPresent", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1179 { &hf_fsrvp_fsrvp_IsPathShadowCopied_ShareName,
1180 { "ShareName", "fsrvp.fsrvp_IsPathShadowCopied.ShareName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1181 { &hf_fsrvp_fsrvp_IsPathSupported_OwnerMachineName,
1182 { "OwnerMachineName", "fsrvp.fsrvp_IsPathSupported.OwnerMachineName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1183 { &hf_fsrvp_fsrvp_IsPathSupported_ShareName,
1184 { "ShareName", "fsrvp.fsrvp_IsPathSupported.ShareName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1185 { &hf_fsrvp_fsrvp_IsPathSupported_SupportedByThisProvider,
1186 { "SupportedByThisProvider", "fsrvp.fsrvp_IsPathSupported.SupportedByThisProvider", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1187 { &hf_fsrvp_fsrvp_PrepareShadowCopySet_ShadowCopySetId,
1188 { "ShadowCopySetId", "fsrvp.fsrvp_PrepareShadowCopySet.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1189 { &hf_fsrvp_fsrvp_PrepareShadowCopySet_TimeOutInMilliseconds,
1190 { "TimeOutInMilliseconds", "fsrvp.fsrvp_PrepareShadowCopySet.TimeOutInMilliseconds", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1191 { &hf_fsrvp_fsrvp_RecoveryCompleteShadowCopySet_ShadowCopySetId,
1192 { "ShadowCopySetId", "fsrvp.fsrvp_RecoveryCompleteShadowCopySet.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1193 { &hf_fsrvp_fsrvp_SetContext_Context,
1194 { "Context", "fsrvp.fsrvp_SetContext.Context", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1195 { &hf_fsrvp_fsrvp_StartShadowCopySet_ClientShadowCopySetId,
1196 { "ClientShadowCopySetId", "fsrvp.fsrvp_StartShadowCopySet.ClientShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1197 { &hf_fsrvp_fsrvp_StartShadowCopySet_pShadowCopySetId,
1198 { "PShadowCopySetId", "fsrvp.fsrvp_StartShadowCopySet.pShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1199 { &hf_fsrvp_fssagent_share_mapping_1_ShadowCopyId,
1200 { "ShadowCopyId", "fsrvp.fssagent_share_mapping_1.ShadowCopyId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1201 { &hf_fsrvp_fssagent_share_mapping_1_ShadowCopySetId,
1202 { "ShadowCopySetId", "fsrvp.fssagent_share_mapping_1.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1203 { &hf_fsrvp_fssagent_share_mapping_1_ShadowCopyShareName,
1204 { "ShadowCopyShareName", "fsrvp.fssagent_share_mapping_1.ShadowCopyShareName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1205 { &hf_fsrvp_fssagent_share_mapping_1_ShareNameUNC,
1206 { "ShareNameUNC", "fsrvp.fssagent_share_mapping_1.ShareNameUNC", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1207 { &hf_fsrvp_fssagent_share_mapping_1_tstamp,
1208 { "Tstamp", "fsrvp.fssagent_share_mapping_1.tstamp", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
1209 { &hf_fsrvp_fssagent_share_mapping_ShareMapping1,
1210 { "ShareMapping1", "fsrvp.fssagent_share_mapping.ShareMapping1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1211 { &hf_fsrvp_opnum,
1212 { "Operation", "fsrvp.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
1213 { &hf_fsrvp_status,
1214 { "NT Error", "fsrvp.status", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &NT_errors_ext, 0, NULL, HFILL }},
1218 static int *ett[] = {
1219 &ett_dcerpc_fsrvp,
1220 &ett_fsrvp_fssagent_share_mapping_1,
1221 &ett_fsrvp_fssagent_share_mapping,
1224 proto_dcerpc_fsrvp = proto_register_protocol("File Server Remote VSS Protocol", "FSRVP", "fsrvp");
1225 proto_register_field_array(proto_dcerpc_fsrvp, hf, array_length (hf));
1226 proto_register_subtree_array(ett, array_length(ett));
1229 void proto_reg_handoff_dcerpc_fsrvp(void)
1231 dcerpc_init_uuid(proto_dcerpc_fsrvp, ett_dcerpc_fsrvp,
1232 &uuid_dcerpc_fsrvp, ver_dcerpc_fsrvp,
1233 fsrvp_dissectors, hf_fsrvp_opnum);