/* winbind IRPC interface */ #include "idl_types.h" import "netlogon.idl", "lsa.idl", "security.idl", "idmap.idl"; [ uuid("245f3e6b-3c5d-6e21-3a2d-2a3d645b7221"), version(1.0), pointer_default(unique) ] interface winbind { typedef [switch_type(uint16)] union netr_LogonLevel netr_LogonLevel; typedef [switch_type(uint16)] union netr_Validation netr_Validation; /* a call to get runtime informations */ void winbind_information(/* TODO */); /* * a call to trigger some internal events, * for use in torture tests... */ NTSTATUS winbind_remote_control(/* TODO */); /* * do a netr_LogonSamLogon() against the right DC */ NTSTATUS winbind_SamLogon( [in] uint16 logon_level, [in] [switch_is(logon_level)] netr_LogonLevel logon, [in] uint16 validation_level, [out] [switch_is(validation_level)] netr_Validation validation, [out] uint8 authoritative ); typedef [v1_enum] enum { WINBIND_IDMAP_LEVEL_SIDS_TO_XIDS = 1, WINBIND_IDMAP_LEVEL_XIDS_TO_SIDS = 2 } winbind_get_idmap_level; NTSTATUS winbind_get_idmap( [in] winbind_get_idmap_level level, [in] uint32 count, [in,out] [size_is(count)] id_map ids[] ); NTSTATUS winbind_DsrUpdateReadOnlyServerDnsRecords( [in,unique] [string,charset(UTF16)] uint16 *site_name, [in] uint32 dns_ttl, [in,out,ref] NL_DNS_NAME_INFO_ARRAY *dns_names ); }