Registry server LDB backend: Don't make copies of the same type
[ab/samba.git/.git] / source4 / librpc / idl / dssetup.idl
1 /*
2   dssetup interface definition
3 */
4
5 import "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 }