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_
)
216 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_IWbemLoginClientID_SetClientInfo_wszClientMachine
, false, &data
);
217 proto_item_append_text(tree
, ": %s", data
);
223 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_
)
225 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_IWbemLoginClientID_SetClientInfo_lClientProcId
, 0);
231 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_
)
233 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_IWbemLoginClientID_SetClientInfo_lReserved
, 0);
239 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_
)
241 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
);
246 /* IDL: WERROR SetClientInfo( */
247 /* IDL: [in] ORPCTHIS orpcthis, */
248 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *wszClientMachine, */
249 /* IDL: [in] uint32 lClientProcId, */
250 /* IDL: [in] uint32 lReserved, */
251 /* IDL: [out] [ref] ORPCTHAT *orpcthat */
255 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_
)
259 di
->dcerpc_procedure_name
="SetClientInfo";
260 offset
= IWbemLoginClientID_dissect_element_SetClientInfo_orpcthat(tvb
, offset
, pinfo
, tree
, di
, drep
);
261 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
263 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_IWbemLoginClientID_werror
, &status
);
266 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
272 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_
)
274 di
->dcerpc_procedure_name
="SetClientInfo";
275 offset
= IWbemLoginClientID_dissect_element_SetClientInfo_orpcthis(tvb
, offset
, pinfo
, tree
, di
, drep
);
276 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
277 offset
= IWbemLoginClientID_dissect_element_SetClientInfo_wszClientMachine(tvb
, offset
, pinfo
, tree
, di
, drep
);
278 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
279 offset
= IWbemLoginClientID_dissect_element_SetClientInfo_lClientProcId(tvb
, offset
, pinfo
, tree
, di
, drep
);
280 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
281 offset
= IWbemLoginClientID_dissect_element_SetClientInfo_lReserved(tvb
, offset
, pinfo
, tree
, di
, drep
);
282 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
287 static const dcerpc_sub_dissector IWbemLoginClientID_dissectors
[] = {
288 { 0, "iwbemloginclientid_opnum0",
289 IWbemLoginClientID_dissect_iwbemloginclientid_opnum0_request
, IWbemLoginClientID_dissect_iwbemloginclientid_opnum0_response
},
290 { 1, "iwbemloginclientid_opnum1",
291 IWbemLoginClientID_dissect_iwbemloginclientid_opnum1_request
, IWbemLoginClientID_dissect_iwbemloginclientid_opnum1_response
},
292 { 2, "iwbemloginclientid_opnum2",
293 IWbemLoginClientID_dissect_iwbemloginclientid_opnum2_request
, IWbemLoginClientID_dissect_iwbemloginclientid_opnum2_response
},
294 { 3, "SetClientInfo",
295 IWbemLoginClientID_dissect_SetClientInfo_request
, IWbemLoginClientID_dissect_SetClientInfo_response
},
296 { 0, NULL
, NULL
, NULL
}
299 void proto_register_dcerpc_IWbemLoginClientID(void)
301 static hf_register_info hf
[] = {
302 { &hf_IWbemLoginClientID_SetClientInfo_lClientProcId
,
303 { "LClientProcId", "IWbemLoginClientID.SetClientInfo.lClientProcId", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
304 { &hf_IWbemLoginClientID_SetClientInfo_lReserved
,
305 { "LReserved", "IWbemLoginClientID.SetClientInfo.lReserved", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
306 { &hf_IWbemLoginClientID_SetClientInfo_orpcthat
,
307 { "Orpcthat", "IWbemLoginClientID.SetClientInfo.orpcthat", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
308 { &hf_IWbemLoginClientID_SetClientInfo_orpcthis
,
309 { "Orpcthis", "IWbemLoginClientID.SetClientInfo.orpcthis", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
310 { &hf_IWbemLoginClientID_SetClientInfo_wszClientMachine
,
311 { "WszClientMachine", "IWbemLoginClientID.SetClientInfo.wszClientMachine", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
312 { &hf_IWbemLoginClientID_opnum
,
313 { "Operation", "IWbemLoginClientID.opnum", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
314 { &hf_IWbemLoginClientID_werror
,
315 { "Windows Error", "IWbemLoginClientID.werror", FT_UINT32
, BASE_HEX
|BASE_EXT_STRING
, &WERR_errors_ext
, 0, NULL
, HFILL
}},
319 static int *ett
[] = {
320 &ett_IWbemLoginClientID_SetClientInfo_orpcthis
,
321 &ett_IWbemLoginClientID_SetClientInfo_orpcthat
,
322 &ett_dcerpc_IWbemLoginClientID
,
323 &ett_IWbemLoginClientID_ORPCTHIS
,
324 &ett_IWbemLoginClientID_ORPCTHAT
,
327 proto_dcerpc_IWbemLoginClientID
= proto_register_protocol("IWBEMLOGINCLIENTID (pidl)", "IWBEMLOGINCLIENTID", "IWbemLoginClientID");
328 proto_register_field_array(proto_dcerpc_IWbemLoginClientID
, hf
, array_length (hf
));
329 proto_register_subtree_array(ett
, array_length(ett
));
332 void proto_reg_handoff_dcerpc_IWbemLoginClientID(void)
334 dcerpc_init_uuid(proto_dcerpc_IWbemLoginClientID
, ett_dcerpc_IWbemLoginClientID
,
335 &uuid_dcerpc_IWbemLoginClientID
, ver_dcerpc_IWbemLoginClientID
,
336 IWbemLoginClientID_dissectors
, hf_IWbemLoginClientID_opnum
);