windows-nt/Source/XPSP1/NT/net/rras/ip/nathlp/inc/rmh323.h

241 lines
3.8 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
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_