2 * This file and its contents are supplied under the terms of the
3 * Common Development and Distribution License ("CDDL"), version 1.0.
4 * You may only use this file in accordance with the terms of version
7 * A full copy of the text of the CDDL should have accompanied this
8 * source. A copy of the CDDL is also available via the Internet at
9 * http://www.illumos.org/license/CDDL.
13 % * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
18 % * Active Directory Services (ADS) Private interface between
19 % * libads and the ADS deamon. (RPC over doors)
24 % * Declarations for the ADS API
30 % * Server side stubs for the ADS API
36 % * Client side stubs for the ADS API
41 % * XDR routines for the ADS API
45 const ADSPRIV_MAX_XFER = 16384;
46 const ADSPRIV_GUID_LEN = 16;
47 const ADSPRIV_SOCKADDR_LEN = 256;
48 const ADSPRIV_STR_MAX = 256;
50 typedef opaque adspriv_guid[ADSPRIV_GUID_LEN];
51 typedef opaque adspriv_sockaddr[ADSPRIV_SOCKADDR_LEN];
54 * Structure returned from DsGetDcName
55 * NB: Keep same as DOMAIN_CONTROLLER_INFO
57 struct adspriv_dcinfo {
58 string dci_DcName<ADSPRIV_STR_MAX>;
59 string dci_DcAddr<ADSPRIV_STR_MAX>;
60 unsigned int dci_AddrType;
61 adspriv_guid dci_guid;
62 string dci_DomainName<ADSPRIV_STR_MAX>;
63 string dci_DnsForestName<ADSPRIV_STR_MAX>;
64 unsigned int dci_Flags;
65 string dci_DcSiteName<ADSPRIV_STR_MAX>;
66 string dci_ClientSiteName<ADSPRIV_STR_MAX>;
67 adspriv_sockaddr dci_sockaddr;
71 * DsForceRediscovery args
73 struct DsForceRediscoveryArgs {
75 string DomainName<ADSPRIV_STR_MAX>;
79 * DsGetDcName args, result
81 struct DsGetDcNameArgs {
82 string ComputerName<ADSPRIV_STR_MAX>;
83 string DomainName<ADSPRIV_STR_MAX>;
84 string DomainGuid<ADSPRIV_STR_MAX>;
85 string SiteName<ADSPRIV_STR_MAX>;
89 union DsGetDcNameRes switch (int status) {
96 program ADSPRIV_PROGRAM {
99 ADSPRIV_NULL(void) = 0;
102 ADSPRIV_ForceRediscovery(DsForceRediscoveryArgs) = 1;
105 ADSPRIV_GetDcName(DsGetDcNameArgs) = 2;