You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
259 lines
4.6 KiB
259 lines
4.6 KiB
/*++
|
|
|
|
Copyright (c) 2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
rmALG.h
|
|
|
|
Abstract:
|
|
|
|
This module declares routines for the ALG transparent proxy module's
|
|
interface to the IP router-manager. (See ROUTPROT.H for details).
|
|
|
|
Author:
|
|
|
|
JPDup 10-Nov-2000
|
|
|
|
Revision History:
|
|
|
|
Savasg 22-Aug-2001 Added RRAS Support
|
|
|
|
--*/
|
|
|
|
#ifndef _NATHLP_RMALG_H_
|
|
#define _NATHLP_RMALG_H_
|
|
|
|
//
|
|
// GLOBAL DATA DECLARATIONS
|
|
//
|
|
|
|
extern COMPONENT_REFERENCE AlgComponentReference;
|
|
extern PIP_ALG_GLOBAL_INFO AlgGlobalInfo;
|
|
extern CRITICAL_SECTION AlgGlobalInfoLock;
|
|
extern HANDLE AlgNotificationEvent;
|
|
extern HANDLE AlgTimerQueueHandle;
|
|
extern HANDLE AlgPortReservationHandle;
|
|
extern ULONG AlgProtocolStopped;
|
|
extern const MPR_ROUTING_CHARACTERISTICS AlgRoutingCharacteristics;
|
|
extern IP_ALG_STATISTICS AlgStatistics;
|
|
extern SUPPORT_FUNCTIONS AlgSupportFunctions;
|
|
extern HANDLE AlgTranslatorHandle;
|
|
|
|
//
|
|
// MACRO DECLARATIONS
|
|
//
|
|
|
|
#define REFERENCE_ALG() \
|
|
REFERENCE_COMPONENT(&AlgComponentReference)
|
|
|
|
#define REFERENCE_ALG_OR_RETURN(retcode) \
|
|
REFERENCE_COMPONENT_OR_RETURN(&AlgComponentReference,retcode)
|
|
|
|
#define DEREFERENCE_ALG() \
|
|
DEREFERENCE_COMPONENT(&AlgComponentReference)
|
|
|
|
#define DEREFERENCE_ALG_AND_RETURN(retcode) \
|
|
DEREFERENCE_COMPONENT_AND_RETURN(&AlgComponentReference, retcode)
|
|
|
|
#define ALG_PORT_RESERVATION_BLOCK_SIZE 32
|
|
|
|
//
|
|
// FUNCTION DECLARATIONS
|
|
//
|
|
|
|
VOID
|
|
AlgCleanupModule(
|
|
VOID
|
|
);
|
|
|
|
BOOLEAN
|
|
AlgInitializeModule(
|
|
VOID
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmStartProtocol(
|
|
HANDLE NotificationEvent,
|
|
PSUPPORT_FUNCTIONS SupportFunctions,
|
|
PVOID GlobalInfo,
|
|
ULONG StructureVersion,
|
|
ULONG StructureSize,
|
|
ULONG StructureCount
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmStartComplete(
|
|
VOID
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmStopProtocol(
|
|
VOID
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmAddInterface(
|
|
PWCHAR Name,
|
|
ULONG Index,
|
|
NET_INTERFACE_TYPE Type,
|
|
ULONG MediaType,
|
|
USHORT AccessType,
|
|
USHORT ConnectionType,
|
|
PVOID InterfaceInfo,
|
|
ULONG StructureVersion,
|
|
ULONG StructureSize,
|
|
ULONG StructureCount
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmDeleteInterface(
|
|
ULONG Index
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmInterfaceStatus(
|
|
ULONG Index,
|
|
BOOL InterfaceActive,
|
|
ULONG StatusType,
|
|
PVOID StatusInfo
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmBindInterface(
|
|
ULONG Index,
|
|
PVOID BindingInfo
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmUnbindInterface(
|
|
ULONG Index
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmEnableInterface(
|
|
ULONG Index
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmDisableInterface(
|
|
ULONG Index
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmGetGlobalInfo(
|
|
PVOID GlobalInfo,
|
|
IN OUT PULONG GlobalInfoSize,
|
|
IN OUT PULONG StructureVersion,
|
|
IN OUT PULONG StructureSize,
|
|
IN OUT PULONG StructureCount
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmSetGlobalInfo(
|
|
PVOID GlobalInfo,
|
|
ULONG StructureVersion,
|
|
ULONG StructureSize,
|
|
ULONG StructureCount
|
|
);
|
|
|
|
ULONG
|
|
AlgRmPortMappingChanged(
|
|
ULONG Index,
|
|
UCHAR Protocol,
|
|
USHORT Port
|
|
);
|
|
|
|
|
|
// Added for RRAS compatibility
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmGetEventMessage(
|
|
OUT ROUTING_PROTOCOL_EVENTS* Event,
|
|
OUT MESSAGE* Result
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmGetInterfaceInfo(
|
|
ULONG Index,
|
|
PVOID InterfaceInfo,
|
|
IN OUT PULONG InterfaceInfoSize,
|
|
IN OUT PULONG StructureVersion,
|
|
IN OUT PULONG StructureSize,
|
|
IN OUT PULONG StructureCount
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmSetInterfaceInfo(
|
|
ULONG Index,
|
|
PVOID InterfaceInfo,
|
|
ULONG StructureVersion,
|
|
ULONG StructureSize,
|
|
ULONG StructureCount
|
|
);
|
|
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmMibCreate(
|
|
ULONG InputDataSize,
|
|
PVOID InputData
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmMibDelete(
|
|
ULONG InputDataSize,
|
|
PVOID InputData
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmMibGet(
|
|
ULONG InputDataSize,
|
|
PVOID InputData,
|
|
OUT PULONG OutputDataSize,
|
|
OUT PVOID OutputData
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmMibSet(
|
|
ULONG InputDataSize,
|
|
PVOID InputData
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmMibGetFirst(
|
|
ULONG InputDataSize,
|
|
PVOID InputData,
|
|
OUT PULONG OutputDataSize,
|
|
OUT PVOID OutputData
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
AlgRmMibGetNext(
|
|
ULONG InputDataSize,
|
|
PVOID InputData,
|
|
OUT PULONG OutputDataSize,
|
|
OUT PVOID OutputData
|
|
);
|
|
|
|
#endif // _NATHLP_RMALG_H_
|