1/* 2 dssetup interface definition 3*/ 4 5import "misc/misc.idl"; 6 7[ 8 uuid("3919286a-b10c-11d0-9ba8-00c04fd92ef5"), 9 version(0.0), 10 endpoint("ncacn_np:[\\pipe\\lsarpc]", "ncacn_np:[\\pipe\\lsass]", "ncacn_ip_tcp:", "ncalrpc:"), 11 pointer_default(unique), 12 helpstring("Active Directory Setup") 13] interface dssetup 14{ 15 /**********************************************/ 16 /* Function 0x00 */ 17 18 typedef enum { 19 DS_ROLE_STANDALONE_WORKSTATION = 0, 20 DS_ROLE_MEMBER_WORKSTATION = 1, 21 DS_ROLE_STANDALONE_SERVER = 2, 22 DS_ROLE_MEMBER_SERVER = 3, 23 DS_ROLE_BACKUP_DC = 4, 24 DS_ROLE_PRIMARY_DC = 5 25 } dssetup_DsRole; 26 27 typedef [bitmap32bit] bitmap { 28 DS_ROLE_PRIMARY_DS_RUNNING = 0x00000001, 29 DS_ROLE_PRIMARY_DS_MIXED_MODE = 0x00000002, 30 DS_ROLE_UPGRADE_IN_PROGRESS = 0x00000004, 31 DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT = 0x01000000 32 } dssetup_DsRoleFlags; 33 34 typedef struct { 35 dssetup_DsRole role; 36 dssetup_DsRoleFlags flags; 37 [charset(UTF16),string] uint16 *domain; 38 [charset(UTF16),string] uint16 *dns_domain; 39 [charset(UTF16),string] uint16 *forest; 40 GUID domain_guid; 41 } dssetup_DsRolePrimaryDomInfoBasic; 42 43 typedef [v1_enum] enum { 44 DS_ROLE_NOT_UPGRADING = 0, 45 DS_ROLE_UPGRADING = 1 46 } dssetup_DsUpgrade; 47 48 typedef enum { 49 DS_ROLE_PREVIOUS_UNKNOWN = 0, 50 DS_ROLE_PREVIOUS_PRIMARY = 1, 51 DS_ROLE_PREVIOUS_BACKUP = 2 52 } dssetup_DsPrevious; 53 54 typedef struct { 55 dssetup_DsUpgrade upgrading; 56 dssetup_DsPrevious previous_role; 57 } dssetup_DsRoleUpgradeStatus; 58 59 typedef enum { 60 DS_ROLE_OP_IDLE = 0, 61 DS_ROLE_OP_ACTIVE = 1, 62 DS_ROLE_OP_NEEDS_REBOOT = 2 63 } dssetup_DsRoleOp; 64 65 typedef struct { 66 dssetup_DsRoleOp status; 67 } dssetup_DsRoleOpStatus; 68 69 typedef enum { 70 DS_ROLE_BASIC_INFORMATION = 1, 71 DS_ROLE_UPGRADE_STATUS = 2, 72 DS_ROLE_OP_STATUS = 3 73 } dssetup_DsRoleInfoLevel; 74 75 typedef [switch_type(dssetup_DsRoleInfoLevel)] union { 76 [case(DS_ROLE_BASIC_INFORMATION)] dssetup_DsRolePrimaryDomInfoBasic basic; 77 [case(DS_ROLE_UPGRADE_STATUS)] dssetup_DsRoleUpgradeStatus upgrade; 78 [case(DS_ROLE_OP_STATUS)] dssetup_DsRoleOpStatus opstatus; 79 } dssetup_DsRoleInfo; 80 81 WERROR dssetup_DsRoleGetPrimaryDomainInformation( 82 [in] dssetup_DsRoleInfoLevel level, 83 [out,switch_is(level),unique] dssetup_DsRoleInfo *info 84 ); 85 86 /* 87 w2k3 has removed all the calls below from their implementation. 88 These stubs are left here only as a way of documenting the names 89 of the calls in case they ever turn up on the wire. 90 */ 91 [todo] WERROR dssetup_DsRoleDnsNameToFlatName(); 92 [todo] WERROR dssetup_DsRoleDcAsDc(); 93 [todo] WERROR dssetup_DsRoleDcAsReplica(); 94 [todo] WERROR dssetup_DsRoleDemoteDc(); 95 [todo] WERROR dssetup_DsRoleGetDcOperationProgress(); 96 [todo] WERROR dssetup_DsRoleGetDcOperationResults(); 97 [todo] WERROR dssetup_DsRoleCancel(); 98 [todo] WERROR dssetup_DsRoleServerSaveStateForUpgrade(); 99 [todo] WERROR dssetup_DsRoleUpgradeDownlevelServer(); 100 [todo] WERROR dssetup_DsRoleAbortDownlevelServerUpgrade(); 101} 102