2 This file was automatically generated by Pidl
3 from dssetup.idl and dssetup.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-dssetup.h"
22 void proto_register_dcerpc_dssetup(void);
23 void proto_reg_handoff_dcerpc_dssetup(void);
25 /* Ett declarations */
26 static int ett_dcerpc_dssetup
;
27 static int ett_dssetup_dssetup_DsRoleFlags
;
28 static int ett_dssetup_dssetup_DsRolePrimaryDomInfoBasic
;
29 static int ett_dssetup_dssetup_DsRoleUpgradeStatus
;
30 static int ett_dssetup_dssetup_DsRoleOpStatus
;
31 static int ett_dssetup_dssetup_DsRoleInfo
;
34 /* Header field declarations */
35 static int hf_dssetup_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT
;
36 static int hf_dssetup_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_MIXED_MODE
;
37 static int hf_dssetup_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_RUNNING
;
38 static int hf_dssetup_dssetup_DsRoleFlags_DS_ROLE_UPGRADE_IN_PROGRESS
;
39 static int hf_dssetup_dssetup_DsRoleGetPrimaryDomainInformation_info
;
40 static int hf_dssetup_dssetup_DsRoleGetPrimaryDomainInformation_level
;
41 static int hf_dssetup_dssetup_DsRoleInfo_basic
;
42 static int hf_dssetup_dssetup_DsRoleInfo_opstatus
;
43 static int hf_dssetup_dssetup_DsRoleInfo_upgrade
;
44 static int hf_dssetup_dssetup_DsRoleOpStatus_status
;
45 static int hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_dns_domain
;
46 static int hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_domain
;
47 static int hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_domain_guid
;
48 static int hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_flags
;
49 static int hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_forest
;
50 static int hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_role
;
51 static int hf_dssetup_dssetup_DsRoleUpgradeStatus_previous_role
;
52 static int hf_dssetup_dssetup_DsRoleUpgradeStatus_upgrading
;
53 static int hf_dssetup_opnum
;
54 static int hf_dssetup_werror
;
56 static int proto_dcerpc_dssetup
;
57 /* Version information */
60 static e_guid_t uuid_dcerpc_dssetup
= {
61 0x3919286a, 0xb10c, 0x11d0,
62 { 0x9b, 0xa8, 0x00, 0xc0, 0x4f, 0xd9, 0x2e, 0xf5 }
64 static uint16_t ver_dcerpc_dssetup
= 0;
66 const value_string dssetup_dssetup_DsRole_vals
[] = {
67 { DS_ROLE_STANDALONE_WORKSTATION
, "DS_ROLE_STANDALONE_WORKSTATION" },
68 { DS_ROLE_MEMBER_WORKSTATION
, "DS_ROLE_MEMBER_WORKSTATION" },
69 { DS_ROLE_STANDALONE_SERVER
, "DS_ROLE_STANDALONE_SERVER" },
70 { DS_ROLE_MEMBER_SERVER
, "DS_ROLE_MEMBER_SERVER" },
71 { DS_ROLE_BACKUP_DC
, "DS_ROLE_BACKUP_DC" },
72 { DS_ROLE_PRIMARY_DC
, "DS_ROLE_PRIMARY_DC" },
75 static const true_false_string dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_RUNNING_tfs
= {
76 "DS_ROLE_PRIMARY_DS_RUNNING is SET",
77 "DS_ROLE_PRIMARY_DS_RUNNING is NOT SET",
79 static const true_false_string dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_MIXED_MODE_tfs
= {
80 "DS_ROLE_PRIMARY_DS_MIXED_MODE is SET",
81 "DS_ROLE_PRIMARY_DS_MIXED_MODE is NOT SET",
83 static const true_false_string dssetup_DsRoleFlags_DS_ROLE_UPGRADE_IN_PROGRESS_tfs
= {
84 "DS_ROLE_UPGRADE_IN_PROGRESS is SET",
85 "DS_ROLE_UPGRADE_IN_PROGRESS is NOT SET",
87 static const true_false_string dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT_tfs
= {
88 "DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT is SET",
89 "DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT is NOT SET",
91 static int dssetup_dissect_element_DsRolePrimaryDomInfoBasic_role(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 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_flags(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 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_domain(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 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_domain_(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 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_dns_domain(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 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_dns_domain_(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 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_forest(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 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_forest_(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 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_domain_guid(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
100 const value_string dssetup_dssetup_DsUpgrade_vals
[] = {
101 { DS_ROLE_NOT_UPGRADING
, "DS_ROLE_NOT_UPGRADING" },
102 { DS_ROLE_UPGRADING
, "DS_ROLE_UPGRADING" },
105 const value_string dssetup_dssetup_DsPrevious_vals
[] = {
106 { DS_ROLE_PREVIOUS_UNKNOWN
, "DS_ROLE_PREVIOUS_UNKNOWN" },
107 { DS_ROLE_PREVIOUS_PRIMARY
, "DS_ROLE_PREVIOUS_PRIMARY" },
108 { DS_ROLE_PREVIOUS_BACKUP
, "DS_ROLE_PREVIOUS_BACKUP" },
111 static int dssetup_dissect_element_DsRoleUpgradeStatus_upgrading(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 dssetup_dissect_element_DsRoleUpgradeStatus_previous_role(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
113 const value_string dssetup_dssetup_DsRoleOp_vals
[] = {
114 { DS_ROLE_OP_IDLE
, "DS_ROLE_OP_IDLE" },
115 { DS_ROLE_OP_ACTIVE
, "DS_ROLE_OP_ACTIVE" },
116 { DS_ROLE_OP_NEEDS_REBOOT
, "DS_ROLE_OP_NEEDS_REBOOT" },
119 static int dssetup_dissect_element_DsRoleOpStatus_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
120 const value_string dssetup_dssetup_DsRoleInfoLevel_vals
[] = {
121 { DS_ROLE_BASIC_INFORMATION
, "DS_ROLE_BASIC_INFORMATION" },
122 { DS_ROLE_UPGRADE_STATUS
, "DS_ROLE_UPGRADE_STATUS" },
123 { DS_ROLE_OP_STATUS
, "DS_ROLE_OP_STATUS" },
126 static int dssetup_dissect_element_DsRoleInfo_basic(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 dssetup_dissect_element_DsRoleInfo_upgrade(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 dssetup_dissect_element_DsRoleInfo_opstatus(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 dssetup_dissect_element_DsRoleGetPrimaryDomainInformation_level(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 dssetup_dissect_element_DsRoleGetPrimaryDomainInformation_info(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 dssetup_dissect_element_DsRoleGetPrimaryDomainInformation_info_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
135 /* IDL: DS_ROLE_STANDALONE_WORKSTATION=0, */
136 /* IDL: DS_ROLE_MEMBER_WORKSTATION=1, */
137 /* IDL: DS_ROLE_STANDALONE_SERVER=2, */
138 /* IDL: DS_ROLE_MEMBER_SERVER=3, */
139 /* IDL: DS_ROLE_BACKUP_DC=4, */
140 /* IDL: DS_ROLE_PRIMARY_DC=5, */
144 dssetup_dissect_enum_DsRole(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_
)
146 uint32_t parameter
=0;
150 offset
= dissect_ndr_uint1632(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
159 /* IDL: DS_ROLE_PRIMARY_DS_RUNNING = 0x00000001 , */
160 /* IDL: DS_ROLE_PRIMARY_DS_MIXED_MODE = 0x00000002 , */
161 /* IDL: DS_ROLE_UPGRADE_IN_PROGRESS = 0x00000004 , */
162 /* IDL: DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT = 0x01000000 , */
166 dssetup_dissect_bitmap_DsRoleFlags(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_
)
169 static int * const dssetup_dssetup_DsRoleFlags_fields
[] = {
170 &hf_dssetup_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_RUNNING
,
171 &hf_dssetup_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_MIXED_MODE
,
172 &hf_dssetup_dssetup_DsRoleFlags_DS_ROLE_UPGRADE_IN_PROGRESS
,
173 &hf_dssetup_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT
,
179 item
= proto_tree_add_bitmask_with_flags(parent_tree
, tvb
, offset
, hf_index
,
180 ett_dssetup_dssetup_DsRoleFlags
, dssetup_dssetup_DsRoleFlags_fields
, DREP_ENC_INTEGER(drep
), BMT_NO_FALSE
);
182 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
185 proto_item_append_text(item
, ": (No values set)");
187 if (flags
& (~0x01000007)) {
188 flags
&= (~0x01000007);
189 proto_item_append_text(item
, "Unknown bitmap value 0x%x", flags
);
197 /* IDL: dssetup_DsRole role; */
198 /* IDL: dssetup_DsRoleFlags flags; */
199 /* IDL: [charset(UTF16)] [unique(1)] uint16 *domain; */
200 /* IDL: [charset(UTF16)] [unique(1)] uint16 *dns_domain; */
201 /* IDL: [charset(UTF16)] [unique(1)] uint16 *forest; */
202 /* IDL: GUID domain_guid; */
206 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_role(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
208 offset
= dssetup_dissect_enum_DsRole(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_role
, 0);
214 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_flags(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
= dssetup_dissect_bitmap_DsRoleFlags(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_flags
, 0);
222 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_domain(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
224 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, dssetup_dissect_element_DsRolePrimaryDomInfoBasic_domain_
, NDR_POINTER_UNIQUE
, "Pointer to Domain (uint16)",hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_domain
);
230 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_domain_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
233 struct ndr_generic_array nga
= { .is_conformant
= false, };
235 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
237 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
238 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_domain
, false, &nga
, &data
);
239 proto_item_append_text(tree
, ": %s", data
);
245 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_dns_domain(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
247 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, dssetup_dissect_element_DsRolePrimaryDomInfoBasic_dns_domain_
, NDR_POINTER_UNIQUE
, "Pointer to Dns Domain (uint16)",hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_dns_domain
);
253 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_dns_domain_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
256 struct ndr_generic_array nga
= { .is_conformant
= false, };
258 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
260 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
261 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_dns_domain
, false, &nga
, &data
);
262 proto_item_append_text(tree
, ": %s", data
);
268 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_forest(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
270 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, dssetup_dissect_element_DsRolePrimaryDomInfoBasic_forest_
, NDR_POINTER_UNIQUE
, "Pointer to Forest (uint16)",hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_forest
);
276 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_forest_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
279 struct ndr_generic_array nga
= { .is_conformant
= false, };
281 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
283 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
284 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_forest
, false, &nga
, &data
);
285 proto_item_append_text(tree
, ": %s", data
);
291 dssetup_dissect_element_DsRolePrimaryDomInfoBasic_domain_guid(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
293 offset
= dissect_ndr_uuid_t(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_domain_guid
, NULL
);
299 dssetup_dissect_struct_DsRolePrimaryDomInfoBasic(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_
)
301 proto_item
*item
= NULL
;
302 proto_tree
*tree
= NULL
;
310 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
311 tree
= proto_item_add_subtree(item
, ett_dssetup_dssetup_DsRolePrimaryDomInfoBasic
);
314 offset
= dssetup_dissect_element_DsRolePrimaryDomInfoBasic_role(tvb
, offset
, pinfo
, tree
, di
, drep
);
316 offset
= dssetup_dissect_element_DsRolePrimaryDomInfoBasic_flags(tvb
, offset
, pinfo
, tree
, di
, drep
);
318 offset
= dssetup_dissect_element_DsRolePrimaryDomInfoBasic_domain(tvb
, offset
, pinfo
, tree
, di
, drep
);
320 offset
= dssetup_dissect_element_DsRolePrimaryDomInfoBasic_dns_domain(tvb
, offset
, pinfo
, tree
, di
, drep
);
322 offset
= dssetup_dissect_element_DsRolePrimaryDomInfoBasic_forest(tvb
, offset
, pinfo
, tree
, di
, drep
);
324 offset
= dssetup_dissect_element_DsRolePrimaryDomInfoBasic_domain_guid(tvb
, offset
, pinfo
, tree
, di
, drep
);
327 proto_item_set_len(item
, offset
-old_offset
);
330 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
339 /* IDL: DS_ROLE_NOT_UPGRADING=0, */
340 /* IDL: DS_ROLE_UPGRADING=1, */
344 dssetup_dissect_enum_DsUpgrade(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_
)
346 uint32_t parameter
=0;
350 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
359 /* IDL: DS_ROLE_PREVIOUS_UNKNOWN=0, */
360 /* IDL: DS_ROLE_PREVIOUS_PRIMARY=1, */
361 /* IDL: DS_ROLE_PREVIOUS_BACKUP=2, */
365 dssetup_dissect_enum_DsPrevious(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_
)
367 uint32_t parameter
=0;
371 offset
= dissect_ndr_uint1632(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
380 /* IDL: dssetup_DsUpgrade upgrading; */
381 /* IDL: dssetup_DsPrevious previous_role; */
385 dssetup_dissect_element_DsRoleUpgradeStatus_upgrading(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
387 offset
= dssetup_dissect_enum_DsUpgrade(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_dssetup_DsRoleUpgradeStatus_upgrading
, 0);
393 dssetup_dissect_element_DsRoleUpgradeStatus_previous_role(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
395 offset
= dssetup_dissect_enum_DsPrevious(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_dssetup_DsRoleUpgradeStatus_previous_role
, 0);
401 dssetup_dissect_struct_DsRoleUpgradeStatus(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_
)
403 proto_item
*item
= NULL
;
404 proto_tree
*tree
= NULL
;
412 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
413 tree
= proto_item_add_subtree(item
, ett_dssetup_dssetup_DsRoleUpgradeStatus
);
416 offset
= dssetup_dissect_element_DsRoleUpgradeStatus_upgrading(tvb
, offset
, pinfo
, tree
, di
, drep
);
418 offset
= dssetup_dissect_element_DsRoleUpgradeStatus_previous_role(tvb
, offset
, pinfo
, tree
, di
, drep
);
421 proto_item_set_len(item
, offset
-old_offset
);
424 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
433 /* IDL: DS_ROLE_OP_IDLE=0, */
434 /* IDL: DS_ROLE_OP_ACTIVE=1, */
435 /* IDL: DS_ROLE_OP_NEEDS_REBOOT=2, */
439 dssetup_dissect_enum_DsRoleOp(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_
)
441 uint32_t parameter
=0;
445 offset
= dissect_ndr_uint1632(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
454 /* IDL: dssetup_DsRoleOp status; */
458 dssetup_dissect_element_DsRoleOpStatus_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
460 offset
= dssetup_dissect_enum_DsRoleOp(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_dssetup_DsRoleOpStatus_status
, 0);
466 dssetup_dissect_struct_DsRoleOpStatus(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_
)
468 proto_item
*item
= NULL
;
469 proto_tree
*tree
= NULL
;
477 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
478 tree
= proto_item_add_subtree(item
, ett_dssetup_dssetup_DsRoleOpStatus
);
481 offset
= dssetup_dissect_element_DsRoleOpStatus_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
484 proto_item_set_len(item
, offset
-old_offset
);
487 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
496 /* IDL: DS_ROLE_BASIC_INFORMATION=1, */
497 /* IDL: DS_ROLE_UPGRADE_STATUS=2, */
498 /* IDL: DS_ROLE_OP_STATUS=3, */
502 dssetup_dissect_enum_DsRoleInfoLevel(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_
)
504 uint32_t parameter
=0;
508 offset
= dissect_ndr_uint1632(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
516 /* IDL: [switch_type(dssetup_DsRoleInfoLevel)] union { */
517 /* IDL: [case(DS_ROLE_BASIC_INFORMATION)] [case(DS_ROLE_BASIC_INFORMATION)] dssetup_DsRolePrimaryDomInfoBasic basic; */
518 /* IDL: [case(DS_ROLE_UPGRADE_STATUS)] [case(DS_ROLE_UPGRADE_STATUS)] dssetup_DsRoleUpgradeStatus upgrade; */
519 /* IDL: [case(DS_ROLE_OP_STATUS)] [case(DS_ROLE_OP_STATUS)] dssetup_DsRoleOpStatus opstatus; */
523 dssetup_dissect_element_DsRoleInfo_basic(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
525 offset
= dssetup_dissect_struct_DsRolePrimaryDomInfoBasic(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_dssetup_dssetup_DsRoleInfo_basic
,0);
531 dssetup_dissect_element_DsRoleInfo_upgrade(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
533 offset
= dssetup_dissect_struct_DsRoleUpgradeStatus(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_dssetup_dssetup_DsRoleInfo_upgrade
,0);
539 dssetup_dissect_element_DsRoleInfo_opstatus(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
541 offset
= dssetup_dissect_struct_DsRoleOpStatus(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_dssetup_dssetup_DsRoleInfo_opstatus
,0);
547 dssetup_dissect_DsRoleInfo(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_
)
549 proto_item
*item
= NULL
;
550 proto_tree
*tree
= NULL
;
556 tree
= proto_tree_add_subtree(parent_tree
, tvb
, offset
, -1, ett_dssetup_dssetup_DsRoleInfo
, &item
, "dssetup_DsRoleInfo");
559 UNION_ALIGN_TO_5_BYTES
;
560 offset
= dissect_ndr_uint1632(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, &level
);
561 UNION_ALIGN_TO_5_BYTES
;
564 case DS_ROLE_BASIC_INFORMATION
:
565 offset
= dssetup_dissect_element_DsRoleInfo_basic(tvb
, offset
, pinfo
, tree
, di
, drep
);
568 case DS_ROLE_UPGRADE_STATUS
:
569 offset
= dssetup_dissect_element_DsRoleInfo_upgrade(tvb
, offset
, pinfo
, tree
, di
, drep
);
572 case DS_ROLE_OP_STATUS
:
573 offset
= dssetup_dissect_element_DsRoleInfo_opstatus(tvb
, offset
, pinfo
, tree
, di
, drep
);
576 proto_item_set_len(item
, offset
-old_offset
);
582 dssetup_dissect_element_DsRoleGetPrimaryDomainInformation_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
584 offset
= dssetup_dissect_enum_DsRoleInfoLevel(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_dssetup_DsRoleGetPrimaryDomainInformation_level
, 0);
590 dssetup_dissect_element_DsRoleGetPrimaryDomainInformation_info(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
592 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, dssetup_dissect_element_DsRoleGetPrimaryDomainInformation_info_
, NDR_POINTER_UNIQUE
, "Pointer to Info (dssetup_DsRoleInfo)",hf_dssetup_dssetup_DsRoleGetPrimaryDomainInformation_info
);
598 dssetup_dissect_element_DsRoleGetPrimaryDomainInformation_info_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
600 offset
= dssetup_dissect_DsRoleInfo(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_dssetup_DsRoleGetPrimaryDomainInformation_info
, 0);
605 /* IDL: WERROR dssetup_DsRoleGetPrimaryDomainInformation( */
606 /* IDL: [in] dssetup_DsRoleInfoLevel level, */
607 /* IDL: [out] [switch_is(level)] [unique(1)] dssetup_DsRoleInfo *info */
611 dssetup_dissect_DsRoleGetPrimaryDomainInformation_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 di
->dcerpc_procedure_name
="DsRoleGetPrimaryDomainInformation";
616 offset
= dssetup_dissect_element_DsRoleGetPrimaryDomainInformation_info(tvb
, offset
, pinfo
, tree
, di
, drep
);
617 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
619 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_werror
, &status
);
622 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
628 dssetup_dissect_DsRoleGetPrimaryDomainInformation_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
630 di
->dcerpc_procedure_name
="DsRoleGetPrimaryDomainInformation";
631 offset
= dssetup_dissect_element_DsRoleGetPrimaryDomainInformation_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
632 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
636 /* IDL: WERROR dssetup_DsRoleDnsNameToFlatName( */
641 dssetup_dissect_DsRoleDnsNameToFlatName_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
645 di
->dcerpc_procedure_name
="DsRoleDnsNameToFlatName";
646 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_werror
, &status
);
649 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
655 dssetup_dissect_DsRoleDnsNameToFlatName_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
657 di
->dcerpc_procedure_name
="DsRoleDnsNameToFlatName";
661 /* IDL: WERROR dssetup_DsRoleDcAsDc( */
666 dssetup_dissect_DsRoleDcAsDc_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
670 di
->dcerpc_procedure_name
="DsRoleDcAsDc";
671 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_werror
, &status
);
674 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
680 dssetup_dissect_DsRoleDcAsDc_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
682 di
->dcerpc_procedure_name
="DsRoleDcAsDc";
686 /* IDL: WERROR dssetup_DsRoleDcAsReplica( */
691 dssetup_dissect_DsRoleDcAsReplica_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
695 di
->dcerpc_procedure_name
="DsRoleDcAsReplica";
696 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_werror
, &status
);
699 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
705 dssetup_dissect_DsRoleDcAsReplica_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
707 di
->dcerpc_procedure_name
="DsRoleDcAsReplica";
711 /* IDL: WERROR dssetup_DsRoleDemoteDc( */
716 dssetup_dissect_DsRoleDemoteDc_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
720 di
->dcerpc_procedure_name
="DsRoleDemoteDc";
721 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_werror
, &status
);
724 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
730 dssetup_dissect_DsRoleDemoteDc_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
732 di
->dcerpc_procedure_name
="DsRoleDemoteDc";
736 /* IDL: WERROR dssetup_DsRoleGetDcOperationProgress( */
741 dssetup_dissect_DsRoleGetDcOperationProgress_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
745 di
->dcerpc_procedure_name
="DsRoleGetDcOperationProgress";
746 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_werror
, &status
);
749 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
755 dssetup_dissect_DsRoleGetDcOperationProgress_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
757 di
->dcerpc_procedure_name
="DsRoleGetDcOperationProgress";
761 /* IDL: WERROR dssetup_DsRoleGetDcOperationResults( */
766 dssetup_dissect_DsRoleGetDcOperationResults_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
770 di
->dcerpc_procedure_name
="DsRoleGetDcOperationResults";
771 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_werror
, &status
);
774 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
780 dssetup_dissect_DsRoleGetDcOperationResults_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
782 di
->dcerpc_procedure_name
="DsRoleGetDcOperationResults";
786 /* IDL: WERROR dssetup_DsRoleCancel( */
791 dssetup_dissect_DsRoleCancel_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
795 di
->dcerpc_procedure_name
="DsRoleCancel";
796 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_werror
, &status
);
799 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
805 dssetup_dissect_DsRoleCancel_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
807 di
->dcerpc_procedure_name
="DsRoleCancel";
811 /* IDL: WERROR dssetup_DsRoleServerSaveStateForUpgrade( */
816 dssetup_dissect_DsRoleServerSaveStateForUpgrade_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
820 di
->dcerpc_procedure_name
="DsRoleServerSaveStateForUpgrade";
821 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_werror
, &status
);
824 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
830 dssetup_dissect_DsRoleServerSaveStateForUpgrade_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
832 di
->dcerpc_procedure_name
="DsRoleServerSaveStateForUpgrade";
836 /* IDL: WERROR dssetup_DsRoleUpgradeDownlevelServer( */
841 dssetup_dissect_DsRoleUpgradeDownlevelServer_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
845 di
->dcerpc_procedure_name
="DsRoleUpgradeDownlevelServer";
846 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_werror
, &status
);
849 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
855 dssetup_dissect_DsRoleUpgradeDownlevelServer_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
857 di
->dcerpc_procedure_name
="DsRoleUpgradeDownlevelServer";
861 /* IDL: WERROR dssetup_DsRoleAbortDownlevelServerUpgrade( */
866 dssetup_dissect_DsRoleAbortDownlevelServerUpgrade_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 di
->dcerpc_procedure_name
="DsRoleAbortDownlevelServerUpgrade";
871 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_dssetup_werror
, &status
);
874 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
880 dssetup_dissect_DsRoleAbortDownlevelServerUpgrade_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
882 di
->dcerpc_procedure_name
="DsRoleAbortDownlevelServerUpgrade";
887 static const dcerpc_sub_dissector dssetup_dissectors
[] = {
888 { 0, "DsRoleGetPrimaryDomainInformation",
889 dssetup_dissect_DsRoleGetPrimaryDomainInformation_request
, dssetup_dissect_DsRoleGetPrimaryDomainInformation_response
},
890 { 1, "DsRoleDnsNameToFlatName",
891 dssetup_dissect_DsRoleDnsNameToFlatName_request
, dssetup_dissect_DsRoleDnsNameToFlatName_response
},
893 dssetup_dissect_DsRoleDcAsDc_request
, dssetup_dissect_DsRoleDcAsDc_response
},
894 { 3, "DsRoleDcAsReplica",
895 dssetup_dissect_DsRoleDcAsReplica_request
, dssetup_dissect_DsRoleDcAsReplica_response
},
896 { 4, "DsRoleDemoteDc",
897 dssetup_dissect_DsRoleDemoteDc_request
, dssetup_dissect_DsRoleDemoteDc_response
},
898 { 5, "DsRoleGetDcOperationProgress",
899 dssetup_dissect_DsRoleGetDcOperationProgress_request
, dssetup_dissect_DsRoleGetDcOperationProgress_response
},
900 { 6, "DsRoleGetDcOperationResults",
901 dssetup_dissect_DsRoleGetDcOperationResults_request
, dssetup_dissect_DsRoleGetDcOperationResults_response
},
903 dssetup_dissect_DsRoleCancel_request
, dssetup_dissect_DsRoleCancel_response
},
904 { 8, "DsRoleServerSaveStateForUpgrade",
905 dssetup_dissect_DsRoleServerSaveStateForUpgrade_request
, dssetup_dissect_DsRoleServerSaveStateForUpgrade_response
},
906 { 9, "DsRoleUpgradeDownlevelServer",
907 dssetup_dissect_DsRoleUpgradeDownlevelServer_request
, dssetup_dissect_DsRoleUpgradeDownlevelServer_response
},
908 { 10, "DsRoleAbortDownlevelServerUpgrade",
909 dssetup_dissect_DsRoleAbortDownlevelServerUpgrade_request
, dssetup_dissect_DsRoleAbortDownlevelServerUpgrade_response
},
910 { 0, NULL
, NULL
, NULL
}
913 void proto_register_dcerpc_dssetup(void)
915 static hf_register_info hf
[] = {
916 { &hf_dssetup_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT
,
917 { "DS ROLE PRIMARY DOMAIN GUID PRESENT", "dssetup.dssetup_DsRoleFlags.DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT", FT_BOOLEAN
, 32, TFS(&dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT_tfs
), ( 0x01000000 ), NULL
, HFILL
}},
918 { &hf_dssetup_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_MIXED_MODE
,
919 { "DS ROLE PRIMARY DS MIXED MODE", "dssetup.dssetup_DsRoleFlags.DS_ROLE_PRIMARY_DS_MIXED_MODE", FT_BOOLEAN
, 32, TFS(&dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_MIXED_MODE_tfs
), ( 0x00000002 ), NULL
, HFILL
}},
920 { &hf_dssetup_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_RUNNING
,
921 { "DS ROLE PRIMARY DS RUNNING", "dssetup.dssetup_DsRoleFlags.DS_ROLE_PRIMARY_DS_RUNNING", FT_BOOLEAN
, 32, TFS(&dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_RUNNING_tfs
), ( 0x00000001 ), NULL
, HFILL
}},
922 { &hf_dssetup_dssetup_DsRoleFlags_DS_ROLE_UPGRADE_IN_PROGRESS
,
923 { "DS ROLE UPGRADE IN PROGRESS", "dssetup.dssetup_DsRoleFlags.DS_ROLE_UPGRADE_IN_PROGRESS", FT_BOOLEAN
, 32, TFS(&dssetup_DsRoleFlags_DS_ROLE_UPGRADE_IN_PROGRESS_tfs
), ( 0x00000004 ), NULL
, HFILL
}},
924 { &hf_dssetup_dssetup_DsRoleGetPrimaryDomainInformation_info
,
925 { "Info", "dssetup.dssetup_DsRoleGetPrimaryDomainInformation.info", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
926 { &hf_dssetup_dssetup_DsRoleGetPrimaryDomainInformation_level
,
927 { "Level", "dssetup.dssetup_DsRoleGetPrimaryDomainInformation.level", FT_UINT1632
, BASE_DEC
, VALS(dssetup_dssetup_DsRoleInfoLevel_vals
), 0, NULL
, HFILL
}},
928 { &hf_dssetup_dssetup_DsRoleInfo_basic
,
929 { "Basic", "dssetup.dssetup_DsRoleInfo.basic", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
930 { &hf_dssetup_dssetup_DsRoleInfo_opstatus
,
931 { "Opstatus", "dssetup.dssetup_DsRoleInfo.opstatus", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
932 { &hf_dssetup_dssetup_DsRoleInfo_upgrade
,
933 { "Upgrade", "dssetup.dssetup_DsRoleInfo.upgrade", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
934 { &hf_dssetup_dssetup_DsRoleOpStatus_status
,
935 { "Status", "dssetup.dssetup_DsRoleOpStatus.status", FT_UINT1632
, BASE_DEC
, VALS(dssetup_dssetup_DsRoleOp_vals
), 0, NULL
, HFILL
}},
936 { &hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_dns_domain
,
937 { "Dns Domain", "dssetup.dssetup_DsRolePrimaryDomInfoBasic.dns_domain", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
938 { &hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_domain
,
939 { "Domain", "dssetup.dssetup_DsRolePrimaryDomInfoBasic.domain", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
940 { &hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_domain_guid
,
941 { "Domain Guid", "dssetup.dssetup_DsRolePrimaryDomInfoBasic.domain_guid", FT_GUID
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
942 { &hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_flags
,
943 { "Flags", "dssetup.dssetup_DsRolePrimaryDomInfoBasic.flags", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
944 { &hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_forest
,
945 { "Forest", "dssetup.dssetup_DsRolePrimaryDomInfoBasic.forest", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
946 { &hf_dssetup_dssetup_DsRolePrimaryDomInfoBasic_role
,
947 { "Role", "dssetup.dssetup_DsRolePrimaryDomInfoBasic.role", FT_UINT1632
, BASE_DEC
, VALS(dssetup_dssetup_DsRole_vals
), 0, NULL
, HFILL
}},
948 { &hf_dssetup_dssetup_DsRoleUpgradeStatus_previous_role
,
949 { "Previous Role", "dssetup.dssetup_DsRoleUpgradeStatus.previous_role", FT_UINT1632
, BASE_DEC
, VALS(dssetup_dssetup_DsPrevious_vals
), 0, NULL
, HFILL
}},
950 { &hf_dssetup_dssetup_DsRoleUpgradeStatus_upgrading
,
951 { "Upgrading", "dssetup.dssetup_DsRoleUpgradeStatus.upgrading", FT_UINT32
, BASE_DEC
, VALS(dssetup_dssetup_DsUpgrade_vals
), 0, NULL
, HFILL
}},
953 { "Operation", "dssetup.opnum", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
954 { &hf_dssetup_werror
,
955 { "Windows Error", "dssetup.werror", FT_UINT32
, BASE_HEX
|BASE_EXT_STRING
, &WERR_errors_ext
, 0, NULL
, HFILL
}},
959 static int *ett
[] = {
961 &ett_dssetup_dssetup_DsRoleFlags
,
962 &ett_dssetup_dssetup_DsRolePrimaryDomInfoBasic
,
963 &ett_dssetup_dssetup_DsRoleUpgradeStatus
,
964 &ett_dssetup_dssetup_DsRoleOpStatus
,
965 &ett_dssetup_dssetup_DsRoleInfo
,
968 proto_dcerpc_dssetup
= proto_register_protocol("Active Directory Setup", "DSSETUP", "dssetup");
969 proto_register_field_array(proto_dcerpc_dssetup
, hf
, array_length (hf
));
970 proto_register_subtree_array(ett
, array_length(ett
));
973 void proto_reg_handoff_dcerpc_dssetup(void)
975 dcerpc_init_uuid(proto_dcerpc_dssetup
, ett_dcerpc_dssetup
,
976 &uuid_dcerpc_dssetup
, ver_dcerpc_dssetup
,
977 dssetup_dissectors
, hf_dssetup_opnum
);