|
|
/*++
Copyright (c) 1998, Microsoft Corporation
Module Name:
rmh323.h
Abstract:
This module declares routines for the H.323 transparent proxy module's interface to the IP router-manager. (See ROUTPROT.H for details).
Author:
Abolade Gbadegesin (aboladeg) 18-Jun-1999
Revision History:
--*/
#ifndef _NATHLP_RMH323_H_
#define _NATHLP_RMH323_H_
//
// GLOBAL DATA DECLARATIONS
//
extern COMPONENT_REFERENCE H323ComponentReference; extern PIP_H323_GLOBAL_INFO H323GlobalInfo; extern CRITICAL_SECTION H323GlobalInfoLock; extern HANDLE H323NotificationEvent; extern ULONG H323ProtocolStopped; extern const MPR_ROUTING_CHARACTERISTICS H323RoutingCharacteristics; extern SUPPORT_FUNCTIONS H323SupportFunctions;
//
// MACRO DECLARATIONS
//
#define REFERENCE_H323() \
REFERENCE_COMPONENT(&H323ComponentReference)
#define REFERENCE_H323_OR_RETURN(retcode) \
REFERENCE_COMPONENT_OR_RETURN(&H323ComponentReference,retcode)
#define DEREFERENCE_H323() \
DEREFERENCE_COMPONENT(&H323ComponentReference)
#define DEREFERENCE_H323_AND_RETURN(retcode) \
DEREFERENCE_COMPONENT_AND_RETURN(&H323ComponentReference, retcode)
//
// FUNCTION DECLARATIONS
//
VOID H323CleanupModule( VOID );
BOOLEAN H323InitializeModule( VOID );
ULONG APIENTRY H323RmStartProtocol( HANDLE NotificationEvent, PSUPPORT_FUNCTIONS SupportFunctions, PVOID GlobalInfo, ULONG StructureVersion, ULONG StructureSize, ULONG StructureCount );
ULONG APIENTRY H323RmStartComplete( VOID );
ULONG APIENTRY H323RmStopProtocol( VOID );
ULONG APIENTRY H323RmAddInterface( PWCHAR Name, ULONG Index, NET_INTERFACE_TYPE Type, ULONG MediaType, USHORT AccessType, USHORT ConnectionType, PVOID InterfaceInfo, ULONG StructureVersion, ULONG StructureSize, ULONG StructureCount );
ULONG APIENTRY H323RmDeleteInterface( ULONG Index );
ULONG APIENTRY H323RmGetEventMessage( OUT ROUTING_PROTOCOL_EVENTS* Event, OUT MESSAGE* Result );
ULONG APIENTRY H323RmGetInterfaceInfo( ULONG Index, PVOID InterfaceInfo, IN OUT PULONG InterfaceInfoSize, IN OUT PULONG StructureVersion, IN OUT PULONG StructureSize, IN OUT PULONG StructureCount );
ULONG APIENTRY H323RmSetInterfaceInfo( ULONG Index, PVOID InterfaceInfo, ULONG StructureVersion, ULONG StructureSize, ULONG StructureCount );
ULONG APIENTRY H323RmInterfaceStatus( ULONG Index, BOOL InterfaceActive, ULONG StatusType, PVOID StatusInfo );
ULONG APIENTRY H323RmBindInterface( ULONG Index, PVOID BindingInfo );
ULONG APIENTRY H323RmUnbindInterface( ULONG Index );
ULONG APIENTRY H323RmEnableInterface( ULONG Index );
ULONG APIENTRY H323RmDisableInterface( ULONG Index );
ULONG APIENTRY H323RmGetGlobalInfo( PVOID GlobalInfo, IN OUT PULONG GlobalInfoSize, IN OUT PULONG StructureVersion, IN OUT PULONG StructureSize, IN OUT PULONG StructureCount );
ULONG APIENTRY H323RmSetGlobalInfo( PVOID GlobalInfo, ULONG StructureVersion, ULONG StructureSize, ULONG StructureCount );
ULONG APIENTRY H323RmMibCreate( ULONG InputDataSize, PVOID InputData );
ULONG APIENTRY H323RmMibDelete( ULONG InputDataSize, PVOID InputData );
ULONG APIENTRY H323RmMibGet( ULONG InputDataSize, PVOID InputData, OUT PULONG OutputDataSize, OUT PVOID OutputData );
ULONG APIENTRY H323RmMibSet( ULONG InputDataSize, PVOID InputData );
ULONG APIENTRY H323RmMibGetFirst( ULONG InputDataSize, PVOID InputData, OUT PULONG OutputDataSize, OUT PVOID OutputData );
ULONG APIENTRY H323RmMibGetNext( ULONG InputDataSize, PVOID InputData, OUT PULONG OutputDataSize, OUT PVOID OutputData );
#endif // _NATHLP_RMH323_H_
|