/* * 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_ */