epan/dissectors/pidl/ C99 drsuapi
[wireshark-sm.git] / epan / dissectors / packet-dcerpc-fsrvp.c
blobb6b15abe8ad54a018f1657eeacd216c0e893f887
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;
259 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fssagent_share_mapping_1_ShareNameUNC, false, &data);
260 proto_item_append_text(tree, ": %s", data);
262 return offset;
265 static int
266 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_)
268 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);
270 return offset;
273 static int
274 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_)
276 char *data;
278 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fssagent_share_mapping_1_ShadowCopyShareName, false, &data);
279 proto_item_append_text(tree, ": %s", data);
281 return offset;
284 static int
285 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_)
287 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fssagent_share_mapping_1_tstamp);
289 return offset;
293 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_)
295 proto_item *item = NULL;
296 proto_tree *tree = NULL;
297 int old_offset;
299 ALIGN_TO_5_BYTES;
301 old_offset = offset;
303 if (parent_tree) {
304 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
305 tree = proto_item_add_subtree(item, ett_fsrvp_fssagent_share_mapping_1);
308 offset = fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopySetId(tvb, offset, pinfo, tree, di, drep);
310 offset = fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopyId(tvb, offset, pinfo, tree, di, drep);
312 offset = fsrvp_dissect_element_fssagent_share_mapping_1_ShareNameUNC(tvb, offset, pinfo, tree, di, drep);
314 offset = fsrvp_dissect_element_fssagent_share_mapping_1_ShadowCopyShareName(tvb, offset, pinfo, tree, di, drep);
316 offset = fsrvp_dissect_element_fssagent_share_mapping_1_tstamp(tvb, offset, pinfo, tree, di, drep);
319 proto_item_set_len(item, offset-old_offset);
322 if (di->call_data->flags & DCERPC_IS_NDR64) {
323 ALIGN_TO_5_BYTES;
326 return offset;
330 /* IDL: union { */
331 /* IDL: [case(1)] [case(1)] [unique(1)] fssagent_share_mapping_1 *ShareMapping1; */
332 /* IDL: [default] ; */
333 /* IDL: } */
335 static int
336 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_)
338 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);
340 return offset;
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 = fsrvp_dissect_struct_fssagent_share_mapping_1(tvb,offset,pinfo,tree,di,drep,hf_fsrvp_fssagent_share_mapping_ShareMapping1,0);
348 return offset;
351 static int
352 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_)
354 proto_item *item = NULL;
355 proto_tree *tree = NULL;
356 int old_offset;
357 uint32_t level;
359 old_offset = offset;
360 if (parent_tree) {
361 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_fsrvp_fssagent_share_mapping, &item, "fssagent_share_mapping");
364 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
365 ALIGN_TO_5_BYTES;
367 switch(level) {
368 case 1:
369 offset = fsrvp_dissect_element_fssagent_share_mapping_ShareMapping1(tvb, offset, pinfo, tree, di, drep);
370 break;
372 default:
373 break;
375 proto_item_set_len(item, offset-old_offset);
378 return offset;
380 static int
381 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_)
383 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);
385 return offset;
388 static int
389 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_)
391 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_GetSupportedVersion_MinVersion, 0);
393 return offset;
396 static int
397 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_)
399 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);
401 return offset;
404 static int
405 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_)
407 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_GetSupportedVersion_MaxVersion, 0);
409 return offset;
412 /* IDL: NTSTATUS fsrvp_GetSupportedVersion( */
413 /* IDL: [out] [ref] uint32 *MinVersion, */
414 /* IDL: [out] [ref] uint32 *MaxVersion */
415 /* IDL: ); */
417 static int
418 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_)
420 uint32_t status;
422 di->dcerpc_procedure_name="GetSupportedVersion";
423 offset = fsrvp_dissect_element_GetSupportedVersion_MinVersion(tvb, offset, pinfo, tree, di, drep);
424 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
426 offset = fsrvp_dissect_element_GetSupportedVersion_MaxVersion(tvb, offset, pinfo, tree, di, drep);
427 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
429 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
431 if (status != 0)
432 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
434 return offset;
437 static int
438 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_)
440 di->dcerpc_procedure_name="GetSupportedVersion";
441 return offset;
444 static int
445 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_)
447 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_SetContext_Context, 0);
449 return offset;
452 /* IDL: NTSTATUS fsrvp_SetContext( */
453 /* IDL: [in] uint32 Context */
454 /* IDL: ); */
456 static int
457 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_)
459 uint32_t status;
461 di->dcerpc_procedure_name="SetContext";
462 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
464 if (status != 0)
465 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
467 return offset;
470 static int
471 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_)
473 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_StartShadowCopySet_ClientShadowCopySetId, NULL);
475 return offset;
478 static int
479 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_)
481 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);
483 return offset;
486 static int
487 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_)
489 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_StartShadowCopySet_pShadowCopySetId, NULL);
491 return offset;
494 /* IDL: NTSTATUS fsrvp_StartShadowCopySet( */
495 /* IDL: [in] GUID ClientShadowCopySetId, */
496 /* IDL: [out] [ref] GUID *pShadowCopySetId */
497 /* IDL: ); */
499 static int
500 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_)
502 uint32_t status;
504 di->dcerpc_procedure_name="StartShadowCopySet";
505 offset = fsrvp_dissect_element_StartShadowCopySet_pShadowCopySetId(tvb, offset, pinfo, tree, di, drep);
506 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
508 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
510 if (status != 0)
511 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
513 return offset;
516 static int
517 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_)
519 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_AddToShadowCopySet_ClientShadowCopyId, NULL);
521 return offset;
524 static int
525 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_)
527 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_AddToShadowCopySet_ShadowCopySetId, NULL);
529 return offset;
532 static int
533 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_)
535 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);
537 return offset;
540 static int
541 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_)
543 char *data;
545 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fsrvp_AddToShadowCopySet_ShareName, false, &data);
546 proto_item_append_text(tree, ": %s", data);
548 return offset;
551 static int
552 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_)
554 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);
556 return offset;
559 static int
560 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_)
562 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_AddToShadowCopySet_pShadowCopyId, NULL);
564 return offset;
567 /* IDL: NTSTATUS fsrvp_AddToShadowCopySet( */
568 /* IDL: [in] GUID ClientShadowCopyId, */
569 /* IDL: [in] GUID ShadowCopySetId, */
570 /* IDL: [charset(UTF16)] [in] [ref] uint16 *ShareName, */
571 /* IDL: [out] [ref] GUID *pShadowCopyId */
572 /* IDL: ); */
574 static int
575 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_)
577 uint32_t status;
579 di->dcerpc_procedure_name="AddToShadowCopySet";
580 offset = fsrvp_dissect_element_AddToShadowCopySet_pShadowCopyId(tvb, offset, pinfo, tree, di, drep);
581 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
583 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
585 if (status != 0)
586 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
588 return offset;
591 static int
592 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_)
594 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_CommitShadowCopySet_ShadowCopySetId, NULL);
596 return offset;
599 static int
600 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_)
602 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_CommitShadowCopySet_TimeOutInMilliseconds, 0);
604 return offset;
607 /* IDL: NTSTATUS fsrvp_CommitShadowCopySet( */
608 /* IDL: [in] GUID ShadowCopySetId, */
609 /* IDL: [in] uint32 TimeOutInMilliseconds */
610 /* IDL: ); */
612 static int
613 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_)
615 uint32_t status;
617 di->dcerpc_procedure_name="CommitShadowCopySet";
618 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
620 if (status != 0)
621 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
623 return offset;
626 static int
627 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_)
629 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_ExposeShadowCopySet_ShadowCopySetId, NULL);
631 return offset;
634 static int
635 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_)
637 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_ExposeShadowCopySet_TimeOutInMilliseconds, 0);
639 return offset;
642 /* IDL: NTSTATUS fsrvp_ExposeShadowCopySet( */
643 /* IDL: [in] GUID ShadowCopySetId, */
644 /* IDL: [in] uint32 TimeOutInMilliseconds */
645 /* IDL: ); */
647 static int
648 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_)
650 uint32_t status;
652 di->dcerpc_procedure_name="ExposeShadowCopySet";
653 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
655 if (status != 0)
656 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
658 return offset;
661 static int
662 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_)
664 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_RecoveryCompleteShadowCopySet_ShadowCopySetId, NULL);
666 return offset;
669 /* IDL: NTSTATUS fsrvp_RecoveryCompleteShadowCopySet( */
670 /* IDL: [in] GUID ShadowCopySetId */
671 /* IDL: ); */
673 static int
674 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_)
676 uint32_t status;
678 di->dcerpc_procedure_name="RecoveryCompleteShadowCopySet";
679 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
681 if (status != 0)
682 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
684 return offset;
687 static int
688 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_)
690 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_AbortShadowCopySet_ShadowCopySetId, NULL);
692 return offset;
695 /* IDL: NTSTATUS fsrvp_AbortShadowCopySet( */
696 /* IDL: [in] GUID ShadowCopySetId */
697 /* IDL: ); */
699 static int
700 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_)
702 uint32_t status;
704 di->dcerpc_procedure_name="AbortShadowCopySet";
705 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
707 if (status != 0)
708 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
710 return offset;
713 static int
714 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_)
716 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);
718 return offset;
721 static int
722 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_)
724 char *data;
726 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fsrvp_IsPathSupported_ShareName, false, &data);
727 proto_item_append_text(tree, ": %s", data);
729 return offset;
732 static int
733 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_)
735 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);
737 return offset;
740 static int
741 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_)
743 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_IsPathSupported_SupportedByThisProvider, 0);
745 return offset;
748 static int
749 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_)
751 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);
753 return offset;
756 static int
757 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_)
759 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);
761 return offset;
764 static int
765 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_)
767 char *data;
769 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fsrvp_IsPathSupported_OwnerMachineName, false, &data);
770 proto_item_append_text(tree, ": %s", data);
772 return offset;
775 /* IDL: NTSTATUS fsrvp_IsPathSupported( */
776 /* IDL: [charset(UTF16)] [in] [ref] uint16 *ShareName, */
777 /* IDL: [out] [ref] uint32 *SupportedByThisProvider, */
778 /* IDL: [charset(UTF16)] [out] [ref] uint16 **OwnerMachineName */
779 /* IDL: ); */
781 static int
782 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_)
784 uint32_t status;
786 di->dcerpc_procedure_name="IsPathSupported";
787 offset = fsrvp_dissect_element_IsPathSupported_SupportedByThisProvider(tvb, offset, pinfo, tree, di, drep);
788 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
790 offset = fsrvp_dissect_element_IsPathSupported_OwnerMachineName(tvb, offset, pinfo, tree, di, drep);
791 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
793 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
795 if (status != 0)
796 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
798 return offset;
801 static int
802 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_)
804 di->dcerpc_procedure_name="IsPathSupported";
805 offset = fsrvp_dissect_element_IsPathSupported_ShareName(tvb, offset, pinfo, tree, di, drep);
806 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
807 return offset;
810 static int
811 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_)
813 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);
815 return offset;
818 static int
819 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_)
821 char *data;
823 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fsrvp_IsPathShadowCopied_ShareName, false, &data);
824 proto_item_append_text(tree, ": %s", data);
826 return offset;
829 static int
830 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_)
832 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);
834 return offset;
837 static int
838 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_)
840 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_IsPathShadowCopied_ShadowCopyPresent, 0);
842 return offset;
845 static int
846 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_)
848 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);
850 return offset;
853 static int
854 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_)
856 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_IsPathShadowCopied_ShadowCopyCompatibility, 0);
858 return offset;
861 /* IDL: NTSTATUS fsrvp_IsPathShadowCopied( */
862 /* IDL: [charset(UTF16)] [in] [ref] uint16 *ShareName, */
863 /* IDL: [out] [ref] uint32 *ShadowCopyPresent, */
864 /* IDL: [out] [ref] int32 *ShadowCopyCompatibility */
865 /* IDL: ); */
867 static int
868 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_)
870 uint32_t status;
872 di->dcerpc_procedure_name="IsPathShadowCopied";
873 offset = fsrvp_dissect_element_IsPathShadowCopied_ShadowCopyPresent(tvb, offset, pinfo, tree, di, drep);
874 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
876 offset = fsrvp_dissect_element_IsPathShadowCopied_ShadowCopyCompatibility(tvb, offset, pinfo, tree, di, drep);
877 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
879 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
881 if (status != 0)
882 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
884 return offset;
887 static int
888 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_)
890 di->dcerpc_procedure_name="IsPathShadowCopied";
891 offset = fsrvp_dissect_element_IsPathShadowCopied_ShareName(tvb, offset, pinfo, tree, di, drep);
892 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
893 return offset;
896 static int
897 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_)
899 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_GetShareMapping_ShadowCopyId, NULL);
901 return offset;
904 static int
905 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_)
907 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_GetShareMapping_ShadowCopySetId, NULL);
909 return offset;
912 static int
913 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_)
915 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);
917 return offset;
920 static int
921 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_)
923 char *data;
925 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fsrvp_GetShareMapping_ShareName, false, &data);
926 proto_item_append_text(tree, ": %s", data);
928 return offset;
931 static int
932 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_)
934 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_GetShareMapping_Level, 0);
936 return offset;
939 static int
940 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_)
942 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);
944 return offset;
947 static int
948 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_)
950 offset = fsrvp_dissect_fssagent_share_mapping(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_GetShareMapping_ShareMapping, 0);
952 return offset;
955 /* IDL: NTSTATUS fsrvp_GetShareMapping( */
956 /* IDL: [in] GUID ShadowCopyId, */
957 /* IDL: [in] GUID ShadowCopySetId, */
958 /* IDL: [charset(UTF16)] [in] [ref] uint16 *ShareName, */
959 /* IDL: [in] uint32 Level, */
960 /* IDL: [out] [ref] [switch_is(Level)] fssagent_share_mapping *ShareMapping */
961 /* IDL: ); */
963 static int
964 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_)
966 uint32_t status;
968 di->dcerpc_procedure_name="GetShareMapping";
969 offset = fsrvp_dissect_element_GetShareMapping_ShareMapping(tvb, offset, pinfo, tree, di, drep);
970 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
972 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
974 if (status != 0)
975 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
977 return offset;
980 static int
981 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_)
983 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_DeleteShareMapping_ShadowCopySetId, NULL);
985 return offset;
988 static int
989 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_)
991 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_DeleteShareMapping_ShadowCopyId, NULL);
993 return offset;
996 static int
997 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_)
999 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);
1001 return offset;
1004 static int
1005 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_)
1007 char *data;
1009 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_fsrvp_fsrvp_DeleteShareMapping_ShareName, false, &data);
1010 proto_item_append_text(tree, ": %s", data);
1012 return offset;
1015 /* IDL: NTSTATUS fsrvp_DeleteShareMapping( */
1016 /* IDL: [in] GUID ShadowCopySetId, */
1017 /* IDL: [in] GUID ShadowCopyId, */
1018 /* IDL: [charset(UTF16)] [in] [ref] uint16 *ShareName */
1019 /* IDL: ); */
1021 static int
1022 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_)
1024 uint32_t status;
1026 di->dcerpc_procedure_name="DeleteShareMapping";
1027 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
1029 if (status != 0)
1030 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
1032 return offset;
1035 static int
1036 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_)
1038 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_PrepareShadowCopySet_ShadowCopySetId, NULL);
1040 return offset;
1043 static int
1044 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_)
1046 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_fsrvp_PrepareShadowCopySet_TimeOutInMilliseconds, 0);
1048 return offset;
1051 /* IDL: NTSTATUS fsrvp_PrepareShadowCopySet( */
1052 /* IDL: [in] GUID ShadowCopySetId, */
1053 /* IDL: [in] uint32 TimeOutInMilliseconds */
1054 /* IDL: ); */
1056 static int
1057 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_)
1059 uint32_t status;
1061 di->dcerpc_procedure_name="PrepareShadowCopySet";
1062 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_fsrvp_status, &status);
1064 if (status != 0)
1065 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
1067 return offset;
1071 static const dcerpc_sub_dissector fsrvp_dissectors[] = {
1072 { 0, "GetSupportedVersion",
1073 fsrvp_dissect_GetSupportedVersion_request, fsrvp_dissect_GetSupportedVersion_response},
1074 { 1, "SetContext",
1075 fsrvp_dissect_SetContext_request, fsrvp_dissect_SetContext_response},
1076 { 2, "StartShadowCopySet",
1077 fsrvp_dissect_StartShadowCopySet_request, fsrvp_dissect_StartShadowCopySet_response},
1078 { 3, "AddToShadowCopySet",
1079 fsrvp_dissect_AddToShadowCopySet_request, fsrvp_dissect_AddToShadowCopySet_response},
1080 { 4, "CommitShadowCopySet",
1081 fsrvp_dissect_CommitShadowCopySet_request, fsrvp_dissect_CommitShadowCopySet_response},
1082 { 5, "ExposeShadowCopySet",
1083 fsrvp_dissect_ExposeShadowCopySet_request, fsrvp_dissect_ExposeShadowCopySet_response},
1084 { 6, "RecoveryCompleteShadowCopySet",
1085 fsrvp_dissect_RecoveryCompleteShadowCopySet_request, fsrvp_dissect_RecoveryCompleteShadowCopySet_response},
1086 { 7, "AbortShadowCopySet",
1087 fsrvp_dissect_AbortShadowCopySet_request, fsrvp_dissect_AbortShadowCopySet_response},
1088 { 8, "IsPathSupported",
1089 fsrvp_dissect_IsPathSupported_request, fsrvp_dissect_IsPathSupported_response},
1090 { 9, "IsPathShadowCopied",
1091 fsrvp_dissect_IsPathShadowCopied_request, fsrvp_dissect_IsPathShadowCopied_response},
1092 { 10, "GetShareMapping",
1093 fsrvp_dissect_GetShareMapping_request, fsrvp_dissect_GetShareMapping_response},
1094 { 11, "DeleteShareMapping",
1095 fsrvp_dissect_DeleteShareMapping_request, fsrvp_dissect_DeleteShareMapping_response},
1096 { 12, "PrepareShadowCopySet",
1097 fsrvp_dissect_PrepareShadowCopySet_request, fsrvp_dissect_PrepareShadowCopySet_response},
1098 { 0, NULL, NULL, NULL }
1101 void proto_register_dcerpc_fsrvp(void)
1103 static hf_register_info hf[] = {
1104 { &hf_fsrvp_fsrvp_AbortShadowCopySet_ShadowCopySetId,
1105 { "ShadowCopySetId", "fsrvp.fsrvp_AbortShadowCopySet.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1106 { &hf_fsrvp_fsrvp_AddToShadowCopySet_ClientShadowCopyId,
1107 { "ClientShadowCopyId", "fsrvp.fsrvp_AddToShadowCopySet.ClientShadowCopyId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1108 { &hf_fsrvp_fsrvp_AddToShadowCopySet_ShadowCopySetId,
1109 { "ShadowCopySetId", "fsrvp.fsrvp_AddToShadowCopySet.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1110 { &hf_fsrvp_fsrvp_AddToShadowCopySet_ShareName,
1111 { "ShareName", "fsrvp.fsrvp_AddToShadowCopySet.ShareName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1112 { &hf_fsrvp_fsrvp_AddToShadowCopySet_pShadowCopyId,
1113 { "PShadowCopyId", "fsrvp.fsrvp_AddToShadowCopySet.pShadowCopyId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1114 { &hf_fsrvp_fsrvp_CommitShadowCopySet_ShadowCopySetId,
1115 { "ShadowCopySetId", "fsrvp.fsrvp_CommitShadowCopySet.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1116 { &hf_fsrvp_fsrvp_CommitShadowCopySet_TimeOutInMilliseconds,
1117 { "TimeOutInMilliseconds", "fsrvp.fsrvp_CommitShadowCopySet.TimeOutInMilliseconds", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1118 { &hf_fsrvp_fsrvp_DeleteShareMapping_ShadowCopyId,
1119 { "ShadowCopyId", "fsrvp.fsrvp_DeleteShareMapping.ShadowCopyId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1120 { &hf_fsrvp_fsrvp_DeleteShareMapping_ShadowCopySetId,
1121 { "ShadowCopySetId", "fsrvp.fsrvp_DeleteShareMapping.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1122 { &hf_fsrvp_fsrvp_DeleteShareMapping_ShareName,
1123 { "ShareName", "fsrvp.fsrvp_DeleteShareMapping.ShareName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1124 { &hf_fsrvp_fsrvp_ExposeShadowCopySet_ShadowCopySetId,
1125 { "ShadowCopySetId", "fsrvp.fsrvp_ExposeShadowCopySet.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1126 { &hf_fsrvp_fsrvp_ExposeShadowCopySet_TimeOutInMilliseconds,
1127 { "TimeOutInMilliseconds", "fsrvp.fsrvp_ExposeShadowCopySet.TimeOutInMilliseconds", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1128 { &hf_fsrvp_fsrvp_GetShareMapping_Level,
1129 { "Level", "fsrvp.fsrvp_GetShareMapping.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1130 { &hf_fsrvp_fsrvp_GetShareMapping_ShadowCopyId,
1131 { "ShadowCopyId", "fsrvp.fsrvp_GetShareMapping.ShadowCopyId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1132 { &hf_fsrvp_fsrvp_GetShareMapping_ShadowCopySetId,
1133 { "ShadowCopySetId", "fsrvp.fsrvp_GetShareMapping.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1134 { &hf_fsrvp_fsrvp_GetShareMapping_ShareMapping,
1135 { "ShareMapping", "fsrvp.fsrvp_GetShareMapping.ShareMapping", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1136 { &hf_fsrvp_fsrvp_GetShareMapping_ShareName,
1137 { "ShareName", "fsrvp.fsrvp_GetShareMapping.ShareName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1138 { &hf_fsrvp_fsrvp_GetSupportedVersion_MaxVersion,
1139 { "MaxVersion", "fsrvp.fsrvp_GetSupportedVersion.MaxVersion", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1140 { &hf_fsrvp_fsrvp_GetSupportedVersion_MinVersion,
1141 { "MinVersion", "fsrvp.fsrvp_GetSupportedVersion.MinVersion", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1142 { &hf_fsrvp_fsrvp_IsPathShadowCopied_ShadowCopyCompatibility,
1143 { "ShadowCopyCompatibility", "fsrvp.fsrvp_IsPathShadowCopied.ShadowCopyCompatibility", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1144 { &hf_fsrvp_fsrvp_IsPathShadowCopied_ShadowCopyPresent,
1145 { "ShadowCopyPresent", "fsrvp.fsrvp_IsPathShadowCopied.ShadowCopyPresent", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1146 { &hf_fsrvp_fsrvp_IsPathShadowCopied_ShareName,
1147 { "ShareName", "fsrvp.fsrvp_IsPathShadowCopied.ShareName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1148 { &hf_fsrvp_fsrvp_IsPathSupported_OwnerMachineName,
1149 { "OwnerMachineName", "fsrvp.fsrvp_IsPathSupported.OwnerMachineName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1150 { &hf_fsrvp_fsrvp_IsPathSupported_ShareName,
1151 { "ShareName", "fsrvp.fsrvp_IsPathSupported.ShareName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1152 { &hf_fsrvp_fsrvp_IsPathSupported_SupportedByThisProvider,
1153 { "SupportedByThisProvider", "fsrvp.fsrvp_IsPathSupported.SupportedByThisProvider", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1154 { &hf_fsrvp_fsrvp_PrepareShadowCopySet_ShadowCopySetId,
1155 { "ShadowCopySetId", "fsrvp.fsrvp_PrepareShadowCopySet.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1156 { &hf_fsrvp_fsrvp_PrepareShadowCopySet_TimeOutInMilliseconds,
1157 { "TimeOutInMilliseconds", "fsrvp.fsrvp_PrepareShadowCopySet.TimeOutInMilliseconds", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1158 { &hf_fsrvp_fsrvp_RecoveryCompleteShadowCopySet_ShadowCopySetId,
1159 { "ShadowCopySetId", "fsrvp.fsrvp_RecoveryCompleteShadowCopySet.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1160 { &hf_fsrvp_fsrvp_SetContext_Context,
1161 { "Context", "fsrvp.fsrvp_SetContext.Context", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1162 { &hf_fsrvp_fsrvp_StartShadowCopySet_ClientShadowCopySetId,
1163 { "ClientShadowCopySetId", "fsrvp.fsrvp_StartShadowCopySet.ClientShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1164 { &hf_fsrvp_fsrvp_StartShadowCopySet_pShadowCopySetId,
1165 { "PShadowCopySetId", "fsrvp.fsrvp_StartShadowCopySet.pShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1166 { &hf_fsrvp_fssagent_share_mapping_1_ShadowCopyId,
1167 { "ShadowCopyId", "fsrvp.fssagent_share_mapping_1.ShadowCopyId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1168 { &hf_fsrvp_fssagent_share_mapping_1_ShadowCopySetId,
1169 { "ShadowCopySetId", "fsrvp.fssagent_share_mapping_1.ShadowCopySetId", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1170 { &hf_fsrvp_fssagent_share_mapping_1_ShadowCopyShareName,
1171 { "ShadowCopyShareName", "fsrvp.fssagent_share_mapping_1.ShadowCopyShareName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1172 { &hf_fsrvp_fssagent_share_mapping_1_ShareNameUNC,
1173 { "ShareNameUNC", "fsrvp.fssagent_share_mapping_1.ShareNameUNC", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1174 { &hf_fsrvp_fssagent_share_mapping_1_tstamp,
1175 { "Tstamp", "fsrvp.fssagent_share_mapping_1.tstamp", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
1176 { &hf_fsrvp_fssagent_share_mapping_ShareMapping1,
1177 { "ShareMapping1", "fsrvp.fssagent_share_mapping.ShareMapping1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1178 { &hf_fsrvp_opnum,
1179 { "Operation", "fsrvp.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
1180 { &hf_fsrvp_status,
1181 { "NT Error", "fsrvp.status", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &NT_errors_ext, 0, NULL, HFILL }},
1185 static int *ett[] = {
1186 &ett_dcerpc_fsrvp,
1187 &ett_fsrvp_fssagent_share_mapping_1,
1188 &ett_fsrvp_fssagent_share_mapping,
1191 proto_dcerpc_fsrvp = proto_register_protocol("File Server Remote VSS Protocol", "FSRVP", "fsrvp");
1192 proto_register_field_array(proto_dcerpc_fsrvp, hf, array_length (hf));
1193 proto_register_subtree_array(ett, array_length(ett));
1196 void proto_reg_handoff_dcerpc_fsrvp(void)
1198 dcerpc_init_uuid(proto_dcerpc_fsrvp, ett_dcerpc_fsrvp,
1199 &uuid_dcerpc_fsrvp, ver_dcerpc_fsrvp,
1200 fsrvp_dissectors, hf_fsrvp_opnum);