1 // Copyright © 2015, skdltmxn
2 // Licensed under the MIT License <LICENSE.md>
3 //! This file contains structures, function prototypes, and definitions for the DsGetDcName API.
4 pub const DS_FORCE_REDISCOVERY
: ::ULONG
= 0x00000001;
5 pub const DS_DIRECTORY_SERVICE_REQUIRED
: ::ULONG
= 0x00000010;
6 pub const DS_DIRECTORY_SERVICE_PREFERRED
: ::ULONG
= 0x00000020;
7 pub const DS_GC_SERVER_REQUIRED
: ::ULONG
= 0x00000040;
8 pub const DS_PDC_REQUIRED
: ::ULONG
= 0x00000080;
9 pub const DS_BACKGROUND_ONLY
: ::ULONG
= 0x00000100;
10 pub const DS_IP_REQUIRED
: ::ULONG
= 0x00000200;
11 pub const DS_KDC_REQUIRED
: ::ULONG
= 0x00000400;
12 pub const DS_TIMESERV_REQUIRED
: ::ULONG
= 0x00000800;
13 pub const DS_WRITABLE_REQUIRED
: ::ULONG
= 0x00001000;
14 pub const DS_GOOD_TIMESERV_PREFERRED
: ::ULONG
= 0x00002000;
15 pub const DS_AVOID_SELF
: ::ULONG
= 0x00004000;
16 pub const DS_ONLY_LDAP_NEEDED
: ::ULONG
= 0x00008000;
17 pub const DS_IS_FLAT_NAME
: ::ULONG
= 0x00010000;
18 pub const DS_IS_DNS_NAME
: ::ULONG
= 0x00020000;
19 pub const DS_TRY_NEXTCLOSEST_SITE
: ::ULONG
= 0x00040000;
20 pub const DS_DIRECTORY_SERVICE_6_REQUIRED
: ::ULONG
= 0x00080000;
21 pub const DS_WEB_SERVICE_REQUIRED
: ::ULONG
= 0x00100000;
22 pub const DS_DIRECTORY_SERVICE_8_REQUIRED
: ::ULONG
= 0x00200000;
23 pub const DS_DIRECTORY_SERVICE_9_REQUIRED
: ::ULONG
= 0x00400000;
24 pub const DS_RETURN_DNS_NAME
: ::ULONG
= 0x40000000;
25 pub const DS_RETURN_FLAT_NAME
: ::ULONG
= 0x80000000;
26 pub const DSGETDC_VALID_FLAGS
: ::ULONG
= DS_FORCE_REDISCOVERY
| DS_DIRECTORY_SERVICE_REQUIRED
27 | DS_DIRECTORY_SERVICE_PREFERRED
| DS_GC_SERVER_REQUIRED
| DS_PDC_REQUIRED
| DS_BACKGROUND_ONLY
28 | DS_IP_REQUIRED
| DS_KDC_REQUIRED
| DS_TIMESERV_REQUIRED
| DS_WRITABLE_REQUIRED
29 | DS_GOOD_TIMESERV_PREFERRED
| DS_AVOID_SELF
| DS_ONLY_LDAP_NEEDED
| DS_IS_FLAT_NAME
30 | DS_IS_DNS_NAME
| DS_TRY_NEXTCLOSEST_SITE
| DS_DIRECTORY_SERVICE_6_REQUIRED
31 | DS_DIRECTORY_SERVICE_8_REQUIRED
| DS_DIRECTORY_SERVICE_9_REQUIRED
| DS_WEB_SERVICE_REQUIRED
32 | DS_RETURN_FLAT_NAME
| DS_RETURN_DNS_NAME
;
33 STRUCT
!{struct DOMAIN_CONTROLLER_INFOA
{
34 DomainControllerName
: ::LPSTR
,
35 DomainControllerAddress
: ::LPSTR
,
36 DomainControllerAddressType
: ::ULONG
,
39 DnsForestName
: ::LPSTR
,
42 ClientSiteName
: ::LPSTR
,
44 pub type PDOMAIN_CONTROLLER_INFOA
= *mut DOMAIN_CONTROLLER_INFOA
;
45 STRUCT
!{struct DOMAIN_CONTROLLER_INFOW
{
46 DomainControllerName
: ::LPWSTR
,
47 DomainControllerAddress
: ::LPWSTR
,
48 DomainControllerAddressType
: ::ULONG
,
51 DnsForestName
: ::LPWSTR
,
54 ClientSiteName
: ::LPWSTR
,
56 pub type PDOMAIN_CONTROLLER_INFOW
= *mut DOMAIN_CONTROLLER_INFOW
;
57 pub const DS_INET_ADDRESS
: ::ULONG
= 1;
58 pub const DS_NETBIOS_ADDRESS
: ::ULONG
= 2;
59 pub const DS_PDC_FLAG
: ::ULONG
= 0x00000001;
60 pub const DS_GC_FLAG
: ::ULONG
= 0x00000004;
61 pub const DS_LDAP_FLAG
: ::ULONG
= 0x00000008;
62 pub const DS_DS_FLAG
: ::ULONG
= 0x00000010;
63 pub const DS_KDC_FLAG
: ::ULONG
= 0x00000020;
64 pub const DS_TIMESERV_FLAG
: ::ULONG
= 0x00000040;
65 pub const DS_CLOSEST_FLAG
: ::ULONG
= 0x00000080;
66 pub const DS_WRITABLE_FLAG
: ::ULONG
= 0x00000100;
67 pub const DS_GOOD_TIMESERV_FLAG
: ::ULONG
= 0x00000200;
68 pub const DS_NDNC_FLAG
: ::ULONG
= 0x00000400;
69 pub const DS_SELECT_SECRET_DOMAIN_6_FLAG
: ::ULONG
= 0x00000800;
70 pub const DS_FULL_SECRET_DOMAIN_6_FLAG
: ::ULONG
= 0x00001000;
71 pub const DS_WS_FLAG
: ::ULONG
= 0x00002000;
72 pub const DS_DS_8_FLAG
: ::ULONG
= 0x00004000;
73 pub const DS_DS_9_FLAG
: ::ULONG
= 0x00008000;
74 pub const DS_PING_FLAGS
: ::ULONG
= 0x000FFFFF;
75 pub const DS_DNS_CONTROLLER_FLAG
: ::ULONG
= 0x20000000;
76 pub const DS_DNS_DOMAIN_FLAG
: ::ULONG
= 0x40000000;
77 pub const DS_DNS_FOREST_FLAG
: ::ULONG
= 0x80000000;
78 pub const DS_DOMAIN_IN_FOREST
: ::ULONG
= 0x0001;
79 pub const DS_DOMAIN_DIRECT_OUTBOUND
: ::ULONG
= 0x0002;
80 pub const DS_DOMAIN_TREE_ROOT
: ::ULONG
= 0x0004;
81 pub const DS_DOMAIN_PRIMARY
: ::ULONG
= 0x0008;
82 pub const DS_DOMAIN_NATIVE_MODE
: ::ULONG
= 0x0010;
83 pub const DS_DOMAIN_DIRECT_INBOUND
: ::ULONG
= 0x0020;
84 pub const DS_DOMAIN_VALID_FLAGS
: ::ULONG
= DS_DOMAIN_IN_FOREST
| DS_DOMAIN_DIRECT_OUTBOUND
85 | DS_DOMAIN_TREE_ROOT
| DS_DOMAIN_PRIMARY
| DS_DOMAIN_NATIVE_MODE
| DS_DOMAIN_DIRECT_INBOUND
;
86 STRUCT
!{struct DS_DOMAIN_TRUSTSW
{
87 NetbiosDomainName
: ::LPWSTR
,
88 DnsDomainName
: ::LPWSTR
,
92 TrustAttributes
: ::ULONG
,
96 pub type PDS_DOMAIN_TRUSTSW
= *mut DS_DOMAIN_TRUSTSW
;
97 STRUCT
!{struct DS_DOMAIN_TRUSTSA
{
98 NetbiosDomainName
: ::LPSTR
,
99 DnsDomainName
: ::LPSTR
,
101 ParentIndex
: ::ULONG
,
103 TrustAttributes
: ::ULONG
,
107 pub type PDS_DOMAIN_TRUSTSA
= *mut DS_DOMAIN_TRUSTSA
;
108 pub const DS_ONLY_DO_SITE_NAME
: ::ULONG
= 0x01;
109 pub const DS_NOTIFY_AFTER_SITE_RECORDS
: ::ULONG
= 0x02;
110 pub const DS_OPEN_VALID_OPTION_FLAGS
: ::ULONG
= DS_ONLY_DO_SITE_NAME
111 | DS_NOTIFY_AFTER_SITE_RECORDS
;
112 pub const DS_OPEN_VALID_FLAGS
: ::ULONG
= DS_FORCE_REDISCOVERY
| DS_ONLY_LDAP_NEEDED
113 | DS_KDC_REQUIRED
| DS_PDC_REQUIRED
| DS_GC_SERVER_REQUIRED
| DS_WRITABLE_REQUIRED
;