2 This file was automatically generated by Pidl
3 from misc.idl and misc.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-misc.h"
22 void proto_register_dcerpc_misc(void);
23 void proto_reg_handoff_dcerpc_misc(void);
25 /* Ett declarations */
26 static int ett_dcerpc_misc
;
27 static int ett_misc_GUID
;
28 static int ett_misc_ndr_syntax_id
;
29 static int ett_misc_policy_handle
;
30 static int ett_misc_KRB5_EDATA_NTSTATUS
;
33 /* Header field declarations */
34 static int hf_misc_GUID_clock_seq
;
35 static int hf_misc_GUID_node
;
36 static int hf_misc_GUID_time_hi_and_version
;
37 static int hf_misc_GUID_time_low
;
38 static int hf_misc_GUID_time_mid
;
39 static int hf_misc_KRB5_EDATA_NTSTATUS_ntstatus
;
40 static int hf_misc_KRB5_EDATA_NTSTATUS_unknown1
;
41 static int hf_misc_KRB5_EDATA_NTSTATUS_unknown2
;
42 static int hf_misc_ndr_syntax_id_if_version
;
43 static int hf_misc_ndr_syntax_id_uuid
;
44 static int hf_misc_opnum
;
45 static int hf_misc_policy_handle_handle_type
;
46 static int hf_misc_policy_handle_uuid
;
48 static int proto_dcerpc_misc
;
49 /* Version information */
52 static e_guid_t uuid_dcerpc_misc
= {
53 0x12345678, 0x1234, 0x1234,
54 { 0x12, 0x34, 0xab, 0xcd, 0xef, 0x12, 0x34, 0x56 }
56 static uint16_t ver_dcerpc_misc
= 1;
58 static int misc_dissect_element_GUID_time_low(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
59 static int misc_dissect_element_GUID_time_mid(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
60 static int misc_dissect_element_GUID_time_hi_and_version(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
61 static int misc_dissect_element_GUID_clock_seq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
62 static int misc_dissect_element_GUID_clock_seq_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
63 static int misc_dissect_element_GUID_node(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
64 static int misc_dissect_element_GUID_node_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
65 static int misc_dissect_element_ndr_syntax_id_uuid(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
66 static int misc_dissect_element_ndr_syntax_id_if_version(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
67 static int misc_dissect_element_policy_handle_handle_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
68 static int misc_dissect_element_policy_handle_uuid(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
69 const value_string misc_netr_SchannelType_vals
[] = {
70 { SEC_CHAN_NULL
, "SEC_CHAN_NULL" },
71 { SEC_CHAN_LOCAL
, "SEC_CHAN_LOCAL" },
72 { SEC_CHAN_WKSTA
, "SEC_CHAN_WKSTA" },
73 { SEC_CHAN_DNS_DOMAIN
, "SEC_CHAN_DNS_DOMAIN" },
74 { SEC_CHAN_DOMAIN
, "SEC_CHAN_DOMAIN" },
75 { SEC_CHAN_LANMAN
, "SEC_CHAN_LANMAN" },
76 { SEC_CHAN_BDC
, "SEC_CHAN_BDC" },
77 { SEC_CHAN_RODC
, "SEC_CHAN_RODC" },
80 static int misc_dissect_element_KRB5_EDATA_NTSTATUS_ntstatus(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
81 static int misc_dissect_element_KRB5_EDATA_NTSTATUS_unknown1(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
82 static int misc_dissect_element_KRB5_EDATA_NTSTATUS_unknown2(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
83 const value_string misc_winreg_Type_vals
[] = {
84 { REG_NONE
, "REG_NONE" },
86 { REG_EXPAND_SZ
, "REG_EXPAND_SZ" },
87 { REG_BINARY
, "REG_BINARY" },
88 { REG_DWORD
, "REG_DWORD" },
89 { REG_DWORD_BIG_ENDIAN
, "REG_DWORD_BIG_ENDIAN" },
90 { REG_LINK
, "REG_LINK" },
91 { REG_MULTI_SZ
, "REG_MULTI_SZ" },
92 { REG_RESOURCE_LIST
, "REG_RESOURCE_LIST" },
93 { REG_FULL_RESOURCE_DESCRIPTOR
, "REG_FULL_RESOURCE_DESCRIPTOR" },
94 { REG_RESOURCE_REQUIREMENTS_LIST
, "REG_RESOURCE_REQUIREMENTS_LIST" },
95 { REG_QWORD
, "REG_QWORD" },
101 /* IDL: uint32 time_low; */
102 /* IDL: uint16 time_mid; */
103 /* IDL: uint16 time_hi_and_version; */
104 /* IDL: uint8 clock_seq[2]; */
105 /* IDL: uint8 node[6]; */
109 misc_dissect_element_GUID_time_low(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
111 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_misc_GUID_time_low
, 0);
117 misc_dissect_element_GUID_time_mid(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
119 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_misc_GUID_time_mid
, 0);
125 misc_dissect_element_GUID_time_hi_and_version(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
127 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_misc_GUID_time_hi_and_version
, 0);
133 misc_dissect_element_GUID_clock_seq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
136 for (i
= 0; i
< 2; i
++)
137 offset
= misc_dissect_element_GUID_clock_seq_(tvb
, offset
, pinfo
, tree
, di
, drep
);
143 misc_dissect_element_GUID_clock_seq_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
145 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_misc_GUID_clock_seq
, 0);
151 misc_dissect_element_GUID_node(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
154 for (i
= 0; i
< 6; i
++)
155 offset
= misc_dissect_element_GUID_node_(tvb
, offset
, pinfo
, tree
, di
, drep
);
161 misc_dissect_element_GUID_node_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
163 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_misc_GUID_node
, 0);
169 misc_dissect_struct_GUID(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_
)
171 proto_item
*item
= NULL
;
172 proto_tree
*tree
= NULL
;
180 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
181 tree
= proto_item_add_subtree(item
, ett_misc_GUID
);
184 offset
= misc_dissect_element_GUID_time_low(tvb
, offset
, pinfo
, tree
, di
, drep
);
186 offset
= misc_dissect_element_GUID_time_mid(tvb
, offset
, pinfo
, tree
, di
, drep
);
188 offset
= misc_dissect_element_GUID_time_hi_and_version(tvb
, offset
, pinfo
, tree
, di
, drep
);
190 offset
= misc_dissect_element_GUID_clock_seq(tvb
, offset
, pinfo
, tree
, di
, drep
);
192 offset
= misc_dissect_element_GUID_node(tvb
, offset
, pinfo
, tree
, di
, drep
);
195 proto_item_set_len(item
, offset
-old_offset
);
198 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
207 /* IDL: GUID uuid; */
208 /* IDL: uint32 if_version; */
212 misc_dissect_element_ndr_syntax_id_uuid(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
214 offset
= dissect_ndr_uuid_t(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_misc_ndr_syntax_id_uuid
, NULL
);
220 misc_dissect_element_ndr_syntax_id_if_version(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
222 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_misc_ndr_syntax_id_if_version
, 0);
228 misc_dissect_struct_ndr_syntax_id(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_
)
230 proto_item
*item
= NULL
;
231 proto_tree
*tree
= NULL
;
239 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
240 tree
= proto_item_add_subtree(item
, ett_misc_ndr_syntax_id
);
243 offset
= misc_dissect_element_ndr_syntax_id_uuid(tvb
, offset
, pinfo
, tree
, di
, drep
);
245 offset
= misc_dissect_element_ndr_syntax_id_if_version(tvb
, offset
, pinfo
, tree
, di
, drep
);
248 proto_item_set_len(item
, offset
-old_offset
);
251 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
260 /* IDL: uint32 handle_type; */
261 /* IDL: GUID uuid; */
265 misc_dissect_element_policy_handle_handle_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
267 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_misc_policy_handle_handle_type
, 0);
273 misc_dissect_element_policy_handle_uuid(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
275 offset
= dissect_ndr_uuid_t(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_misc_policy_handle_uuid
, NULL
);
281 misc_dissect_struct_policy_handle(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_
)
283 proto_item
*item
= NULL
;
284 proto_tree
*tree
= NULL
;
292 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
293 tree
= proto_item_add_subtree(item
, ett_misc_policy_handle
);
296 offset
= misc_dissect_element_policy_handle_handle_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
298 offset
= misc_dissect_element_policy_handle_uuid(tvb
, offset
, pinfo
, tree
, di
, drep
);
301 proto_item_set_len(item
, offset
-old_offset
);
304 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
313 /* IDL: SEC_CHAN_NULL=0, */
314 /* IDL: SEC_CHAN_LOCAL=1, */
315 /* IDL: SEC_CHAN_WKSTA=2, */
316 /* IDL: SEC_CHAN_DNS_DOMAIN=3, */
317 /* IDL: SEC_CHAN_DOMAIN=4, */
318 /* IDL: SEC_CHAN_LANMAN=5, */
319 /* IDL: SEC_CHAN_BDC=6, */
320 /* IDL: SEC_CHAN_RODC=7, */
324 misc_dissect_enum_netr_SchannelType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t *param _U_
)
326 uint32_t parameter
=0;
330 offset
= dissect_ndr_uint1632(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
339 /* IDL: NTSTATUS ntstatus; */
340 /* IDL: uint32 unknown1; */
341 /* IDL: uint32 unknown2; */
345 misc_dissect_element_KRB5_EDATA_NTSTATUS_ntstatus(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
347 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_misc_KRB5_EDATA_NTSTATUS_ntstatus
, 0);
353 misc_dissect_element_KRB5_EDATA_NTSTATUS_unknown1(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
355 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_misc_KRB5_EDATA_NTSTATUS_unknown1
, 0);
361 misc_dissect_element_KRB5_EDATA_NTSTATUS_unknown2(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
363 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_misc_KRB5_EDATA_NTSTATUS_unknown2
, 0);
369 misc_dissect_struct_KRB5_EDATA_NTSTATUS(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_
)
371 proto_item
*item
= NULL
;
372 proto_tree
*tree
= NULL
;
380 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
381 tree
= proto_item_add_subtree(item
, ett_misc_KRB5_EDATA_NTSTATUS
);
384 offset
= misc_dissect_element_KRB5_EDATA_NTSTATUS_ntstatus(tvb
, offset
, pinfo
, tree
, di
, drep
);
386 offset
= misc_dissect_element_KRB5_EDATA_NTSTATUS_unknown1(tvb
, offset
, pinfo
, tree
, di
, drep
);
388 offset
= misc_dissect_element_KRB5_EDATA_NTSTATUS_unknown2(tvb
, offset
, pinfo
, tree
, di
, drep
);
391 proto_item_set_len(item
, offset
-old_offset
);
394 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
403 /* IDL: REG_NONE=0, */
405 /* IDL: REG_EXPAND_SZ=2, */
406 /* IDL: REG_BINARY=3, */
407 /* IDL: REG_DWORD=4, */
408 /* IDL: REG_DWORD_BIG_ENDIAN=5, */
409 /* IDL: REG_LINK=6, */
410 /* IDL: REG_MULTI_SZ=7, */
411 /* IDL: REG_RESOURCE_LIST=8, */
412 /* IDL: REG_FULL_RESOURCE_DESCRIPTOR=9, */
413 /* IDL: REG_RESOURCE_REQUIREMENTS_LIST=10, */
414 /* IDL: REG_QWORD=11, */
418 misc_dissect_enum_winreg_Type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t *param _U_
)
420 uint32_t parameter
=0;
424 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
432 /* IDL: [flag(LIBNDR_FLAG_LITTLE_ENDIAN)] [nodiscriminant(1)] [public(1)] union { */
433 /* IDL: [case(REG_NONE)] [case(REG_NONE)] EMPTY ; */
434 /* IDL: [case(REG_SZ)] [case(REG_SZ)] [flag(LIBNDR_FLAG_STR_NULLTERM)] string string; */
435 /* IDL: [case(REG_EXPAND_SZ)] [case(REG_EXPAND_SZ)] [flag(LIBNDR_FLAG_STR_NULLTERM)] string string; */
436 /* IDL: [case(REG_BINARY)] [case(REG_BINARY)] [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB binary; */
437 /* IDL: [case(REG_DWORD)] [case(REG_DWORD)] uint32 value; */
438 /* IDL: [case(REG_DWORD_BIG_ENDIAN)] [case(REG_DWORD_BIG_ENDIAN)] [flag(LIBNDR_FLAG_BIGENDIAN)] uint32 value; */
439 /* IDL: [case(REG_MULTI_SZ)] [case(REG_MULTI_SZ)] [flag(LIBNDR_FLAG_STR_NULLTERM)] string_array string_array; */
440 /* IDL: [default] ; */
444 static const dcerpc_sub_dissector misc_dissectors
[] = {
445 { 0, NULL
, NULL
, NULL
}
448 void proto_register_dcerpc_misc(void)
450 static hf_register_info hf
[] = {
451 { &hf_misc_GUID_clock_seq
,
452 { "Clock Seq", "misc.GUID.clock_seq", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
453 { &hf_misc_GUID_node
,
454 { "Node", "misc.GUID.node", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
455 { &hf_misc_GUID_time_hi_and_version
,
456 { "Time Hi And Version", "misc.GUID.time_hi_and_version", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
457 { &hf_misc_GUID_time_low
,
458 { "Time Low", "misc.GUID.time_low", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
459 { &hf_misc_GUID_time_mid
,
460 { "Time Mid", "misc.GUID.time_mid", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
461 { &hf_misc_KRB5_EDATA_NTSTATUS_ntstatus
,
462 { "Ntstatus", "misc.KRB5_EDATA_NTSTATUS.ntstatus", FT_UINT32
, BASE_HEX
|BASE_EXT_STRING
, &NT_errors_ext
, 0, NULL
, HFILL
}},
463 { &hf_misc_KRB5_EDATA_NTSTATUS_unknown1
,
464 { "Unknown1", "misc.KRB5_EDATA_NTSTATUS.unknown1", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
465 { &hf_misc_KRB5_EDATA_NTSTATUS_unknown2
,
466 { "Unknown2", "misc.KRB5_EDATA_NTSTATUS.unknown2", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
467 { &hf_misc_ndr_syntax_id_if_version
,
468 { "If Version", "misc.ndr_syntax_id.if_version", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
469 { &hf_misc_ndr_syntax_id_uuid
,
470 { "Uuid", "misc.ndr_syntax_id.uuid", FT_GUID
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
472 { "Operation", "misc.opnum", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
473 { &hf_misc_policy_handle_handle_type
,
474 { "Handle Type", "misc.policy_handle.handle_type", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
475 { &hf_misc_policy_handle_uuid
,
476 { "Uuid", "misc.policy_handle.uuid", FT_GUID
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
480 static int *ett
[] = {
483 &ett_misc_ndr_syntax_id
,
484 &ett_misc_policy_handle
,
485 &ett_misc_KRB5_EDATA_NTSTATUS
,
488 proto_dcerpc_misc
= proto_register_protocol("MISC (pidl)", "MISC", "misc");
489 proto_register_field_array(proto_dcerpc_misc
, hf
, array_length (hf
));
490 proto_register_subtree_array(ett
, array_length(ett
));
493 void proto_reg_handoff_dcerpc_misc(void)
495 dcerpc_init_uuid(proto_dcerpc_misc
, ett_dcerpc_misc
,
496 &uuid_dcerpc_misc
, ver_dcerpc_misc
,
497 misc_dissectors
, hf_misc_opnum
);