2 * This dissector is autogenerated
5 /* packet-dcerpc-dssetup.c
6 * Routines for DS SETUP packet disassembly
8 * Autogenerated based on the IDL definitions from samba 4
12 * Ethereal - Network traffic analyzer
13 * By Gerald Combs <gerald@ethereal.com>
14 * Copyright 1998 Gerald Combs
16 * This program is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License
18 * as published by the Free Software Foundation; either version 2
19 * of the License, or (at your option) any later version.
21 * This program is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
26 * You should have received a copy of the GNU General Public License
27 * along with this program; if not, write to the Free Software
28 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
38 #include <epan/packet.h>
39 #include "packet-dcerpc.h"
40 #include "packet-dcerpc-nt.h"
41 #include "packet-windows-common.h"
42 #include "packet-dcerpc-dssetup.h"
44 static int proto_dssetup = -1;
47 /* INCLUDED FILE : ETH_HF */
48 static int hf_dssetup_opnum = -1;
49 static int hf_dssetup_rc = -1;
50 static int hf_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_RUNNING = -1;
51 static int hf_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_MIXED_MODE = -1;
52 static int hf_dssetup_DsRoleFlags_DS_ROLE_UPGRADE_IN_PROGRESS = -1;
53 static int hf_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT = -1;
54 static int hf_dssetup_DsRolePrimaryDomInfoBasic_role = -1;
55 static int hf_dssetup_DsRolePrimaryDomInfoBasic_flags = -1;
56 static int hf_dssetup_DsRolePrimaryDomInfoBasic_domain = -1;
57 static int hf_dssetup_DsRolePrimaryDomInfoBasic_dns_domain = -1;
58 static int hf_dssetup_DsRolePrimaryDomInfoBasic_forest = -1;
59 static int hf_dssetup_DsRolePrimaryDomInfoBasic_domain_guid = -1;
60 static int hf_dssetup_DsRoleUpgradeStatus_upgrading = -1;
61 static int hf_dssetup_DsRoleUpgradeStatus_previous_role = -1;
62 static int hf_dssetup_DsRoleOpStatus_status = -1;
63 static int hf_dssetup_DsRoleInfo_DS_ROLE_BASIC_INFORMATION_basic = -1;
64 static int hf_dssetup_DsRoleInfo_DS_ROLE_UPGRADE_STATUS_upgrade = -1;
65 static int hf_dssetup_DsRoleInfo_DS_ROLE_OP_STATUS_opstatus = -1;
66 static int hf_dssetup_DsRoleGetPrimaryDomainInformation_level = -1;
67 static int hf_dssetup_DsRoleGetPrimaryDomainInformation_info = -1;
68 /* END OF INCLUDED FILE : ETH_HF */
74 /* INCLUDED FILE : ETH_ETT */
75 static gint ett_dssetup = -1;
76 static gint ett_dssetup_DsRoleFlags = -1;
77 static gint ett_dssetup_DsRolePrimaryDomInfoBasic = -1;
78 static gint ett_dssetup_DsRoleUpgradeStatus = -1;
79 static gint ett_dssetup_DsRoleOpStatus = -1;
80 static gint ett_dssetup_DsRoleInfo = -1;
81 /* END OF INCLUDED FILE : ETH_ETT */
87 /* INCLUDED FILE : ETH_CODE */
88 static e_uuid_t uuid_dcerpc_dssetup = {
89 0x3919286a, 0xb10c, 0x11d0,
90 { 0x9b, 0xa8, 0x00, 0xc0, 0x4f, 0xd9, 0x2e, 0xf5}
93 static guint16 ver_dssetup = 0;
96 const value_string dssetup_DsRole_vals[] = {
97 { 0 , "DS_ROLE_STANDALONE_WORKSTATION" },
98 { 1 , "DS_ROLE_MEMBER_WORKSTATION" },
99 { 2 , "DS_ROLE_STANDALONE_SERVER" },
100 { 3 , "DS_ROLE_MEMBER_SERVER" },
101 { 4 , "DS_ROLE_BACKUP_DC" },
102 { 5 , "DS_ROLE_PRIMARY_DC" },
107 dssetup_dissect_DsRole(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
109 offset=dissect_ndr_uint16(tvb, offset, pinfo, tree, drep, hf_index, NULL);
113 static const true_false_string DS_ROLE_PRIMARY_DS_RUNNING_tfs = {
114 "DS_ROLE_PRIMARY_DS_RUNNING is SET",
115 "DS_ROLE_PRIMARY_DS_RUNNING is NOT set"
118 static const true_false_string DS_ROLE_PRIMARY_DS_MIXED_MODE_tfs = {
119 "DS_ROLE_PRIMARY_DS_MIXED_MODE is SET",
120 "DS_ROLE_PRIMARY_DS_MIXED_MODE is NOT set"
123 static const true_false_string DS_ROLE_UPGRADE_IN_PROGRESS_tfs = {
124 "DS_ROLE_UPGRADE_IN_PROGRESS is SET",
125 "DS_ROLE_UPGRADE_IN_PROGRESS is NOT set"
128 static const true_false_string DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT_tfs = {
129 "DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT is SET",
130 "DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT is NOT set"
135 dssetup_dissect_DsRoleFlags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
137 proto_item *item=NULL;
138 proto_tree *tree=NULL;
144 item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, TRUE);
145 tree=proto_item_add_subtree(item, ett_dssetup_DsRoleFlags);
148 offset=dissect_ndr_uint32(tvb, offset, pinfo, NULL, drep, -1, &flags);
151 proto_tree_add_boolean(tree, hf_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_RUNNING, tvb, offset-4, 4, flags);
152 if(flags&0x00000001){
153 proto_item_append_text(item, " DS_ROLE_PRIMARY_DS_RUNNING");
155 flags&=(~0x00000001);
157 proto_tree_add_boolean(tree, hf_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_MIXED_MODE, tvb, offset-4, 4, flags);
158 if(flags&0x00000002){
159 proto_item_append_text(item, " DS_ROLE_PRIMARY_DS_MIXED_MODE");
161 flags&=(~0x00000002);
163 proto_tree_add_boolean(tree, hf_dssetup_DsRoleFlags_DS_ROLE_UPGRADE_IN_PROGRESS, tvb, offset-4, 4, flags);
164 if(flags&0x00000004){
165 proto_item_append_text(item, " DS_ROLE_UPGRADE_IN_PROGRESS");
167 flags&=(~0x00000004);
169 proto_tree_add_boolean(tree, hf_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT, tvb, offset-4, 4, flags);
170 if(flags&0x01000000){
171 proto_item_append_text(item, " DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT");
173 flags&=(~0x01000000);
176 proto_item_append_text(item, "UNKNOWN-FLAGS");
182 dssetup_dissect_DsRolePrimaryDomInfoBasic_role(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
185 offset=dssetup_dissect_DsRole(tvb, offset, pinfo, tree, drep, hf_dssetup_DsRolePrimaryDomInfoBasic_role, param);
190 dssetup_dissect_DsRolePrimaryDomInfoBasic_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
193 offset=dssetup_dissect_DsRoleFlags(tvb, offset, pinfo, tree, drep, hf_dssetup_DsRolePrimaryDomInfoBasic_flags, param);
199 dssetup_dissect_unistr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
201 offset=dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, 2, hf_index, FALSE, NULL);
206 dssetup_dissect_DsRolePrimaryDomInfoBasic_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
209 offset=dssetup_dissect_unistr(tvb, offset, pinfo, tree, drep, hf_dssetup_DsRolePrimaryDomInfoBasic_domain, param);
214 unique_dssetup_dissect_DsRolePrimaryDomInfoBasic_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
216 offset=dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, dssetup_dissect_DsRolePrimaryDomInfoBasic_domain, NDR_POINTER_UNIQUE, "domain", -1);
221 dssetup_dissect_DsRolePrimaryDomInfoBasic_dns_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
224 offset=dssetup_dissect_unistr(tvb, offset, pinfo, tree, drep, hf_dssetup_DsRolePrimaryDomInfoBasic_dns_domain, param);
229 unique_dssetup_dissect_DsRolePrimaryDomInfoBasic_dns_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
231 offset=dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, dssetup_dissect_DsRolePrimaryDomInfoBasic_dns_domain, NDR_POINTER_UNIQUE, "dns_domain", -1);
236 dssetup_dissect_DsRolePrimaryDomInfoBasic_forest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
239 offset=dssetup_dissect_unistr(tvb, offset, pinfo, tree, drep, hf_dssetup_DsRolePrimaryDomInfoBasic_forest, param);
244 unique_dssetup_dissect_DsRolePrimaryDomInfoBasic_forest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
246 offset=dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, dssetup_dissect_DsRolePrimaryDomInfoBasic_forest, NDR_POINTER_UNIQUE, "forest", -1);
252 dssetup_dissect_GUID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
254 offset=dissect_ndr_uuid_t(tvb, offset, pinfo, tree, drep, hf_index, NULL);
259 dssetup_dissect_DsRolePrimaryDomInfoBasic_domain_guid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
262 offset=dssetup_dissect_GUID(tvb, offset, pinfo, tree, drep, hf_dssetup_DsRolePrimaryDomInfoBasic_domain_guid, param);
268 dssetup_dissect_DsRolePrimaryDomInfoBasic(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
270 proto_item *item=NULL;
271 proto_tree *tree=NULL;
278 item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
279 tree=proto_item_add_subtree(item, ett_dssetup_DsRolePrimaryDomInfoBasic);
282 offset=dssetup_dissect_DsRolePrimaryDomInfoBasic_role(tvb, offset, pinfo, tree, drep);
284 offset=dssetup_dissect_DsRolePrimaryDomInfoBasic_flags(tvb, offset, pinfo, tree, drep);
286 offset=unique_dssetup_dissect_DsRolePrimaryDomInfoBasic_domain(tvb, offset, pinfo, tree, drep);
288 offset=unique_dssetup_dissect_DsRolePrimaryDomInfoBasic_dns_domain(tvb, offset, pinfo, tree, drep);
290 offset=unique_dssetup_dissect_DsRolePrimaryDomInfoBasic_forest(tvb, offset, pinfo, tree, drep);
292 offset=dssetup_dissect_DsRolePrimaryDomInfoBasic_domain_guid(tvb, offset, pinfo, tree, drep);
294 proto_item_set_len(item, offset-old_offset);
299 const value_string dssetup_DsUpgrade_vals[] = {
300 { 0 , "DS_ROLE_NOT_UPGRADING" },
301 { 1 , "DS_ROLE_UPGRADING" },
306 dssetup_dissect_DsUpgrade(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
308 offset=dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, NULL);
313 const value_string dssetup_DsPrevious_vals[] = {
314 { 0 , "DS_ROLE_PREVIOUS_UNKNOWN" },
315 { 1 , "DS_ROLE_PREVIOUS_PRIMARY" },
316 { 2 , "DS_ROLE_PREVIOUS_BACKUP" },
321 dssetup_dissect_DsPrevious(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
323 offset=dissect_ndr_uint16(tvb, offset, pinfo, tree, drep, hf_index, NULL);
328 dssetup_dissect_DsRoleUpgradeStatus_upgrading(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
331 offset=dssetup_dissect_DsUpgrade(tvb, offset, pinfo, tree, drep, hf_dssetup_DsRoleUpgradeStatus_upgrading, param);
336 dssetup_dissect_DsRoleUpgradeStatus_previous_role(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
339 offset=dssetup_dissect_DsPrevious(tvb, offset, pinfo, tree, drep, hf_dssetup_DsRoleUpgradeStatus_previous_role, param);
345 dssetup_dissect_DsRoleUpgradeStatus(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
347 proto_item *item=NULL;
348 proto_tree *tree=NULL;
355 item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
356 tree=proto_item_add_subtree(item, ett_dssetup_DsRoleUpgradeStatus);
359 offset=dssetup_dissect_DsRoleUpgradeStatus_upgrading(tvb, offset, pinfo, tree, drep);
361 offset=dssetup_dissect_DsRoleUpgradeStatus_previous_role(tvb, offset, pinfo, tree, drep);
363 proto_item_set_len(item, offset-old_offset);
368 const value_string dssetup_DsRoleOp_vals[] = {
369 { 0 , "DS_ROLE_OP_IDLE" },
370 { 1 , "DS_ROLE_OP_ACTIVE" },
371 { 2 , "DS_ROLE_OP_NEEDS_REBOOT" },
376 dssetup_dissect_DsRoleOp(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
378 offset=dissect_ndr_uint16(tvb, offset, pinfo, tree, drep, hf_index, NULL);
383 dssetup_dissect_DsRoleOpStatus_status(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
386 offset=dssetup_dissect_DsRoleOp(tvb, offset, pinfo, tree, drep, hf_dssetup_DsRoleOpStatus_status, param);
392 dssetup_dissect_DsRoleOpStatus(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
394 proto_item *item=NULL;
395 proto_tree *tree=NULL;
402 item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
403 tree=proto_item_add_subtree(item, ett_dssetup_DsRoleOpStatus);
406 offset=dssetup_dissect_DsRoleOpStatus_status(tvb, offset, pinfo, tree, drep);
408 proto_item_set_len(item, offset-old_offset);
413 const value_string dssetup_DsRoleInfoLevel_vals[] = {
414 { 1 , "DS_ROLE_BASIC_INFORMATION" },
415 { 2 , "DS_ROLE_UPGRADE_STATUS" },
416 { 3 , "DS_ROLE_OP_STATUS" },
421 dssetup_dissect_DsRoleInfoLevel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
423 offset=dissect_ndr_uint16(tvb, offset, pinfo, tree, drep, hf_index, NULL);
428 dssetup_dissect_union_DsRoleInfo_DS_ROLE_BASIC_INFORMATION_basic(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
431 offset=dssetup_dissect_DsRolePrimaryDomInfoBasic(tvb, offset, pinfo, tree, drep, hf_dssetup_DsRoleInfo_DS_ROLE_BASIC_INFORMATION_basic, param);
436 dssetup_dissect_union_DsRoleInfo_DS_ROLE_UPGRADE_STATUS_upgrade(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
439 offset=dssetup_dissect_DsRoleUpgradeStatus(tvb, offset, pinfo, tree, drep, hf_dssetup_DsRoleInfo_DS_ROLE_UPGRADE_STATUS_upgrade, param);
444 dssetup_dissect_union_DsRoleInfo_DS_ROLE_OP_STATUS_opstatus(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
447 offset=dssetup_dissect_DsRoleOpStatus(tvb, offset, pinfo, tree, drep, hf_dssetup_DsRoleInfo_DS_ROLE_OP_STATUS_opstatus, param);
453 dssetup_dissect_union_DsRoleInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
455 proto_item *item=NULL;
456 proto_tree *tree=NULL;
464 item=proto_tree_add_text(parent_tree, tvb, offset, -1, "DsRoleInfo");
465 tree=proto_item_add_subtree(item, ett_dssetup_DsRoleInfo);
468 offset=dissect_ndr_uint16(tvb, offset, pinfo, tree,
469 drep, hf_index, &level);
472 case DS_ROLE_BASIC_INFORMATION:
474 offset=dssetup_dissect_union_DsRoleInfo_DS_ROLE_BASIC_INFORMATION_basic(tvb, offset, pinfo, tree, drep);
477 case DS_ROLE_UPGRADE_STATUS:
479 offset=dssetup_dissect_union_DsRoleInfo_DS_ROLE_UPGRADE_STATUS_upgrade(tvb, offset, pinfo, tree, drep);
482 case DS_ROLE_OP_STATUS:
484 offset=dssetup_dissect_union_DsRoleInfo_DS_ROLE_OP_STATUS_opstatus(tvb, offset, pinfo, tree, drep);
489 proto_item_set_len(item, offset-old_offset);
494 dssetup_dissect_DsRoleGetPrimaryDomainInformation_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
497 offset=dssetup_dissect_DsRoleInfoLevel(tvb, offset, pinfo, tree, drep, hf_dssetup_DsRoleGetPrimaryDomainInformation_level, param);
502 dssetup_dissect_DsRoleGetPrimaryDomainInformation_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
505 offset=dssetup_dissect_union_DsRoleInfo(tvb, offset, pinfo, tree, drep, hf_dssetup_DsRoleGetPrimaryDomainInformation_info, param);
510 unique_dssetup_dissect_DsRoleGetPrimaryDomainInformation_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
512 offset=dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, dssetup_dissect_DsRoleGetPrimaryDomainInformation_info, NDR_POINTER_UNIQUE, "info", -1);
518 dssetup_dissect_DsRoleGetPrimaryDomainInformation_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
520 offset=dssetup_dissect_DsRoleGetPrimaryDomainInformation_level(tvb, offset, pinfo, tree, drep);
521 offset=dissect_deferred_pointers(pinfo, tvb, offset, drep);
528 dssetup_dissect_DsRoleGetPrimaryDomainInformation_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
530 offset=unique_dssetup_dissect_DsRoleGetPrimaryDomainInformation_info(tvb, offset, pinfo, tree, drep);
531 offset=dissect_deferred_pointers(pinfo, tvb, offset, drep);
533 offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_dssetup_rc, NULL);
540 dssetup_dissect_DsRoleDnsNameToFlatName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
547 dssetup_dissect_DsRoleDnsNameToFlatName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
549 offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_dssetup_rc, NULL);
556 dssetup_dissect_DsRoleDcAsDc_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
563 dssetup_dissect_DsRoleDcAsDc_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
565 offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_dssetup_rc, NULL);
572 dssetup_dissect_DsRoleDcAsReplica_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
579 dssetup_dissect_DsRoleDcAsReplica_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
581 offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_dssetup_rc, NULL);
588 dssetup_dissect_DsRoleDemoteDc_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
595 dssetup_dissect_DsRoleDemoteDc_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
597 offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_dssetup_rc, NULL);
604 dssetup_dissect_DsRoleGetDcOperationProgress_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
611 dssetup_dissect_DsRoleGetDcOperationProgress_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
613 offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_dssetup_rc, NULL);
620 dssetup_dissect_DsRoleGetDcOperationResults_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
627 dssetup_dissect_DsRoleGetDcOperationResults_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
629 offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_dssetup_rc, NULL);
636 dssetup_dissect_DsRoleCancel_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
643 dssetup_dissect_DsRoleCancel_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
645 offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_dssetup_rc, NULL);
652 dssetup_dissect_DsRoleServerSaveStateForUpgrade_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
659 dssetup_dissect_DsRoleServerSaveStateForUpgrade_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
661 offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_dssetup_rc, NULL);
668 dssetup_dissect_DsRoleUpgradeDownlevelServer_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
675 dssetup_dissect_DsRoleUpgradeDownlevelServer_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
677 offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_dssetup_rc, NULL);
684 dssetup_dissect_DsRoleAbortDownlevelServerUpgrade_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
691 dssetup_dissect_DsRoleAbortDownlevelServerUpgrade_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
693 offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_dssetup_rc, NULL);
698 /* END OF INCLUDED FILE : ETH_CODE */
703 proto_register_dssetup(void)
705 static hf_register_info hf[] = {
708 /* INCLUDED FILE : ETH_HFARR */
710 { "Operation", "dssetup.opnum", FT_UINT16, BASE_DEC,
715 { "Return code", "dssetup.rc", FT_UINT32, BASE_HEX,
719 { &hf_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_RUNNING,
720 { "DS_ROLE_PRIMARY_DS_RUNNING", "dssetup.DsRoleFlags.DS_ROLE_PRIMARY_DS_RUNNING", FT_BOOLEAN, 32,
721 TFS(&DS_ROLE_PRIMARY_DS_RUNNING_tfs), 0x00000001,
724 { &hf_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DS_MIXED_MODE,
725 { "DS_ROLE_PRIMARY_DS_MIXED_MODE", "dssetup.DsRoleFlags.DS_ROLE_PRIMARY_DS_MIXED_MODE", FT_BOOLEAN, 32,
726 TFS(&DS_ROLE_PRIMARY_DS_MIXED_MODE_tfs), 0x00000002,
729 { &hf_dssetup_DsRoleFlags_DS_ROLE_UPGRADE_IN_PROGRESS,
730 { "DS_ROLE_UPGRADE_IN_PROGRESS", "dssetup.DsRoleFlags.DS_ROLE_UPGRADE_IN_PROGRESS", FT_BOOLEAN, 32,
731 TFS(&DS_ROLE_UPGRADE_IN_PROGRESS_tfs), 0x00000004,
734 { &hf_dssetup_DsRoleFlags_DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT,
735 { "DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT", "dssetup.DsRoleFlags.DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT", FT_BOOLEAN, 32,
736 TFS(&DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT_tfs), 0x01000000,
739 { &hf_dssetup_DsRolePrimaryDomInfoBasic_role,
740 { "role", "dssetup.DsRolePrimaryDomInfoBasic.role", FT_INT16, BASE_DEC,
741 VALS(dssetup_DsRole_vals), 0,
744 { &hf_dssetup_DsRolePrimaryDomInfoBasic_flags,
745 { "flags", "dssetup.DsRolePrimaryDomInfoBasic.flags", FT_UINT32, BASE_HEX,
749 { &hf_dssetup_DsRolePrimaryDomInfoBasic_domain,
750 { "domain", "dssetup.DsRolePrimaryDomInfoBasic.domain", FT_STRING, BASE_DEC,
754 { &hf_dssetup_DsRolePrimaryDomInfoBasic_dns_domain,
755 { "dns_domain", "dssetup.DsRolePrimaryDomInfoBasic.dns_domain", FT_STRING, BASE_DEC,
759 { &hf_dssetup_DsRolePrimaryDomInfoBasic_forest,
760 { "forest", "dssetup.DsRolePrimaryDomInfoBasic.forest", FT_STRING, BASE_DEC,
764 { &hf_dssetup_DsRolePrimaryDomInfoBasic_domain_guid,
765 { "domain_guid", "dssetup.DsRolePrimaryDomInfoBasic.domain_guid", FT_STRING, BASE_NONE,
769 { &hf_dssetup_DsRoleUpgradeStatus_upgrading,
770 { "upgrading", "dssetup.DsRoleUpgradeStatus.upgrading", FT_INT32, BASE_DEC,
771 VALS(dssetup_DsUpgrade_vals), 0,
774 { &hf_dssetup_DsRoleUpgradeStatus_previous_role,
775 { "previous_role", "dssetup.DsRoleUpgradeStatus.previous_role", FT_INT16, BASE_DEC,
776 VALS(dssetup_DsPrevious_vals), 0,
779 { &hf_dssetup_DsRoleOpStatus_status,
780 { "status", "dssetup.DsRoleOpStatus.status", FT_INT16, BASE_DEC,
781 VALS(dssetup_DsRoleOp_vals), 0,
784 { &hf_dssetup_DsRoleInfo_DS_ROLE_BASIC_INFORMATION_basic,
785 { "basic", "dssetup.DsRoleInfo.basic", FT_NONE, BASE_NONE,
789 { &hf_dssetup_DsRoleInfo_DS_ROLE_UPGRADE_STATUS_upgrade,
790 { "upgrade", "dssetup.DsRoleInfo.upgrade", FT_NONE, BASE_NONE,
794 { &hf_dssetup_DsRoleInfo_DS_ROLE_OP_STATUS_opstatus,
795 { "opstatus", "dssetup.DsRoleInfo.opstatus", FT_NONE, BASE_NONE,
799 { &hf_dssetup_DsRoleGetPrimaryDomainInformation_level,
800 { "level", "dssetup.DsRoleGetPrimaryDomainInformation.level", FT_INT16, BASE_DEC,
801 VALS(dssetup_DsRoleInfoLevel_vals), 0,
804 { &hf_dssetup_DsRoleGetPrimaryDomainInformation_info,
805 { "info", "dssetup.DsRoleGetPrimaryDomainInformation.info", FT_UINT16, BASE_DEC,
809 /* END OF INCLUDED FILE : ETH_HFARR */
814 static gint *ett[] = {
817 /* INCLUDED FILE : ETH_ETTARR */
819 &ett_dssetup_DsRoleFlags,
820 &ett_dssetup_DsRolePrimaryDomInfoBasic,
821 &ett_dssetup_DsRoleUpgradeStatus,
822 &ett_dssetup_DsRoleOpStatus,
823 &ett_dssetup_DsRoleInfo,
824 /* END OF INCLUDED FILE : ETH_ETTARR */
829 proto_dssetup = proto_register_protocol(
830 "Active Directory Setup",
831 "DSSETUP", "dssetup");
832 proto_register_field_array(proto_dssetup, hf, array_length(hf));
833 proto_register_subtree_array(ett, array_length(ett));
836 static dcerpc_sub_dissector function_dissectors[] = {
839 /* INCLUDED FILE : ETH_FT */
840 { 0, "DsRoleGetPrimaryDomainInformation",
841 dssetup_dissect_DsRoleGetPrimaryDomainInformation_request,
842 dssetup_dissect_DsRoleGetPrimaryDomainInformation_response },
843 { 1, "DsRoleDnsNameToFlatName",
844 dssetup_dissect_DsRoleDnsNameToFlatName_request,
845 dssetup_dissect_DsRoleDnsNameToFlatName_response },
847 dssetup_dissect_DsRoleDcAsDc_request,
848 dssetup_dissect_DsRoleDcAsDc_response },
849 { 3, "DsRoleDcAsReplica",
850 dssetup_dissect_DsRoleDcAsReplica_request,
851 dssetup_dissect_DsRoleDcAsReplica_response },
852 { 4, "DsRoleDemoteDc",
853 dssetup_dissect_DsRoleDemoteDc_request,
854 dssetup_dissect_DsRoleDemoteDc_response },
855 { 5, "DsRoleGetDcOperationProgress",
856 dssetup_dissect_DsRoleGetDcOperationProgress_request,
857 dssetup_dissect_DsRoleGetDcOperationProgress_response },
858 { 6, "DsRoleGetDcOperationResults",
859 dssetup_dissect_DsRoleGetDcOperationResults_request,
860 dssetup_dissect_DsRoleGetDcOperationResults_response },
862 dssetup_dissect_DsRoleCancel_request,
863 dssetup_dissect_DsRoleCancel_response },
864 { 8, "DsRoleServerSaveStateForUpgrade",
865 dssetup_dissect_DsRoleServerSaveStateForUpgrade_request,
866 dssetup_dissect_DsRoleServerSaveStateForUpgrade_response },
867 { 9, "DsRoleUpgradeDownlevelServer",
868 dssetup_dissect_DsRoleUpgradeDownlevelServer_request,
869 dssetup_dissect_DsRoleUpgradeDownlevelServer_response },
870 { 10, "DsRoleAbortDownlevelServerUpgrade",
871 dssetup_dissect_DsRoleAbortDownlevelServerUpgrade_request,
872 dssetup_dissect_DsRoleAbortDownlevelServerUpgrade_response },
873 /* END OF INCLUDED FILE : ETH_FT */
876 { 0, NULL, NULL, NULL },
880 proto_reg_handoff_dssetup(void)
884 /* INCLUDED FILE : ETH_HANDOFF */
885 dcerpc_init_uuid(proto_dssetup, ett_dssetup,
886 &uuid_dcerpc_dssetup, ver_dssetup,
887 function_dissectors, hf_dssetup_opnum);
888 /* END OF INCLUDED FILE : ETH_HANDOFF */