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