summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-01-01 01:32:01 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:07:53 -0500
commitd487cca5cb39cfd4b41b83ae32f07d2b7deb6cf1 (patch)
tree2b12ebffd90f3f9b6ba89953406ed490090bf0a8 /source4/librpc
parent740ee4a8977512c03800ef88603cf65fd044443b (diff)
downloadsamba-d487cca5cb39cfd4b41b83ae32f07d2b7deb6cf1.tar.gz
samba-d487cca5cb39cfd4b41b83ae32f07d2b7deb6cf1.tar.bz2
samba-d487cca5cb39cfd4b41b83ae32f07d2b7deb6cf1.zip
r4461: finished the remaining information levels in the DSSETUP pipe. The pipe is now complete!
The only glitch is that I am returning DS_ROLE_MEMBER_SERVER when I should be returning DS_ROLE_PRIMARY_DC. This is needed for the moment or ACL editing doesn't work from w2k3. Once we have some more ADS calls we should be able to fix this. (This used to be commit 6566dc2805a9f6473ebab70b0dbd381c4dbd42c8)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/dssetup.idl51
1 files changed, 49 insertions, 2 deletions
diff --git a/source4/librpc/idl/dssetup.idl b/source4/librpc/idl/dssetup.idl
index dc57e86a11..25045c5879 100644
--- a/source4/librpc/idl/dssetup.idl
+++ b/source4/librpc/idl/dssetup.idl
@@ -15,6 +15,15 @@
/**********************************************/
/* Function 0x00 */
+ typedef enum {
+ DS_ROLE_STANDALONE_WORKSTATION = 0,
+ DS_ROLE_MEMBER_WORKSTATION = 1,
+ DS_ROLE_STANDALONE_SERVER = 2,
+ DS_ROLE_MEMBER_SERVER = 3,
+ DS_ROLE_BACKUP_DC = 4,
+ DS_ROLE_PRIMARY_DC = 5
+ } ds_Role;
+
typedef struct {
uint16 role;
uint32 flags;
@@ -23,9 +32,43 @@
unistr *forest;
GUID domain_guid;
} ds_DomainBasicInformation;
+
+ typedef enum {
+ DS_NOT_UPGRADING = 0,
+ DS_UPGRADING = 1
+ } ds_UpgradeStatus;
+
+ typedef enum {
+ DS_PREVIOUS_UNKNOWN = 0,
+ DS_PREVIOUS_PRIMARY = 1,
+ DS_PREVIOUS_BACKUP = 2
+ } ds_PreviousStatus;
+
+ typedef struct {
+ uint32 upgrading;
+ uint16 previous_role;
+ } ds_DomainUpgradeStatus;
+
+ typedef enum {
+ DS_STATUS_IDLE = 0,
+ DS_STATUS_ACTIVE = 1,
+ DS_STATUS_NEEDS_REBOOT = 2
+ } ds_Status;
+
+ typedef struct {
+ uint16 status;
+ } ds_RoleOpStatus;
+ typedef enum {
+ DS_BASIC_INFORMATION = 1,
+ DS_UPGRADE_STATUS = 2,
+ DS_ROLE_OP_STATUS = 3
+ } ds_InformationLevel;
+
typedef union {
- [case(1)] ds_DomainBasicInformation basic;
+ [case(DS_BASIC_INFORMATION)] ds_DomainBasicInformation basic;
+ [case(DS_UPGRADE_STATUS)] ds_DomainUpgradeStatus upgrade;
+ [case(DS_ROLE_OP_STATUS)] ds_RoleOpStatus status;
} ds_DomainInformation;
WERROR ds_RolerGetPrimaryDomainInformation(
@@ -33,7 +76,11 @@
[out,switch_is(level)] ds_DomainInformation *info
);
-
+ /*
+ w2k3 has removed all the calls below from their implementation.
+ These stubs are left here only as a way of documenting the names
+ of the calls in case they ever turn up on the wire.
+ */
WERROR ds_RolerDnsNameToFlatName();
WERROR ds_RolerDcAsDc();
WERROR ds_RolerDcAsReplica();