r2952: add idl and torture test for DsCrackNames
[samba.git] / source4 / librpc / idl / drsuapi.idl
1 #include "idl_types.h"
2
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
11 {
12         /*****************/
13         /* Function 0x00 */
14
15         typedef [flag(NDR_PAHEX)] struct {
16                 uint32 length;
17                 [size_is(length)] uint8 data[];
18         } drsuapi_BindInfo;
19
20         NTSTATUS drsuapi_DsBind(
21                 [in]        GUID *server_guid,
22                 [in]        uint32 unknown,
23                 [out]       drsuapi_BindInfo *info,
24                 [out,ref]   policy_handle *bind_handle
25                 );
26
27         /*****************/
28         /* Function 0x01 */
29         NTSTATUS drsuapi_DsUnbind(
30                 [in,out,ref] policy_handle *bind_handle
31                 );
32
33         /*****************/
34         /* Function 0x02 */
35         NTSTATUS DRSUAPI_REPLICA_SYNC();
36
37         /*****************/
38         /* Function 0x03 */
39         NTSTATUS DRSUAPI_GET_NC_CHANGES();
40
41         /*****************/
42         /* Function 0x04 */
43         NTSTATUS DRSUAPI_UPDATE_REFS();
44
45         /*****************/
46         /* Function 0x05 */
47         NTSTATUS DRSUAPI_REPLICA_ADD();
48
49         /*****************/
50         /* Function 0x06 */
51         NTSTATUS DRSUAPI_REPLICA_DEL();
52
53         /*****************/
54         /* Function 0x07 */
55         NTSTATUS DRSUAPI_REPLICA_MODIFY();
56
57         /*****************/
58         /* Function 0x08 */
59         NTSTATUS DRSUAPI_VERIFY_NAMES();
60
61         /*****************/
62         /* Function 0x09 */
63         NTSTATUS DRSUAPI_GET_MEMBERSHIPS();
64
65         /*****************/
66         /* Function 0x0a */
67         NTSTATUS DRSUAPI_INTER_DOMAIN_MOVE();
68
69         /*****************/
70         /* Function 0x0b */
71         NTSTATUS DRSUAPI_GET_NT4_CHANGELOG();
72
73         /*****************/
74         /* Function 0x0c */
75         typedef struct {
76                 unistr *str;
77         } drsuapi_DsCrackNamesInInfo1Names;
78
79         typedef struct {
80                 uint32 unknown1;
81                 uint32 unknown2;
82                 uint32 unknown3;
83                 uint32 unknown4;
84                 uint32 unknown5;
85                 [range(1,10000)] uint32 count;
86                 [size_is(count)] drsuapi_DsCrackNamesInInfo1Names *names;
87         } drsuapi_DsCrackNamesInInfo1;
88
89         typedef union {
90                 [case(1)] drsuapi_DsCrackNamesInInfo1 info1;
91         } drsuapi_DsCrackNamesInInfo;
92
93         typedef struct {
94                 uint32 unknown1;
95                 unistr *name1;
96                 unistr *name2;
97         } drsuapi_DsCrackNamesOutInfo1Names;
98
99         typedef struct {
100                 uint32 count;
101                 [size_is(count)] drsuapi_DsCrackNamesOutInfo1Names *names;
102         } drsuapi_DsCrackNamesOutInfo1;
103
104         typedef union {
105                 [case(1)] drsuapi_DsCrackNamesOutInfo1 *info1;
106         } drsuapi_DsCrackNamesOutInfo;
107
108         NTSTATUS drsuapi_DsCrackNames(
109                 [in,ref] policy_handle *bind_handle,
110                 [in, out] uint32 level,
111                 [in,switch_is(level)] drsuapi_DsCrackNamesInInfo in,
112                 [out,switch_is(level)] drsuapi_DsCrackNamesOutInfo out
113                 );
114
115         /*****************/
116         /* Function 0x0d */
117         NTSTATUS DRSUAPI_WRITE_SPN();
118
119         /*****************/
120         /* Function 0x0e */
121         NTSTATUS DRSUAPI_REMOVE_DS_SERVER();
122
123         /*****************/
124         /* Function 0x0f */
125         NTSTATUS DRSUAPI_REMOVE_DS_DOMAIN();
126
127         /*****************/
128         /* Function 0x10 */
129         NTSTATUS DRSUAPI_DOMAIN_CONTROLLER_INFO();
130
131         /*****************/
132         /* Function 0x11 */
133         NTSTATUS DRSUAPI_ADD_ENTRY();
134
135         /*****************/
136         /* Function 0x12 */
137         NTSTATUS DRSUAPI_EXECUTE_KCC();
138
139         /*****************/
140         /* Function 0x13 */
141         NTSTATUS DRSUAPI_GET_REPL_INFO();
142
143         /*****************/
144         /* Function 0x14 */
145         NTSTATUS DRSUAPI_ADD_SID_HISTORY();
146
147         /*****************/
148         /* Function 0x15 */
149         NTSTATUS DRSUAPI_GET_MEMBERSHIPS2();
150
151         /*****************/
152         /* Function 0x16 */
153         NTSTATUS DRSUAPI_REPLICA_VERIFY_OBJECTS();
154
155         /*****************/
156         /* Function 0x17 */
157         NTSTATUS DRSUAPI_GET_OBJECT_EXISTENCE();
158
159         /*****************/
160         /* Function 0x18 */
161         NTSTATUS DRSUAPI_QUERY_SITES_BY_COST();
162 }