This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/dsgetdc.h

241 lines
9.9 KiB
C
Raw Normal View History

/*
* dsgetdc.h Directory service domain controller functions
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef _DSGETDC_
#define _DSGETDC_
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* Domain to specify domain controller functions */
#define DSGETDCAPI DECLSPEC_IMPORT
/* DsGetDcName() flags */
#define DS_FORCE_REDISCOVERY 0x00000001L
#define DS_DIRECTORY_SERVICE_REQUIRED 0x00000010L
#define DS_DIRECTORY_SERVICE_PREFERRED 0x00000020L
#define DS_GC_SERVER_REQUIRED 0x00000040L
#define DS_PDC_REQUIRED 0x00000080L
#define DS_BACKGROUND_ONLY 0x00000100L
#define DS_IP_REQUIRED 0x00000200L
#define DS_KDC_REQUIRED 0x00000400L
#define DS_TIMESERV_REQUIRED 0x00000800L
#define DS_WRITABLE_REQUIRED 0x00001000L
#define DS_GOOD_TIMESERV_PREFERRED 0x00002000L
#define DS_AVOID_SELF 0x00004000L
#define DS_ONLY_LDAP_NEEDED 0x00008000L
#define DS_IS_FLAT_NAME 0x00010000L
#define DS_IS_DNS_NAME 0x00020000L
#define DS_TRY_NEXTCLOSEST_SITE 0x00040000L
#define DS_DIRECTORY_SERVICE_6_REQUIRED 0x00080000L
#define DS_WEB_SERVICE_REQUIRED 0x00100000L
#define DS_RETURN_DNS_NAME 0x40000000L
#define DS_RETURN_FLAT_NAME 0x80000000L
#define DSGETDC_VALID_FLAGS \
(DS_FORCE_REDISCOVERY | DS_DIRECTORY_SERVICE_REQUIRED | \
DS_DIRECTORY_SERVICE_PREFERRED | DS_GC_SERVER_REQUIRED | DS_PDC_REQUIRED | \
DS_BACKGROUND_ONLY | DS_IP_REQUIRED | DS_KDC_REQUIRED | DS_TIMESERV_REQUIRED | \
DS_WRITABLE_REQUIRED | DS_GOOD_TIMESERV_PREFERRED | DS_AVOID_SELF | \
DS_ONLY_LDAP_NEEDED | DS_IS_FLAT_NAME | DS_IS_DNS_NAME | DS_TRY_NEXTCLOSEST_SITE | \
DS_DIRECTORY_SERVICE_6_REQUIRED | DS_WEB_SERVICE_REQUIRED | DS_RETURN_FLAT_NAME | \
DS_RETURN_DNS_NAME)
/* Domain controller address types */
#define DS_INET_ADDRESS 1
#define DS_NETBIOS_ADDRESS 2
/* DsGetDcName() return flags */
#define DS_PDC_FLAG 0x00000001L
#define DS_GC_FLAG 0x00000004L
#define DS_LDAP_FLAG 0x00000008L
#define DS_DS_FLAG 0x00000010L
#define DS_KDC_FLAG 0x00000020L
#define DS_TIMESERV_FLAG 0x00000040L
#define DS_CLOSEST_FLAG 0x00000080L
#define DS_WRITABLE_FLAG 0x00000100L
#define DS_GOOD_TIMESERV_FLAG 0x00000200L
#define DS_NDNC_FLAG 0x00000400L
#define DS_SELECT_SECRET_DOMAIN_6_FLAG 0x00000800L
#define DS_FULL_SECRET_DOMAIN_6_FLAG 0x00001000L
#define DS_WS_FLAG 0x00002000L
#define DS_PING_FLAGS 0x000FFFFFL
#define DS_DNS_CONTROLLER_FLAG 0x20000000L
#define DS_DNS_DOMAIN_FLAG 0x40000000L
#define DS_DNS_FOREST_FLAG 0x80000000L
/* Domain trust flags */
#define DS_DOMAIN_IN_FOREST 0x00000001L
#define DS_DOMAIN_DIRECT_OUTBOUND 0x00000002L
#define DS_DOMAIN_TREE_ROOT 0x00000004L
#define DS_DOMAIN_PRIMARY 0x00000008L
#define DS_DOMAIN_NATIVE_MODE 0x00000010L
#define DS_DOMAIN_DIRECT_INBOUND 0x00000020L
#define DS_DOMAIN_VALID_FLAGS \
(DS_DOMAIN_IN_FOREST | DS_DOMAIN_DIRECT_OUTBOUND | DS_DOMAIN_TREE_ROOT | \
DS_DOMAIN_PRIMARY | DS_DOMAIN_NATIVE_MODE | DS_DOMAIN_DIRECT_INBOUND)
/* DsGetForestTrustInformation() flags */
#ifdef _NTSECAPI_
#define DS_GFTI_UPDATE_TDO 0x00000001L
#define DS_GFTI_VALID_FLAGS 0x00000001L
#endif
/* DsGetDcOpen() flags */
#ifdef _WINSOCK2API_
#define DS_ONLY_DO_SITE_NAME 0x00000001L
#define DS_NOTIFY_AFTER_SITE_RECORDS 0x00000002L
#define DS_OPEN_VALID_OPTION_FLAGS \
(DS_ONLY_DO_SITE_NAME | DS_NOTIFY_AFTER_SITE_RECORDS)
#define DS_OPEN_VALID_FLAGS \
(DS_FORCE_REDISCOVERY | DS_ONLY_LDAP_NEEDED | DS_KDC_REQUIRED | \
DS_PDC_REQUIRED | DS_GC_SERVER_REQUIRED | DS_WRITABLE_REQUIRED)
#endif
/* Domain controller information */
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;
typedef 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;
typedef DOMAIN_CONTROLLER_INFOW *PDOMAIN_CONTROLLER_INFOW;
#ifdef UNICODE
typedef DOMAIN_CONTROLLER_INFOW DOMAIN_CONTROLLER_INFO;
typedef PDOMAIN_CONTROLLER_INFOW PDOMAIN_CONTROLLER_INFO;
#else
typedef DOMAIN_CONTROLLER_INFOA DOMAIN_CONTROLLER_INFO;
typedef PDOMAIN_CONTROLLER_INFOA PDOMAIN_CONTROLLER_INFO;
#endif
/* Directory Service domain trusts */
typedef struct _DS_DOMAIN_TRUSTSA {
LPSTR NetbiosDomainName;
LPSTR DnsDomainName;
ULONG Flags;
ULONG ParentIndex;
ULONG TrustType;
ULONG TrustAttributes;
PSID DomainSid;
GUID DomainGuid;
} DS_DOMAIN_TRUSTSA;
typedef 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;
typedef DS_DOMAIN_TRUSTSW *PDS_DOMAIN_TRUSTSW;
#ifdef UNICODE
typedef DS_DOMAIN_TRUSTSW DS_DOMAIN_TRUSTS;
typedef PDS_DOMAIN_TRUSTSW PDS_DOMAIN_TRUSTS;
#else
typedef DS_DOMAIN_TRUSTSA DS_DOMAIN_TRUSTS;
typedef PDS_DOMAIN_TRUSTSA PDS_DOMAIN_TRUSTS;
#endif
/* Functions in NETAPI32.DLL */
DSGETDCAPI DWORD WINAPI DsDeregisterDnsHostRecordsA( LPSTR, LPSTR, GUID *, GUID *, LPSTR );
DSGETDCAPI DWORD WINAPI DsDeregisterDnsHostRecordsW( LPWSTR, LPWSTR, GUID *, GUID *, LPWSTR );
DSGETDCAPI DWORD WINAPI DsEnumerateDomainTrustsA( LPSTR, ULONG, PDS_DOMAIN_TRUSTSA *, PULONG );
DSGETDCAPI DWORD WINAPI DsEnumerateDomainTrustsW( LPWSTR, ULONG, PDS_DOMAIN_TRUSTSW *, PULONG );
DSGETDCAPI DWORD WINAPI DsGetDcNameA( LPCSTR, LPCSTR, GUID *, LPCSTR, ULONG, PDOMAIN_CONTROLLER_INFOA * );
DSGETDCAPI DWORD WINAPI DsGetDcNameW( LPCWSTR, LPCWSTR, GUID *, LPCWSTR, ULONG, PDOMAIN_CONTROLLER_INFOW * );
DSGETDCAPI DWORD WINAPI DsGetDcSiteCoverageA( LPCSTR, PULONG, LPSTR ** );
DSGETDCAPI DWORD WINAPI DsGetDcSiteCoverageW( LPCWSTR, PULONG, LPWSTR ** );
DSGETDCAPI DWORD WINAPI DsGetSiteNameA( LPCSTR, LPSTR * );
DSGETDCAPI DWORD WINAPI DsGetSiteNameW( LPCWSTR, LPWSTR * );
DSGETDCAPI DWORD WINAPI DsValidateSubnetNameA( LPCSTR );
DSGETDCAPI DWORD WINAPI DsValidateSubnetNameW( LPCWSTR );
#ifdef _NTSECAPI_
DSGETDCAPI DWORD WINAPI DsGetForestTrustInformationW( LPCWSTR, LPCWSTR, DWORD, PLSA_FOREST_TRUST_INFORMATION * );
DSGETDCAPI DWORD WINAPI DsMergeForestTrustInformationW( LPCWSTR, PLSA_FOREST_TRUST_INFORMATION, PLSA_FOREST_TRUST_INFORMATION, PLSA_FOREST_TRUST_INFORMATION * );
#endif
#ifdef _WINSOCK2API_
DSGETDCAPI DWORD WINAPI DsAddressToSiteNamesA( LPCSTR, DWORD, PSOCKET_ADDRESS, LPSTR ** );
DSGETDCAPI DWORD WINAPI DsAddressToSiteNamesExA( LPCSTR, DWORD, PSOCKET_ADDRESS, LPSTR **, LPSTR ** );
DSGETDCAPI DWORD WINAPI DsAddressToSiteNamesExW( LPCWSTR, DWORD, PSOCKET_ADDRESS, LPWSTR **, LPWSTR ** );
DSGETDCAPI DWORD WINAPI DsAddressToSiteNamesW( LPCWSTR, DWORD, PSOCKET_ADDRESS, LPWSTR ** );
DSGETDCAPI VOID WINAPI DsGetDcCloseW( HANDLE );
DSGETDCAPI DWORD WINAPI DsGetDcNextA( HANDLE, PULONG, LPSOCKET_ADDRESS *, LPSTR * );
DSGETDCAPI DWORD WINAPI DsGetDcNextW( HANDLE, PULONG, LPSOCKET_ADDRESS *, LPWSTR * );
DSGETDCAPI DWORD WINAPI DsGetDcOpenA( LPCSTR, ULONG, LPCSTR, GUID *, LPCSTR, ULONG, PHANDLE );
DSGETDCAPI DWORD WINAPI DsGetDcOpenW( LPCWSTR, ULONG, LPCWSTR, GUID *, LPCWSTR, ULONG, PHANDLE );
#endif
/* Map generic function names to the appropriate ANSI or Unicode version. */
#ifdef UNICODE
#define DsDeregisterDnsHostRecords DsDeregisterDnsHostRecordsW
#define DsEnumerateDomainTrusts DsEnumerateDomainTrustsW
#define DsGetDcName DsGetDcNameW
#define DsGetDcNext DsGetDcNextW
#define DsGetDcSiteCoverage DsGetDcSiteCoverageW
#define DsGetSiteName DsGetSiteNameW
#define DsValidateSubnetName DsValidateSubnetNameW
#ifdef _WINSOCK2API_
#define DsAddressToSiteName DsAddressToSiteNameW
#define DsAddressToSiteNameEx DsAddressToSiteNameExW
#define DsGetDcClose DsGetDcCloseW
#define DsGetDcNext DsGetDcNextW
#define DsGetDcOpen DsGetDcOpenW
#endif
#else
#define DsDeregisterDnsHostRecords DsDeregisterDnsHostRecordsA
#define DsEnumerateDomainTrusts DsEnumerateDomainTrustsA
#define DsGetDcName DsGetDcNameA
#define DsGetDcNext DsGetDcNextA
#define DsGetDcSiteCoverage DsGetDcSiteCoverageA
#define DsGetSiteName DsGetSiteNameA
#define DsValidateSubnetName DsValidateSubnetNameA
#ifdef _WINSOCK2API_
#define DsAddressToSiteName DsAddressToSiteNameA
#define DsAddressToSiteNameEx DsAddressToSiteNameExA
#define DsGetDcClose DsGetDcCloseW
#define DsGetDcNext DsGetDcNextA
#define DsGetDcOpen DsGetDcOpenA
#endif
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* _DSGETDC_ */