163 lines
2.5 KiB
C
163 lines
2.5 KiB
C
/*++
|
|
|
|
Copyright (c) 1997 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
nlsite.h
|
|
|
|
Abstract:
|
|
|
|
Header for routines to handle sites and subnets.
|
|
|
|
Author:
|
|
|
|
Cliff Van Dyke (CliffV) 1-May-1997
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
//
|
|
// Structure defining a site name.
|
|
//
|
|
// The SiteEntry exists only if it is referenced.
|
|
// Site coverage lists each should maintain a reference
|
|
// to prevent the entry for a close site from being deleted.
|
|
//
|
|
|
|
typedef struct _NL_SITE_ENTRY {
|
|
|
|
//
|
|
// Link for NlGlobalSiteList
|
|
//
|
|
|
|
LIST_ENTRY Next;
|
|
|
|
//
|
|
// Reference Count.
|
|
//
|
|
|
|
ULONG ReferenceCount;
|
|
|
|
//
|
|
// Name of the site
|
|
// Must be last field in struct.
|
|
//
|
|
|
|
UNICODE_STRING SiteNameString;
|
|
WCHAR SiteName[ANYSIZE_ARRAY];
|
|
|
|
} NL_SITE_ENTRY, *PNL_SITE_ENTRY;
|
|
|
|
//
|
|
// Structure defining a covered site.
|
|
//
|
|
|
|
typedef struct _NL_COVERED_SITE {
|
|
|
|
//
|
|
// Pointer to the covered site entry in
|
|
// the global list of sites. This entry is
|
|
// referenced.
|
|
//
|
|
PNL_SITE_ENTRY CoveredSite;
|
|
|
|
BOOLEAN CoveredAuto; // If TRUE, this site is covered automatically
|
|
|
|
} NL_COVERED_SITE, *PNL_COVERED_SITE;
|
|
|
|
|
|
//
|
|
// Procedure Forwards for nlsite.c
|
|
//
|
|
|
|
NET_API_STATUS
|
|
NlSiteInitialize(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
NlSiteTerminate(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
NlDerefSiteEntry(
|
|
IN PNL_SITE_ENTRY SiteEntry
|
|
);
|
|
|
|
PNL_SITE_ENTRY
|
|
NlFindSiteEntry(
|
|
IN LPWSTR SiteName
|
|
);
|
|
|
|
PNL_SITE_ENTRY
|
|
NlFindSiteEntryBySockAddr(
|
|
IN PSOCKADDR SockAddr
|
|
);
|
|
|
|
NET_API_STATUS
|
|
NlSitesAddSubnet(
|
|
IN LPWSTR SiteName,
|
|
IN LPWSTR SubnetName
|
|
);
|
|
|
|
NET_API_STATUS
|
|
NlSitesAddSubnetFromDs(
|
|
OUT PBOOLEAN SiteNameChanged OPTIONAL
|
|
);
|
|
|
|
VOID
|
|
NlSitesEndSubnetEnum(
|
|
VOID
|
|
);
|
|
|
|
BOOL
|
|
NlCaptureSiteName(
|
|
WCHAR CapturedSiteName[NL_MAX_DNS_LABEL_LENGTH+1]
|
|
);
|
|
|
|
NET_API_STATUS
|
|
NlSetSiteName(
|
|
IN LPWSTR SiteName OPTIONAL,
|
|
OUT PBOOLEAN SiteNameChanged OPTIONAL
|
|
);
|
|
|
|
BOOL
|
|
NlSitesSetSiteCoverageParam(
|
|
IN ULONG ServerRole,
|
|
IN LPTSTR_ARRAY NewSiteCoverage OPTIONAL
|
|
);
|
|
|
|
NET_API_STATUS
|
|
NlSitesGetCloseSites(
|
|
IN PDOMAIN_INFO DomainInfo,
|
|
IN ULONG ServerRole,
|
|
OUT PNL_SITE_NAME_ARRAY *SiteNames
|
|
);
|
|
|
|
NET_API_STATUS
|
|
NlSitesUpdateSiteCoverageForRole(
|
|
IN PDOMAIN_INFO DomainInfo,
|
|
IN ULONG DomFlags,
|
|
IN HANDLE DsHandle,
|
|
IN PISM_CONNECTIVITY SiteConnect,
|
|
IN LPWSTR ThisSiteName,
|
|
IN ULONG ThisSiteIndex,
|
|
OUT PBOOLEAN SiteCoverageChanged OPTIONAL
|
|
);
|
|
|
|
NTSTATUS
|
|
NlLoadNtDsApiDll(
|
|
VOID
|
|
);
|
|
|
|
BOOL
|
|
NlSitesGetIsmConnect(
|
|
IN LPWSTR SiteName,
|
|
OUT PISM_CONNECTIVITY *SiteConnect,
|
|
OUT PULONG ThisSite
|
|
);
|
|
|