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
14 #include <wsutil/array.h>
15 #include <epan/packet.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"
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_
)
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
);
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_
)
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
);
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
;
95 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
99 proto_item_set_len(item
, offset
-old_offset
);
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
;
118 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
122 proto_item_set_len(item
, offset
-old_offset
);
128 /* IDL: WERROR iwbemloginclientid_opnum0( */
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_
)
137 di
->dcerpc_procedure_name
="iwbemloginclientid_opnum0";
138 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_IWbemLoginClientID_werror
, &status
);
141 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
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";
153 /* IDL: WERROR iwbemloginclientid_opnum1( */
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_
)
162 di
->dcerpc_procedure_name
="iwbemloginclientid_opnum1";
163 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_IWbemLoginClientID_werror
, &status
);
166 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
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";
178 /* IDL: WERROR iwbemloginclientid_opnum2( */
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_
)
187 di
->dcerpc_procedure_name
="iwbemloginclientid_opnum2";
188 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_IWbemLoginClientID_werror
, &status
);
191 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
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";
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
);
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_
)
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
);
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);
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);
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
);
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 */
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_
)
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
);
270 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
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
);
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
);