Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / packet-dcerpc-iwbemloginclientid.c
blob483cc675e9ae562464b43260b9e27725d370eb86
1 /* DO NOT EDIT
2 This file was automatically generated by Pidl
3 from iwbemloginclientid.idl and iwbemloginclientid.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-iwbemloginclientid.h"
22 void proto_register_dcerpc_IWbemLoginClientID(void);
23 void proto_reg_handoff_dcerpc_IWbemLoginClientID(void);
25 /* Ett declarations */
26 static int ett_IWbemLoginClientID_SetClientInfo_orpcthis;
27 static int ett_IWbemLoginClientID_SetClientInfo_orpcthat;
28 static int ett_dcerpc_IWbemLoginClientID;
29 static int ett_IWbemLoginClientID_ORPCTHIS;
30 static int ett_IWbemLoginClientID_ORPCTHAT;
33 /* Header field declarations */
34 static int hf_IWbemLoginClientID_SetClientInfo_lClientProcId;
35 static int hf_IWbemLoginClientID_SetClientInfo_lReserved;
36 static int hf_IWbemLoginClientID_SetClientInfo_orpcthat;
37 static int hf_IWbemLoginClientID_SetClientInfo_orpcthis;
38 static int hf_IWbemLoginClientID_SetClientInfo_wszClientMachine;
39 static int hf_IWbemLoginClientID_opnum;
40 static int hf_IWbemLoginClientID_werror;
42 static int proto_dcerpc_IWbemLoginClientID;
43 /* Version information */
46 static e_guid_t uuid_dcerpc_IWbemLoginClientID = {
47 0xd4781cd6, 0xe5d3, 0x44df,
48 { 0xad, 0x94, 0x93, 0x0e, 0xfe, 0x48, 0xa8, 0x87 }
50 static uint16_t ver_dcerpc_IWbemLoginClientID = 0;
52 static int IWbemLoginClientID_dissect_element_SetClientInfo_orpcthis(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
53 static int IWbemLoginClientID_dissect_element_SetClientInfo_wszClientMachine(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
54 static int IWbemLoginClientID_dissect_element_SetClientInfo_wszClientMachine_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
55 static int IWbemLoginClientID_dissect_element_SetClientInfo_lClientProcId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
56 static int IWbemLoginClientID_dissect_element_SetClientInfo_lReserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
57 static int IWbemLoginClientID_dissect_element_SetClientInfo_orpcthat(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
58 static int IWbemLoginClientID_dissect_element_SetClientInfo_orpcthat_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
59 #include "packet-dcom.h"
60 /* SetClientInfo */
61 static int
62 IWbemLoginClientID_dissect_element_SetClientInfo_orpcthis(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
64 proto_item *sub_item;
65 proto_tree *sub_tree;
66 sub_item = proto_tree_add_item(tree, hf_IWbemLoginClientID_SetClientInfo_orpcthis, tvb, offset, 0, ENC_NA);
67 sub_tree = proto_item_add_subtree(sub_item, ett_IWbemLoginClientID_SetClientInfo_orpcthis);
68 offset = dissect_dcom_this(tvb, offset, pinfo, sub_tree, di, drep);
69 return offset;
71 static int
72 IWbemLoginClientID_dissect_element_SetClientInfo_orpcthat_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
74 proto_item *sub_item;
75 proto_tree *sub_tree;
76 sub_item = proto_tree_add_item(tree, hf_IWbemLoginClientID_SetClientInfo_orpcthat, tvb, offset, 0, ENC_NA);
77 sub_tree = proto_item_add_subtree(sub_item, ett_IWbemLoginClientID_SetClientInfo_orpcthat);
78 offset = dissect_dcom_that(tvb, offset, pinfo, sub_tree, di, drep);
79 return offset;
83 /* IDL: struct { */
84 /* IDL: } */
86 int
87 IWbemLoginClientID_dissect_struct_ORPCTHIS(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_)
89 proto_item *item = NULL;
90 int old_offset;
92 old_offset = offset;
94 if (parent_tree) {
95 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
99 proto_item_set_len(item, offset-old_offset);
102 return offset;
106 /* IDL: struct { */
107 /* IDL: } */
110 IWbemLoginClientID_dissect_struct_ORPCTHAT(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_)
112 proto_item *item = NULL;
113 int old_offset;
115 old_offset = offset;
117 if (parent_tree) {
118 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
122 proto_item_set_len(item, offset-old_offset);
125 return offset;
128 /* IDL: WERROR iwbemloginclientid_opnum0( */
129 /* IDL: */
130 /* IDL: ); */
132 static int
133 IWbemLoginClientID_dissect_iwbemloginclientid_opnum0_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
135 uint32_t status;
137 di->dcerpc_procedure_name="iwbemloginclientid_opnum0";
138 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemLoginClientID_werror, &status);
140 if (status != 0)
141 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
143 return offset;
146 static int
147 IWbemLoginClientID_dissect_iwbemloginclientid_opnum0_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
149 di->dcerpc_procedure_name="iwbemloginclientid_opnum0";
150 return offset;
153 /* IDL: WERROR iwbemloginclientid_opnum1( */
154 /* IDL: */
155 /* IDL: ); */
157 static int
158 IWbemLoginClientID_dissect_iwbemloginclientid_opnum1_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
160 uint32_t status;
162 di->dcerpc_procedure_name="iwbemloginclientid_opnum1";
163 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemLoginClientID_werror, &status);
165 if (status != 0)
166 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
168 return offset;
171 static int
172 IWbemLoginClientID_dissect_iwbemloginclientid_opnum1_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
174 di->dcerpc_procedure_name="iwbemloginclientid_opnum1";
175 return offset;
178 /* IDL: WERROR iwbemloginclientid_opnum2( */
179 /* IDL: */
180 /* IDL: ); */
182 static int
183 IWbemLoginClientID_dissect_iwbemloginclientid_opnum2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
185 uint32_t status;
187 di->dcerpc_procedure_name="iwbemloginclientid_opnum2";
188 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemLoginClientID_werror, &status);
190 if (status != 0)
191 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
193 return offset;
196 static int
197 IWbemLoginClientID_dissect_iwbemloginclientid_opnum2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
199 di->dcerpc_procedure_name="iwbemloginclientid_opnum2";
200 return offset;
203 static int
204 IWbemLoginClientID_dissect_element_SetClientInfo_wszClientMachine(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
206 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, IWbemLoginClientID_dissect_element_SetClientInfo_wszClientMachine_, NDR_POINTER_UNIQUE, "Pointer to WszClientMachine (uint16)",hf_IWbemLoginClientID_SetClientInfo_wszClientMachine);
208 return offset;
211 static int
212 IWbemLoginClientID_dissect_element_SetClientInfo_wszClientMachine_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
214 char *data = NULL;
215 struct ndr_generic_array nga = { .is_conformant = false, };
217 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
219 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
220 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_IWbemLoginClientID_SetClientInfo_wszClientMachine, false, &nga, &data);
221 proto_item_append_text(tree, ": %s", data);
223 return offset;
226 static int
227 IWbemLoginClientID_dissect_element_SetClientInfo_lClientProcId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
229 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemLoginClientID_SetClientInfo_lClientProcId, 0);
231 return offset;
234 static int
235 IWbemLoginClientID_dissect_element_SetClientInfo_lReserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
237 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemLoginClientID_SetClientInfo_lReserved, 0);
239 return offset;
242 static int
243 IWbemLoginClientID_dissect_element_SetClientInfo_orpcthat(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
245 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, IWbemLoginClientID_dissect_element_SetClientInfo_orpcthat_, NDR_POINTER_REF, "Pointer to Orpcthat (ORPCTHAT)",hf_IWbemLoginClientID_SetClientInfo_orpcthat);
247 return offset;
250 /* IDL: WERROR SetClientInfo( */
251 /* IDL: [in] ORPCTHIS orpcthis, */
252 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *wszClientMachine, */
253 /* IDL: [in] uint32 lClientProcId, */
254 /* IDL: [in] uint32 lReserved, */
255 /* IDL: [out] [ref] ORPCTHAT *orpcthat */
256 /* IDL: ); */
258 static int
259 IWbemLoginClientID_dissect_SetClientInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
261 uint32_t status;
263 di->dcerpc_procedure_name="SetClientInfo";
264 offset = IWbemLoginClientID_dissect_element_SetClientInfo_orpcthat(tvb, offset, pinfo, tree, di, drep);
265 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
267 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemLoginClientID_werror, &status);
269 if (status != 0)
270 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
272 return offset;
275 static int
276 IWbemLoginClientID_dissect_SetClientInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
278 di->dcerpc_procedure_name="SetClientInfo";
279 offset = IWbemLoginClientID_dissect_element_SetClientInfo_orpcthis(tvb, offset, pinfo, tree, di, drep);
280 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
281 offset = IWbemLoginClientID_dissect_element_SetClientInfo_wszClientMachine(tvb, offset, pinfo, tree, di, drep);
282 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
283 offset = IWbemLoginClientID_dissect_element_SetClientInfo_lClientProcId(tvb, offset, pinfo, tree, di, drep);
284 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
285 offset = IWbemLoginClientID_dissect_element_SetClientInfo_lReserved(tvb, offset, pinfo, tree, di, drep);
286 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
287 return offset;
291 static const dcerpc_sub_dissector IWbemLoginClientID_dissectors[] = {
292 { 0, "iwbemloginclientid_opnum0",
293 IWbemLoginClientID_dissect_iwbemloginclientid_opnum0_request, IWbemLoginClientID_dissect_iwbemloginclientid_opnum0_response},
294 { 1, "iwbemloginclientid_opnum1",
295 IWbemLoginClientID_dissect_iwbemloginclientid_opnum1_request, IWbemLoginClientID_dissect_iwbemloginclientid_opnum1_response},
296 { 2, "iwbemloginclientid_opnum2",
297 IWbemLoginClientID_dissect_iwbemloginclientid_opnum2_request, IWbemLoginClientID_dissect_iwbemloginclientid_opnum2_response},
298 { 3, "SetClientInfo",
299 IWbemLoginClientID_dissect_SetClientInfo_request, IWbemLoginClientID_dissect_SetClientInfo_response},
300 { 0, NULL, NULL, NULL }
303 void proto_register_dcerpc_IWbemLoginClientID(void)
305 static hf_register_info hf[] = {
306 { &hf_IWbemLoginClientID_SetClientInfo_lClientProcId,
307 { "LClientProcId", "IWbemLoginClientID.SetClientInfo.lClientProcId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
308 { &hf_IWbemLoginClientID_SetClientInfo_lReserved,
309 { "LReserved", "IWbemLoginClientID.SetClientInfo.lReserved", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
310 { &hf_IWbemLoginClientID_SetClientInfo_orpcthat,
311 { "Orpcthat", "IWbemLoginClientID.SetClientInfo.orpcthat", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
312 { &hf_IWbemLoginClientID_SetClientInfo_orpcthis,
313 { "Orpcthis", "IWbemLoginClientID.SetClientInfo.orpcthis", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
314 { &hf_IWbemLoginClientID_SetClientInfo_wszClientMachine,
315 { "WszClientMachine", "IWbemLoginClientID.SetClientInfo.wszClientMachine", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
316 { &hf_IWbemLoginClientID_opnum,
317 { "Operation", "IWbemLoginClientID.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
318 { &hf_IWbemLoginClientID_werror,
319 { "Windows Error", "IWbemLoginClientID.werror", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &WERR_errors_ext, 0, NULL, HFILL }},
323 static int *ett[] = {
324 &ett_IWbemLoginClientID_SetClientInfo_orpcthis,
325 &ett_IWbemLoginClientID_SetClientInfo_orpcthat,
326 &ett_dcerpc_IWbemLoginClientID,
327 &ett_IWbemLoginClientID_ORPCTHIS,
328 &ett_IWbemLoginClientID_ORPCTHAT,
331 proto_dcerpc_IWbemLoginClientID = proto_register_protocol("IWBEMLOGINCLIENTID (pidl)", "IWBEMLOGINCLIENTID", "IWbemLoginClientID");
332 proto_register_field_array(proto_dcerpc_IWbemLoginClientID, hf, array_length (hf));
333 proto_register_subtree_array(ett, array_length(ett));
336 void proto_reg_handoff_dcerpc_IWbemLoginClientID(void)
338 dcerpc_init_uuid(proto_dcerpc_IWbemLoginClientID, ett_dcerpc_IWbemLoginClientID,
339 &uuid_dcerpc_IWbemLoginClientID, ver_dcerpc_IWbemLoginClientID,
340 IWbemLoginClientID_dissectors, hf_IWbemLoginClientID_opnum);