|
|
/*++
Copyright (c) 1998, Microsoft Corporation
Module Name:
rmdns.h
Abstract:
This module declares routines for the DNS allocator module's interface to the IP router-manager. (See ROUTPROT.H for details).
Author:
Abolade Gbadegesin (aboladeg) 4-Mar-1998
Revision History:
--*/
#ifndef _NATHLP_RMDNS_H_
#define _NATHLP_RMDNS_H_
//
// GLOBAL DATA DECLARATIONS
//
extern COMPONENT_REFERENCE DnsComponentReference; extern PIP_DNS_PROXY_GLOBAL_INFO DnsGlobalInfo; extern CRITICAL_SECTION DnsGlobalInfoLock; extern SOCKET DnsGlobalSocket; extern HANDLE DnsNotificationEvent; extern ULONG DnsProtocolStopped; extern const MPR_ROUTING_CHARACTERISTICS DnsRoutingCharacteristics; extern IP_DNS_PROXY_STATISTICS DnsStatistics; extern SUPPORT_FUNCTIONS DnsSupportFunctions;
//
// MACRO DECLARATIONS
//
#define REFERENCE_DNS() \
REFERENCE_COMPONENT(&DnsComponentReference)
#define REFERENCE_DNS_OR_RETURN(retcode) \
REFERENCE_COMPONENT_OR_RETURN(&DnsComponentReference,retcode)
#define DEREFERENCE_DNS() \
DEREFERENCE_COMPONENT(&DnsComponentReference)
#define DEREFERENCE_DNS_AND_RETURN(retcode) \
DEREFERENCE_COMPONENT_AND_RETURN(&DnsComponentReference, retcode)
//
// FUNCTION DECLARATIONS
//
VOID DnsCleanupModule( VOID );
BOOLEAN DnsInitializeModule( VOID );
BOOLEAN DnsIsDnsEnabled( VOID );
BOOLEAN DnsIsWinsEnabled( VOID );
ULONG APIENTRY DnsRmStartProtocol( HANDLE NotificationEvent, PSUPPORT_FUNCTIONS SupportFunctions, PVOID GlobalInfo, ULONG StructureVersion, ULONG StructureSize, ULONG StructureCount );
ULONG APIENTRY DnsRmStartComplete( VOID );
ULONG APIENTRY DnsRmStopProtocol( VOID );
ULONG APIENTRY DnsRmAddInterface( PWCHAR Name, ULONG Index, NET_INTERFACE_TYPE Type, ULONG MediaType, USHORT AccessType, USHORT ConnectionType, PVOID InterfaceInfo, ULONG StructureVersion, ULONG StructureSize, ULONG StructureCount );
ULONG APIENTRY DnsRmDeleteInterface( ULONG Index );
ULONG APIENTRY DnsRmGetEventMessage( OUT ROUTING_PROTOCOL_EVENTS* Event, OUT MESSAGE* Result );
ULONG APIENTRY DnsRmGetInterfaceInfo( ULONG Index, PVOID InterfaceInfo, IN OUT PULONG InterfaceInfoSize, IN OUT PULONG StructureVersion, IN OUT PULONG StructureSize, IN OUT PULONG StructureCount );
ULONG APIENTRY DnsRmSetInterfaceInfo( ULONG Index, PVOID InterfaceInfo, ULONG StructureVersion, ULONG StructureSize, ULONG StructureCount );
ULONG APIENTRY DnsRmInterfaceStatus( ULONG Index, BOOL InterfaceActive, ULONG StatusType, PVOID StatusInfo );
ULONG APIENTRY DnsRmBindInterface( ULONG Index, PVOID BindingInfo );
ULONG APIENTRY DnsRmUnbindInterface( ULONG Index );
ULONG APIENTRY DnsRmEnableInterface( ULONG Index );
ULONG APIENTRY DnsRmDisableInterface( ULONG Index );
ULONG APIENTRY DnsRmGetGlobalInfo( PVOID GlobalInfo, IN OUT PULONG GlobalInfoSize, IN OUT PULONG StructureVersion, IN OUT PULONG StructureSize, IN OUT PULONG StructureCount );
ULONG APIENTRY DnsRmSetGlobalInfo( PVOID GlobalInfo, ULONG StructureVersion, ULONG StructureSize, ULONG StructureCount );
ULONG APIENTRY DnsRmMibCreate( ULONG InputDataSize, PVOID InputData );
ULONG APIENTRY DnsRmMibDelete( ULONG InputDataSize, PVOID InputData );
ULONG APIENTRY DnsRmMibGet( ULONG InputDataSize, PVOID InputData, OUT PULONG OutputDataSize, OUT PVOID OutputData );
ULONG APIENTRY DnsRmMibSet( ULONG InputDataSize, PVOID InputData );
ULONG APIENTRY DnsRmMibGetFirst( ULONG InputDataSize, PVOID InputData, OUT PULONG OutputDataSize, OUT PVOID OutputData );
ULONG APIENTRY DnsRmMibGetNext( ULONG InputDataSize, PVOID InputData, OUT PULONG OutputDataSize, OUT PVOID OutputData );
#endif // _NATHLP_RMDNS_H_
|