f9bccb87c5cb3afb2f086ebf6b87be793cfa6c8f
[metze/samba/wip.git] / source4 / librpc / idl / winbind.idl
1 /*
2   winbind IRPC interface
3 */
4
5 #include "idl_types.h"
6
7 import "netlogon.idl", "lsa.idl", "security.idl", "idmap.idl";
8
9 [
10   uuid("245f3e6b-3c5d-6e21-3a2d-2a3d645b7221"),
11   version(1.0),
12   pointer_default(unique)
13 ]
14 interface winbind
15 {
16         typedef [switch_type(uint16)] union netr_LogonLevel netr_LogonLevel;
17         typedef [switch_type(uint16)] union netr_Validation netr_Validation;
18
19         /* a call to get runtime informations */
20         void winbind_information(/* TODO */);
21
22         /* 
23          * a call to trigger some internal events,
24          * for use in torture tests...
25          */
26         NTSTATUS winbind_remote_control(/* TODO */);
27
28         /*
29          * do a netr_LogonSamLogon() against the right DC
30          */
31         NTSTATUS winbind_SamLogon(
32                 [in]  uint16 logon_level,
33                 [in]  [switch_is(logon_level)] netr_LogonLevel logon,
34                 [in]  uint16 validation_level,
35                 [out] [switch_is(validation_level)] netr_Validation validation,
36                 [out] uint8 authoritative
37         );
38
39         typedef [v1_enum] enum {
40                 WINBIND_IDMAP_LEVEL_SIDS_TO_XIDS        = 1,
41                 WINBIND_IDMAP_LEVEL_XIDS_TO_SIDS        = 2
42         } winbind_get_idmap_level;
43
44         NTSTATUS winbind_get_idmap(
45                 [in]     winbind_get_idmap_level level,
46                 [in]     uint32 count,
47                 [in,out] [size_is(count)] id_map ids[]
48         );
49
50         NTSTATUS winbind_DsrUpdateReadOnlyServerDnsRecords(
51                 [in,unique] [string,charset(UTF16)] uint16 *site_name,
52                 [in] uint32 dns_ttl,
53                 [in,out,ref] NL_DNS_NAME_INFO_ARRAY *dns_names
54                 );
55 }