r2971: fix DsBind idl
[Samba/gebeck_regimport.git] / source4 / librpc / idl / drsuapi.idl
blobb950290d51a687ca84f0466f0bef1807e0b5d767
1 #include "idl_types.h"
3 [
4 uuid(e3514235-4b06-11d1-ab04-00c04fc2dcd2),
5 version(4.0),
6 endpoints(lsass,protected_storage,TCP-0),
7 helpstring("Active Directory Replication"),
8 pointer_default(unique)
9 ]
10 interface drsuapi
12 /*****************/
13 /* Function 0x00 */
15 typedef [flag(NDR_PAHEX)] struct {
16 [range(1,10000)] uint32 length;
17 [size_is(length)] uint8 data[];
18 } drsuapi_BindInfo;
20 NTSTATUS drsuapi_DsBind(
21 [in] GUID *server_guid,
22 [in,out] drsuapi_BindInfo *bind_info,
23 [out,ref] policy_handle *bind_handle
26 /*****************/
27 /* Function 0x01 */
28 NTSTATUS drsuapi_DsUnbind(
29 [in,out,ref] policy_handle *bind_handle
32 /*****************/
33 /* Function 0x02 */
34 NTSTATUS DRSUAPI_REPLICA_SYNC();
36 /*****************/
37 /* Function 0x03 */
38 NTSTATUS DRSUAPI_GET_NC_CHANGES();
40 /*****************/
41 /* Function 0x04 */
42 NTSTATUS DRSUAPI_UPDATE_REFS();
44 /*****************/
45 /* Function 0x05 */
46 NTSTATUS DRSUAPI_REPLICA_ADD();
48 /*****************/
49 /* Function 0x06 */
50 NTSTATUS DRSUAPI_REPLICA_DEL();
52 /*****************/
53 /* Function 0x07 */
54 NTSTATUS DRSUAPI_REPLICA_MODIFY();
56 /*****************/
57 /* Function 0x08 */
58 NTSTATUS DRSUAPI_VERIFY_NAMES();
60 /*****************/
61 /* Function 0x09 */
62 NTSTATUS DRSUAPI_GET_MEMBERSHIPS();
64 /*****************/
65 /* Function 0x0a */
66 NTSTATUS DRSUAPI_INTER_DOMAIN_MOVE();
68 /*****************/
69 /* Function 0x0b */
70 NTSTATUS DRSUAPI_GET_NT4_CHANGELOG();
72 /*****************/
73 /* Function 0x0c */
74 typedef enum {
75 DRSUAPI_DS_NAME_STATUS_OK = 0,
76 DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR = 1,
77 DRSUAPI_DS_NAME_STATUS_NOT_FOUND = 2,
78 DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE = 3,
79 DRSUAPI_DS_NAME_STATUS_NO_MAPPING = 4,
80 DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY = 5,
81 DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING = 6,
82 DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL = 7
83 } drsuapi_DsNameStatus;
85 typedef enum {
86 DRSUAPI_DS_NAME_FLAG_NO_FLAGS = 0x0,
87 DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY = 0x1,
88 DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC = 0x2,
89 DRSUAPI_DS_NAME_FLAG_GCVERIFY = 0x4,
90 DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL = 0x8
91 } drsuapi_DsNameFlags;
93 typedef enum {
94 DRSUAPI_DS_NAME_FORMAT_UKNOWN = 0,
95 DRSUAPI_DS_NAME_FORMAT_FQDN_1779 = 1,
96 DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT = 2,
97 DRSUAPI_DS_NAME_FORMAT_DISPLAY = 3,
98 DRSUAPI_DS_NAME_FORMAT_GUID = 6,
99 DRSUAPI_DS_NAME_FORMAT_CANONICAL = 7,
100 DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL = 8,
101 DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX = 9,
102 DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL = 10,
103 DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY = 11,
104 DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN = 12
105 } drsuapi_DsNameFormat;
107 typedef struct {
108 unistr *str;
109 } drsuapi_DsNameString;
111 typedef struct {
112 uint32 unknown1; /* 0x000004e4 */
113 uint32 unknown2; /* 0x00000407 */
114 uint32 format_flags;
115 uint32 format_offered;
116 uint32 format_desired;
117 [range(1,10000)] uint32 count;
118 [size_is(count)] drsuapi_DsNameString *names;
119 } drsuapi_DsNameRequest1;
121 typedef union {
122 [case(1)] drsuapi_DsNameRequest1 req1;
123 } drsuapi_DsNameRequest;
125 typedef struct {
126 uint32 status;
127 unistr *dns_domain_name;
128 unistr *result_name;
129 } drsuapi_DsNameInfo1;
131 typedef struct {
132 uint32 count;
133 [size_is(count)] drsuapi_DsNameInfo1 *array;
134 } drsuapi_DsNameCtr1;
136 typedef union {
137 [case(1)] drsuapi_DsNameCtr1 *ctr1;
138 } drsuapi_DsNameCtr;
140 NTSTATUS drsuapi_DsCrackNames(
141 [in,ref] policy_handle *bind_handle,
142 [in, out] uint32 level,
143 [in,switch_is(level)] drsuapi_DsNameRequest req,
144 [out,switch_is(level)] drsuapi_DsNameCtr ctr
147 /*****************/
148 /* Function 0x0d */
149 NTSTATUS DRSUAPI_WRITE_SPN();
151 /*****************/
152 /* Function 0x0e */
153 NTSTATUS DRSUAPI_REMOVE_DS_SERVER();
155 /*****************/
156 /* Function 0x0f */
157 NTSTATUS DRSUAPI_REMOVE_DS_DOMAIN();
159 /*****************/
160 /* Function 0x10 */
161 NTSTATUS DRSUAPI_DOMAIN_CONTROLLER_INFO();
163 /*****************/
164 /* Function 0x11 */
165 NTSTATUS DRSUAPI_ADD_ENTRY();
167 /*****************/
168 /* Function 0x12 */
169 NTSTATUS DRSUAPI_EXECUTE_KCC();
171 /*****************/
172 /* Function 0x13 */
173 NTSTATUS DRSUAPI_GET_REPL_INFO();
175 /*****************/
176 /* Function 0x14 */
177 NTSTATUS DRSUAPI_ADD_SID_HISTORY();
179 /*****************/
180 /* Function 0x15 */
181 NTSTATUS DRSUAPI_GET_MEMBERSHIPS2();
183 /*****************/
184 /* Function 0x16 */
185 NTSTATUS DRSUAPI_REPLICA_VERIFY_OBJECTS();
187 /*****************/
188 /* Function 0x17 */
189 NTSTATUS DRSUAPI_GET_OBJECT_EXISTENCE();
191 /*****************/
192 /* Function 0x18 */
193 NTSTATUS DRSUAPI_QUERY_SITES_BY_COST();