r4483: - rename same structs, enums and uninons of the dssetup pipe
[samba.git] / source4 / librpc / idl / dssetup.idl
1 #include "idl_types.h"
2
3 /*
4   dssetup interface definition
5 */
6
7 [
8         uuid("3919286a-b10c-11d0-9ba8-00c04fd92ef5"),
9         version(0.0),
10         endpoint("ncacn_np:[\\pipe\\lsarpc]", "ncacn_np:[\\pipe\\lsass]", "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         const uint32 DS_ROLE_PRIMARY_DS_RUNNING                 = 0x00000001;
28         const uint32 DS_ROLE_PRIMARY_DS_MIXED_MODE              = 0x00000002;
29         const uint32 DS_ROLE_UPGRADE_IN_PROGRESS                = 0x00000004;
30         const uint32 DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT        = 0x01000000;
31
32         typedef struct {
33                 uint16    role;
34                 uint32    flags;
35                 unistr    *domain;
36                 unistr    *dns_domain;
37                 unistr    *forest;
38                 GUID domain_guid;
39         } dssetup_DsRolePrimaryDomInfoBasic;
40
41         typedef 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                 uint32 upgrading;
54                 uint16 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                 uint16 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 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                 [default] ;
78         } dssetup_DsRoleInfo;
79
80         WERROR dssetup_DsRoleGetPrimaryDomainInformation(
81                 [in] uint16 level,
82                 [out,switch_is(level)] dssetup_DsRoleInfo *info
83                 );
84
85         /*
86           w2k3 has removed all the calls below from their implementation.
87           These stubs are left here only as a way of documenting the names
88           of the calls in case they ever turn up on the wire.
89         */
90         WERROR dssetup_DsRoleDnsNameToFlatName();
91         WERROR dssetup_DsRoleDcAsDc();
92         WERROR dssetup_DsRoleDcAsReplica();
93         WERROR dssetup_DsRoleDemoteDc();
94         WERROR dssetup_DsRoleGetDcOperationProgress();
95         WERROR dssetup_DsRoleGetDcOperationResults();
96         WERROR dssetup_DsRoleCancel();
97         WERROR dssetup_DsRoleServerSaveStateForUpgrade();
98         WERROR dssetup_DsRoleUpgradeDownlevelServer();
99         WERROR dssetup_DsRoleAbortDownlevelServerUpgrade();
100 }