Add DsGetDCName call to libnetapi.idl.
[ira/wip.git] / source3 / librpc / idl / libnetapi.idl
1 /*
2   libnetapi interface definition
3 */
4
5 cpp_quote("#define LIBNETAPI_LOCAL_SERVER(x) (!x || is_myname_or_ipaddr(x))")
6
7 [
8         pointer_default(unique)
9 ]
10 interface libnetapi
11 {
12         [public] typedef [v1_enum] enum {
13                 NERR_Success=0
14         } NET_API_STATUS;
15
16         [nopush,nopull] NET_API_STATUS NetJoinDomain(
17                 [in,unique] string *server,
18                 [in,ref] string *domain,
19                 [in,unique] string *account_ou,
20                 [in,unique] string *account,
21                 [in,unique] string *password,
22                 [in] uint32 join_flags
23                 );
24
25         [nopush,nopull] NET_API_STATUS NetUnjoinDomain(
26                 [in,unique] string *server_name,
27                 [in,unique] string *account,
28                 [in,unique] string *password,
29                 [in] uint32 unjoin_flags
30                 );
31
32         [nopush,nopull] NET_API_STATUS NetGetJoinInformation(
33                 [in,unique] string *server_name,
34                 [out] string **name_buffer,
35                 [out] uint16 *name_type
36                 );
37
38         [nopush,nopull] NET_API_STATUS NetGetJoinableOUs(
39                 [in,unique] string *server_name,
40                 [in,ref] string *domain,
41                 [in,unique] string *account,
42                 [in,unique] string *password,
43                 [out] uint32 *ou_count,
44                 [out] string ***ous
45                 );
46
47         [nopush,nopull] NET_API_STATUS NetServerGetInfo(
48                 [in,unique] string *server_name,
49                 [in] uint32 level,
50                 [out] uint8 **buffer
51                 );
52
53         [nopush,nopull] NET_API_STATUS NetServerSetInfo(
54                 [in,unique] string *server_name,
55                 [in] uint32 level,
56                 [in] uint8 *buffer,
57                 [out] uint32 *parm_error
58                 );
59
60         [nopush,nopull] NET_API_STATUS NetGetDCName(
61                 [in,unique] string *server_name,
62                 [in,unique] string *domain_name,
63                 [out] uint8 **buffer
64                 );
65
66         [nopush,nopull] NET_API_STATUS NetGetAnyDCName(
67                 [in,unique] string *server_name,
68                 [in,unique] string *domain_name,
69                 [out] uint8 **buffer
70                 );
71
72         [public] typedef struct {
73                 string domain_controller_name;
74                 string domain_controller_address;
75                 uint32 domain_controller_address_type;
76                 GUID domain_guid;
77                 string domain_name;
78                 string dns_forest_name;
79                 uint32 flags;
80                 string dc_site_name;
81                 string client_site_name;
82         } DOMAIN_CONTROLLER_INFO;
83
84         [nopush,nopull] NET_API_STATUS DsGetDcName(
85                 [in,unique] string *server_name,
86                 [in,ref] string *domain_name,
87                 [in,unique] GUID *domain_guid,
88                 [in,unique] string *site_name,
89                 [in] uint32 flags,
90                 [out,ref] DOMAIN_CONTROLLER_INFO **dc_info
91                 );
92
93 }