aboutsummaryrefslogtreecommitdiffstats
path: root/tcc/include/winapi/dsgetdc.h
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2023-12-12 11:41:26 -0500
committerGravatar Peter McGoron 2023-12-12 11:41:26 -0500
commitff489bd82ff313bcfd7dc2ab585ed31cec909ebd (patch)
tree300e031693a5ddb990a32068ab0596382349aeea /tcc/include/winapi/dsgetdc.h
parentinit (diff)
fix software to compile properly on Windows XP x86
Diffstat (limited to 'tcc/include/winapi/dsgetdc.h')
-rw-r--r--tcc/include/winapi/dsgetdc.h121
1 files changed, 121 insertions, 0 deletions
diff --git a/tcc/include/winapi/dsgetdc.h b/tcc/include/winapi/dsgetdc.h
new file mode 100644
index 0000000..793cab2
--- /dev/null
+++ b/tcc/include/winapi/dsgetdc.h
@@ -0,0 +1,121 @@
+/*
+ * dsgetdc.h - Active Directory
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may use,
+ * modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+#ifndef _DSGETDC_H
+#define _DSGETDC_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*--- Active Directory Reference - Active Directory Structures - Directory Service Structures */
+#if (_WIN32_WINNT >= 0x0500)
+#define DS_FORCE_REDISCOVERY 0x00000001
+#define DS_DIRECTORY_SERVICE_REQUIRED 0x00000010
+#define DS_DIRECTORY_SERVICE_PREFERRED 0x00000020
+#define DS_GC_SERVER_REQUIRED 0x00000040
+#define DS_PDC_REQUIRED 0x00000080
+#define DS_BACKGROUND_ONLY 0x00000100
+#define DS_IP_REQUIRED 0x00000200
+#define DS_KDC_REQUIRED 0x00000400
+#define DS_TIMESERV_REQUIRED 0x00000800
+#define DS_WRITABLE_REQUIRED 0x00001000
+#define DS_GOOD_TIMESERV_PREFERRED 0x00002000
+#define DS_AVOID_SELF 0x00004000
+#define DS_ONLY_LDAP_NEEDED 0x00008000
+#define DS_IS_FLAT_NAME 0x00010000
+#define DS_IS_DNS_NAME 0x00020000
+#define DS_RETURN_DNS_NAME 0x40000000
+#define DS_RETURN_FLAT_NAME 0x80000000
+typedef struct _DOMAIN_CONTROLLER_INFOA {
+ LPSTR DomainControllerName;
+ LPSTR DomainControllerAddress;
+ ULONG DomainControllerAddressType;
+ GUID DomainGuid;
+ LPSTR DomainName;
+ LPSTR DnsForestName;
+ ULONG Flags;
+ LPSTR DcSiteName;
+ LPSTR ClientSiteName;
+} DOMAIN_CONTROLLER_INFOA,*PDOMAIN_CONTROLLER_INFOA;
+typedef struct _DOMAIN_CONTROLLER_INFOW {
+ LPWSTR DomainControllerName;
+ LPWSTR DomainControllerAddress;
+ ULONG DomainControllerAddressType;
+ GUID DomainGuid;
+ LPWSTR DomainName;
+ LPWSTR DnsForestName;
+ ULONG Flags;
+ LPWSTR DcSiteName;
+ LPWSTR ClientSiteName;
+} DOMAIN_CONTROLLER_INFOW,*PDOMAIN_CONTROLLER_INFOW;
+#define DS_INET_ADDRESS 0x0001
+#define DS_NETBIOS_ADDRESS 0x0002
+#define DS_PDC_FLAG 0x00000001
+#define DS_GC_FLAG 0x00000004
+#define DS_DS_FLAG 0x00000010
+#define DS_KDC_FLAG 0x00000020
+#define DS_TIMESERV_FLAG 0x00000040
+#define DS_WRITABLE_FLAG 0x00000100
+#define DS_DNS_CONTROLLER_FLAG 0x20000000
+#define DS_DNS_DOMAIN_FLAG 0x40000000
+#define DS_DNS_FOREST_FLAG 0x80000000
+typedef struct _DS_DOMAIN_TRUSTSA {
+ LPSTR NetbiosDomainName;
+ LPSTR DnsDomainName;
+ ULONG Flags;
+ ULONG ParentIndex;
+ ULONG TrustType;
+ ULONG TrustAttributes;
+ PSID DomainSid;
+ GUID DomainGuid;
+} DS_DOMAIN_TRUSTSA,*PDS_DOMAIN_TRUSTSA;
+typedef struct _DS_DOMAIN_TRUSTSW {
+ LPWSTR NetbiosDomainName;
+ LPWSTR DnsDomainName;
+ ULONG Flags;
+ ULONG ParentIndex;
+ ULONG TrustType;
+ ULONG TrustAttributes;
+ PSID DomainSid;
+ GUID DomainGuid;
+} DS_DOMAIN_TRUSTSW,*PDS_DOMAIN_TRUSTSW;
+#define DS_DOMAIN_IN_FOREST 0x0001
+#define DS_DOMAIN_DIRECT_OUTBOUND 0x0002
+#define DS_DOMAIN_TREE_ROOT 0x0004
+#define DS_DOMAIN_PRIMARY 0x0008
+#define DS_DOMAIN_NATIVE_MODE 0x0010
+#define DS_DOMAIN_DIRECT_INBOUND 0x0020
+
+DWORD WINAPI DsGetDcNameW(LPCWSTR, LPCWSTR, GUID*, LPCWSTR, ULONG, PDOMAIN_CONTROLLER_INFOW*);
+DWORD WINAPI DsGetDcNameA(LPCSTR, LPCSTR, GUID*, LPCSTR, ULONG, PDOMAIN_CONTROLLER_INFOA*);
+
+#ifdef UNICODE
+typedef DOMAIN_CONTROLLER_INFOW DOMAIN_CONTROLLER_INFO,*PDOMAIN_CONTROLLER_INFO;
+typedef DS_DOMAIN_TRUSTSW DS_DOMAIN_TRUSTS,*PDS_DOMAIN_TRUSTS;
+#define DsGetDcName DsGetDcNameW
+#else
+typedef DOMAIN_CONTROLLER_INFOA DOMAIN_CONTROLLER_INFO,*PDOMAIN_CONTROLLER_INFO;
+typedef DS_DOMAIN_TRUSTSA DS_DOMAIN_TRUSTS,*PDS_DOMAIN_TRUSTS;
+#define DsGetDcName DsGetDcNameA
+#endif
+#endif /* (_WIN32_WINNT >= 0x0500) */
+
+#ifdef __cplusplus
+}
+#endif
+#endif