Reactos
1#ifndef _DSGETDC_H
2#define _DSGETDC_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8#define DS_DOMAIN_IN_FOREST 0x01
9#define DS_DOMAIN_DIRECT_OUTBOUND 0x02
10#define DS_DOMAIN_TREE_ROOT 0x04
11#define DS_DOMAIN_PRIMARY 0x08
12#define DS_DOMAIN_NATIVE_MODE 0x10
13#define DS_DOMAIN_DIRECT_INBOUND 0x20
14
15typedef struct _DOMAIN_CONTROLLER_INFOA
16{
17 LPSTR DomainControllerName;
18 LPSTR DomainControllerAddress;
19 ULONG DomainControllerAddressType;
20 GUID DomainGuid;
21 LPSTR DomainName;
22 LPSTR DnsForestName;
23 ULONG Flags;
24 LPSTR DcSiteName;
25 LPSTR ClientSiteName;
26} DOMAIN_CONTROLLER_INFOA, *PDOMAIN_CONTROLLER_INFOA;
27
28typedef struct _DOMAIN_CONTROLLER_INFOW
29{
30 LPWSTR DomainControllerName;
31 LPWSTR DomainControllerAddress;
32 ULONG DomainControllerAddressType;
33 GUID DomainGuid;
34 LPWSTR DomainName;
35 LPWSTR DnsForestName;
36 ULONG Flags;
37 LPWSTR DcSiteName;
38 LPWSTR ClientSiteName;
39} DOMAIN_CONTROLLER_INFOW, *PDOMAIN_CONTROLLER_INFOW;
40
41typedef struct _DS_DOMAIN_TRUSTSA
42{
43 LPSTR NetbiosDomainName;
44 LPSTR DnsDomainName;
45 ULONG Flags;
46 ULONG ParentIndex;
47 ULONG TrustType;
48 ULONG TrustAttributes;
49 PSID DomainSid;
50 GUID DomainGuid;
51} DS_DOMAIN_TRUSTSA, *PDS_DOMAIN_TRUSTSA;
52
53typedef struct _DS_DOMAIN_TRUSTSW
54{
55 LPWSTR NetbiosDomainName;
56 LPWSTR DnsDomainName;
57 ULONG Flags;
58 ULONG ParentIndex;
59 ULONG TrustType;
60 ULONG TrustAttributes;
61 PSID DomainSid;
62 GUID DomainGuid;
63} DS_DOMAIN_TRUSTSW, *PDS_DOMAIN_TRUSTSW;
64
65DWORD WINAPI
66DsAddressToSiteNamesA(
67 LPCSTR ComputerName,
68 DWORD EntryCount,
69 PSOCKET_ADDRESS SocketAddresses,
70 LPSTR **SiteNames);
71
72DWORD WINAPI
73DsAddressToSiteNamesW(
74 LPCWSTR ComputerName,
75 DWORD EntryCount,
76 PSOCKET_ADDRESS SocketAddresses,
77 LPWSTR **SiteNames);
78
79DWORD WINAPI
80DsAddressToSiteNamesExA(
81 LPCSTR ComputerName,
82 DWORD EntryCount,
83 PSOCKET_ADDRESS SocketAddresses,
84 LPSTR **SiteNames,
85 LPSTR **SubnetNames);
86
87DWORD WINAPI
88DsAddressToSiteNamesExW(
89 LPCWSTR ComputerName,
90 DWORD EntryCount,
91 PSOCKET_ADDRESS SocketAddresses,
92 LPWSTR **SiteNames,
93 LPWSTR **SubnetNames);
94
95DWORD WINAPI
96DsDeregisterDnsHostRecordsA(
97 LPSTR ServerName,
98 LPSTR DnsDomainName,
99 GUID *DomainGuid,
100 GUID *DsaGuid,
101 LPSTR DnsHostName);
102
103DWORD WINAPI
104DsDeregisterDnsHostRecordsW(
105 LPWSTR ServerName,
106 LPWSTR DnsDomainName,
107 GUID *DomainGuid,
108 GUID *DsaGuid,
109 LPWSTR DnsHostName);
110
111DWORD WINAPI
112DsEnumerateDomainTrustsA(
113 LPSTR ServerName,
114 ULONG Flags,
115 PDS_DOMAIN_TRUSTSA* Domains,
116 PULONG DomainCount);
117
118DWORD WINAPI
119DsEnumerateDomainTrustsW(
120 LPWSTR ServerName,
121 ULONG Flags,
122 PDS_DOMAIN_TRUSTSW* Domains,
123 PULONG DomainCount);
124
125DWORD WINAPI
126DsGetDcNameA(
127 LPCSTR ComputerName,
128 LPCSTR DomainName,
129 GUID* DomainGuid,
130 LPCSTR SiteName,
131 ULONG Flags,
132 PDOMAIN_CONTROLLER_INFOA* DomainControllerInfo);
133
134DWORD WINAPI
135DsGetDcNameW(
136 LPCWSTR ComputerName,
137 LPCWSTR DomainName,
138 GUID* DomainGuid,
139 LPCWSTR SiteName,
140 ULONG Flags,
141 PDOMAIN_CONTROLLER_INFOW* DomainControllerInfo);
142
143DWORD WINAPI
144DsGetDcSiteCoverageA(
145 LPCSTR ServerName,
146 PULONG EntryCount,
147 LPSTR **SiteNames);
148
149DWORD WINAPI
150DsGetDcSiteCoverageW(
151 LPCWSTR ServerName,
152 PULONG EntryCount,
153 LPWSTR **SiteNames);
154
155DWORD WINAPI
156DsGetForestTrustInformationW(
157 LPCWSTR ServerName,
158 LPCWSTR TrustedDomainName,
159 DWORD Flags,
160 PLSA_FOREST_TRUST_INFORMATION *ForestTrustInfo);
161
162DWORD WINAPI
163DsGetSiteNameA(
164 LPCSTR ComputerName,
165 LPSTR *SiteName);
166
167DWORD WINAPI
168DsGetSiteNameW(
169 LPCWSTR ComputerName,
170 LPWSTR *SiteName);
171
172DWORD WINAPI
173DsMergeForestTrustInformationW(
174 LPCWSTR DomainName,
175 PLSA_FOREST_TRUST_INFORMATION NewForestTrustInfo,
176 PLSA_FOREST_TRUST_INFORMATION OldForestTrustInfo,
177 PLSA_FOREST_TRUST_INFORMATION *ForestTrustInfo);
178
179DWORD WINAPI
180DsValidateSubnetNameA(
181 LPCSTR SubnetName);
182
183DWORD WINAPI
184DsValidateSubnetNameW(
185 LPCWSTR SubnetName);
186
187#ifdef UNICODE
188typedef DOMAIN_CONTROLLER_INFOW DOMAIN_CONTROLLER_INFO, *PDOMAIN_CONTROLLER_INFO;
189typedef DS_DOMAIN_TRUSTSW DS_DOMAIN_TRUSTS, *PDS_DOMAIN_TRUSTS;
190#define DsAddressToSiteNames DsAddressToSiteNamesW
191#define DsAddressToSiteNamesEx DsAddressToSiteNamesExW
192#define DsEnumerateDomainTrusts DsEnumerateDomainTrustsW
193#define DsGetDcName DsGetDcNameW
194#define DsGetDcSiteCoverage DsGetDcSiteCoverageW
195#define DsGetSiteName DsGetSiteNameW
196#define DsValidateSubnetName DsValidateSubnetNameW
197#else
198typedef DOMAIN_CONTROLLER_INFOA DOMAIN_CONTROLLER_INFO, *PDOMAIN_CONTROLLER_INFO;
199typedef DS_DOMAIN_TRUSTSA DS_DOMAIN_TRUSTS, *PDS_DOMAIN_TRUSTS;
200#define DsAddressToSiteNames DsAddressToSiteNamesA
201#define DsAddressToSiteNamesEx DsAddressToSiteNamesExA
202#define DsEnumerateDomainTrusts DsEnumerateDomainTrustsA
203#define DsGetDcName DsGetDcNameA
204#define DsGetDcSiteCoverage DsGetDcSiteCoverageA
205#define DsGetSiteName DsGetSiteNameA
206#define DsValidateSubnetName DsValidateSubnetNameA
207#endif
208
209#ifdef __cplusplus
210}
211#endif
212#endif