Leaked source code of windows server 2003
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.
 
 
 
 
 
 

176 lines
2.9 KiB

/*++
Copyright (c) 1998, Microsoft Corporation
Module Name:
rmapi.h
Abstract:
This module contains declarations for the part of the router-manager
interface which is common to all the protocols in this component.
Author:
Abolade Gbadegesin (aboladeg) 4-Mar-1998
Revision History:
--*/
#ifndef _NATHLP_RMAPI_H_
#define _NATHLP_RMAPI_H_
typedef enum {
NhUninitializedMode,
NhSharedAccessMode,
NhRoutingProtocolMode,
NhMaximumMode
} NH_COMPONENT_MODE, *PNH_COMPONENT_MODE;
#define NhIsBoundaryInterface(i,b) NatIsBoundaryInterface((i),(b))
#define NhQuerySharedConnectionDomainName() NatQuerySharedConnectionDomainName()
extern NH_COMPONENT_MODE NhComponentMode;
extern CRITICAL_SECTION NhLock;
extern HMODULE NhpRtrmgrDll;
extern const WCHAR NhTcpipParametersString[];
//
// Application settings (response protocols) handling
//
extern LIST_ENTRY NhApplicationSettingsList;
extern LIST_ENTRY NhDhcpReservationList;
extern DWORD NhDhcpScopeAddress;
extern DWORD NhDhcpScopeMask;
typedef struct _NAT_APP_ENTRY
{
LIST_ENTRY Link;
UCHAR Protocol;
USHORT Port;
USHORT ResponseCount;
HNET_RESPONSE_RANGE *ResponseArray;
} NAT_APP_ENTRY, *PNAT_APP_ENTRY;
typedef struct _NAT_DHCP_RESERVATION
{
LIST_ENTRY Link;
LPWSTR Name;
ULONG Address;
} NAT_DHCP_RESERVATION, *PNAT_DHCP_RESERVATION;
typedef DWORD (CALLBACK *MAPINTERFACETOADAPTER)(DWORD);
VOID
NhBuildDhcpReservations(
VOID
);
ULONG
NhDialSharedConnection(
VOID
);
VOID
NhFreeApplicationSettings(
VOID
);
VOID
NhFreeDhcpReservations(
VOID
);
BOOLEAN
NhIsDnsProxyEnabled(
VOID
);
BOOLEAN
NhIsLocalAddress(
ULONG Address
);
BOOLEAN
NhIsWinsProxyEnabled(
VOID
);
PIP_ADAPTER_BINDING_INFO
NhQueryBindingInformation(
ULONG AdapterIndex
);
NTSTATUS
NhQueryDomainName(
PCHAR* DomainName
);
ULONG
NhQueryHostByName(
PWCHAR pszHostName,
PWCHAR pszDomainName,
ULONG ScopeNetwork,
ULONG ScopeMask
);
NTSTATUS
NhQueryICSDomainSuffix(
PWCHAR *ppszDomain
);
NTSTATUS
NhQueryValueKey(
HANDLE Key,
const WCHAR ValueName[],
PKEY_VALUE_PARTIAL_INFORMATION* Information
);
VOID
NhSignalNatInterface(
ULONG Index,
BOOLEAN Boundary
);
ULONG
NhMapAddressToAdapter(
ULONG Address
);
ULONG
NhMapInterfaceToAdapter(
ULONG Index
);
extern
ULONG
NhMapInterfaceToRouterIfType(
ULONG Index
);
VOID
NhResetComponentMode(
VOID
);
BOOLEAN
NhSetComponentMode(
NH_COMPONENT_MODE ComponentMode
);
VOID
NhUpdateApplicationSettings(
VOID
);
ULONG
APIENTRY
RegisterProtocol(
IN OUT PMPR_ROUTING_CHARACTERISTICS RoutingCharacteristics,
IN OUT PMPR_SERVICE_CHARACTERISTICS ServiceCharacteristics
);
#endif // _NATHLP_RMAPI_H_