1239 lines
47 KiB
C
1239 lines
47 KiB
C
/*
|
|
* mprapi.h Multiple Provider Router (MPR) functions
|
|
*
|
|
* =========================================================================
|
|
*
|
|
* Open Watcom Project
|
|
*
|
|
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
|
|
*
|
|
* This file is automatically generated. Do not edit directly.
|
|
*
|
|
* =========================================================================
|
|
*/
|
|
|
|
#ifndef __ROUTING_MPRADMIN_H__
|
|
#define __ROUTING_MPRADMIN_H__
|
|
|
|
#ifndef _ENABLE_AUTODEPEND
|
|
#pragma read_only_file;
|
|
#endif
|
|
|
|
#include <lmcons.h>
|
|
#include <ras.h>
|
|
#include <in6addr.h>
|
|
#include <wincrypt.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Server handles */
|
|
typedef HANDLE RAS_SERVER_HANDLE;
|
|
typedef HANDLE MPR_SERVER_HANDLE;
|
|
typedef HANDLE MIB_SERVER_HANDLE;
|
|
|
|
/* Remoting and Remote Access Service (RRAS) name */
|
|
#define RRAS_SERVICE_NAME TEXT( "RemoteAccess" )
|
|
|
|
/* Protocol identifiers */
|
|
#define PID_IPX 0x0000002BL
|
|
#define PID_IP 0x00000021L
|
|
#define PID_IPV6 0x00000057L
|
|
#define PID_NBF 0x0000003FL
|
|
#define PID_ATALK 0x00000029L
|
|
|
|
/* Maximum lengths */
|
|
#define MAX_INTERFACE_NAME_LEN 256
|
|
#define MAX_TRANSPORT_NAME_LEN 40
|
|
#define MAX_MEDIA_NAME 16
|
|
#define MAX_PORT_NAME 16
|
|
#define MAX_DEVICE_NAME 128
|
|
#define MAX_PHONE_NUMBER_LEN 128
|
|
#define MAX_DEVICETYPE_NAME 16
|
|
|
|
/* MPR interface flags */
|
|
#define MPR_INTERFACE_OUT_OF_RESOURCES 0x00000001L
|
|
#define MPR_INTERFACE_ADMIN_DISABLED 0x00000002L
|
|
#define MPR_INTERFACE_CONNECTION_FAILURE 0x00000004L
|
|
#define MPR_INTERFACE_SERVICE_PAUSED 0x00000008L
|
|
#define MPR_INTERFACE_DIALOUT_HOURS_RESTRICTION 0x00000010L
|
|
#define MPR_INTERFACE_NO_MEDIA_SENSE 0x00000020L
|
|
#define MPR_INTERFACE_NO_DEVICE 0x00000040L
|
|
|
|
/* Aliases of maximum lengths from RAS */
|
|
#if (WINVER >= 0x0500)
|
|
#define MPR_MaxDeviceType RAS_MaxDeviceType
|
|
#define MPR_MaxPhoneNumber RAS_MaxPhoneNumber
|
|
#define MPR_MaxIpAddress RAS_MaxIpAddress
|
|
#define MPR_MaxIpxAddress RAS_MaxIpxAddress
|
|
#define MPR_MaxEntryName RAS_MaxEntryName
|
|
#define MPR_MaxDeviceName RAS_MaxDeviceName
|
|
#define MPR_MaxCallbackNumber RAS_MaxCallbackNumber
|
|
#define MPR_MaxAreaCode RAS_MaxAreaCode
|
|
#define MPR_MaxPadType RAS_MaxPadType
|
|
#define MPR_MaxX25Address RAS_MaxX25Address
|
|
#define MPR_MaxFacilities RAS_MaxFacilities
|
|
#define MPR_MaxUserData RAS_MaxUserData
|
|
#endif
|
|
|
|
/* MPR interface options */
|
|
#if (WINVER >= 0x0500)
|
|
#define MPRIO_SpecificIpAddr RASEO_SpecificIpAddr
|
|
#define MPRIO_SpecificNameServers RASEO_SpecificNameServers
|
|
#define MPRIO_IpHeaderCompression RASEO_IpHeaderCompression
|
|
#define MPRIO_RemoteDefaultGateway RASEO_RemoteDefaultGateway
|
|
#define MPRIO_DisableLcpExtensions RASEO_DisableLcpExtensions
|
|
#define MPRIO_SwCompression RASEO_SwCompression
|
|
#define MPRIO_RequireEncryptedPw RASEO_RequireEncryptedPw
|
|
#define MPRIO_RequireMsEncryptedPw RASEO_RequireMsEncryptedPw
|
|
#define MPRIO_RequireDataEncryption RASEO_RequireDataEncryption
|
|
#define MPRIO_NetworkLogon RASEO_NetworkLogon
|
|
#define MPRIO_PromoteAlternates RASEO_PromoteAlternates
|
|
#define MPRIO_SecureLocalFiles RASEO_SecureLocalFiles
|
|
#define MPRIO_RequireEAP RASEO_RequireEAP
|
|
#define MPRIO_RequirePAP RASEO_RequirePAP
|
|
#define MPRIO_RequireSPAP RASEO_RequireSPAP
|
|
#define MPRIO_SharedPhoneNumbers RASEO_SharedPhoneNumbers
|
|
#define MPRIO_RequireCHAP RASEO_RequireCHAP
|
|
#define MPRIO_RequireMsCHAP RASEO_RequireMsCHAP
|
|
#define MPRIO_RequireMsCHAP2 RASEO_RequireMsCHAP2
|
|
#endif
|
|
#if (WINVER >= 0x0501)
|
|
#define MPRIO_IpSecPreSharedKey 0x80000000L
|
|
#endif
|
|
|
|
/* MPR interface protocols */
|
|
#if (WINVER >= 0x0500)
|
|
#define MPRNP_Ipx RASNP_Ipx
|
|
#define MPRNP_Ip RASNP_Ip
|
|
#endif
|
|
#if (WINVER >= 0x0600)
|
|
#define MRPNP_IPv6 RASNP_Ipv6
|
|
#endif
|
|
|
|
/* MPR interface device types */
|
|
#if (WINVER >= 0x0500)
|
|
#define MPRDT_Modem RASDT_Modem
|
|
#define MPRDT_Isdn RASDT_Isdn
|
|
#define MPRDT_X25 RASDT_X25
|
|
#define MPRDT_Vpn RASDT_Vpn
|
|
#define MPRDT_Pad RASDT_Pad
|
|
#define MPRDT_Generic RASDT_Generic
|
|
#define MPRDT_Serial RASDT_Serial
|
|
#define MPRDT_FrameRelay RASDT_FrameRelay
|
|
#define MPRDT_Atm RASDT_Atm
|
|
#define MPRDT_Sonet RASDT_Sonet
|
|
#define MPRDT_SW56 RASDT_SW56
|
|
#define MRPDT_Irda RASDT_Irda
|
|
#define MPRDT_Parallel RASDT_Parallel
|
|
#endif
|
|
|
|
/* MPR interface types */
|
|
#if (WINVER >= 0x0500)
|
|
#define MPRET_Phone RASET_Phone
|
|
#define MPRET_Vpn RASET_Vpn
|
|
#define MPRET_Direct RASET_Direct
|
|
#endif
|
|
|
|
/* MPR interface dial modes */
|
|
#if (WINVER >= 0x0500)
|
|
#define MPRDM_DialFirst 0L
|
|
#define MPRDM_DialAll RASEDM_DialAll
|
|
#define MPRDM_DialAsNeeded RASEDM_DialAsNeeded
|
|
#endif
|
|
|
|
/* MPR interface idle disconnect seconds special values */
|
|
#if (WINVER >= 0x0500)
|
|
#define MPRIDS_Disabled RASIDS_Disabled
|
|
#define MPRIDS_UseGlobalValue RASIDS_UseGlobalValue
|
|
#endif
|
|
|
|
/* MPR interface encryption types */
|
|
#if (WINVER >= 0x0500)
|
|
#define MPR_ET_None ET_None
|
|
#define MPR_ET_Require ET_Require
|
|
#define MPR_ET_RequireMax ET_RequireMax
|
|
#define MPR_ET_Optional ET_Optional
|
|
#endif
|
|
|
|
/* MPR interface VPN strategies */
|
|
#if (WINVER >= 0x0500)
|
|
#define MPR_VS_Default VS_Default
|
|
#define MPR_VS_PptpOnly VS_PptpOnly
|
|
#define MPR_VS_PptpFirst VS_PptpFirst
|
|
#define MPR_VS_L2tpOnly VS_L2tpOnly
|
|
#define MPR_VS_L2tpFirst VS_L2tpFirst
|
|
#endif
|
|
|
|
/* MPR server flags */
|
|
#if (WINVER >= 0x0501)
|
|
#define MPR_ENABLE_RAS_ON_DEVICE 0x00000001L
|
|
#define MPR_ENABLE_ROUTING_ON_DEVICE 0x00000002L
|
|
#endif
|
|
|
|
/* Address lengths */
|
|
#define IPADDRESSLEN 15
|
|
#define IPXADDRESSLEN 22
|
|
#define ATADDRESSLEN 32
|
|
#define MAXIPADRESSLEN 64
|
|
|
|
/* PPP IPCP options */
|
|
#define PPP_IPCP_VJ 0x00000001L
|
|
|
|
/* PPP compression control protocol compression algorithms */
|
|
#if (WINVER >= 0x0500)
|
|
#define RASCCPCA_MPPC 0x00000006L
|
|
#define RASCCPCA_STAC 0x00000005L
|
|
#endif
|
|
|
|
/* PPP compression control protocol options */
|
|
#if (WINVER >= 0x0500)
|
|
#define PPP_CCP_COMPRESSION 0x00000001L
|
|
#define PPP_CCP_ENCRYPTION40BITOLD 0x00000010L
|
|
#define PPP_CPP_ENCRYPTION40BIT 0x00000020L
|
|
#define PPP_CCP_ENCRYPTION128BIT 0x00000040L
|
|
#define PPP_CCP_ENCRYPTION56BIT 0x00000080L
|
|
#define PPP_CCP_HISTORYLESS 0x01000000L
|
|
#endif
|
|
|
|
/* PPP link control protocol authentication options */
|
|
#if (WINVER >= 0x0500)
|
|
#define PPP_LCP_PAP 0xC023
|
|
#define PPP_LCP_SPAP 0xC027
|
|
#define PPP_LCP_CHAP 0xC223
|
|
#define PPP_LCP_EAP 0xC227
|
|
#endif
|
|
|
|
/* PPP link control protocol authentication data */
|
|
#if (WINVER >= 0x0500)
|
|
#define PPP_LCP_CHAP_MD5 0x05
|
|
#define PPP_LCP_CHAP_MS 0x80
|
|
#define PPP_LCP_CHAP_MSV2 0x81
|
|
#endif
|
|
|
|
/* PPP link control protocol options */
|
|
#if (WINVER >= 0x0500)
|
|
#define PPP_LCP_MULTILINK_FRAMING 0x00000001L
|
|
#define PPP_LCP_PFC 0x00000002L
|
|
#define PPP_LCP_ACFC 0x00000004L
|
|
#define PPP_LCP_SSHF 0x00000008L
|
|
#define PPP_LCP_DES_56 0x00000010L
|
|
#define PPP_LCP_3_DES 0x00000020L
|
|
#endif
|
|
#if (WINVER >= 0x0600)
|
|
#define PPP_LCP_AES_128 0x00000040L
|
|
#define PPP_LCP_AES_256 0x00000080L
|
|
#endif
|
|
|
|
/* RAS connection flags */
|
|
#define RAS_FLAGS_PPP_CONNECTION 0x00000001L
|
|
#define RAS_FLAGS_MESSENGER_PRESENT 0x00000002L
|
|
#if (WINVER < 0x0501)
|
|
#define RAS_FLAGS_RAS_CONNECTION 0x00000004L
|
|
#endif
|
|
#define RAS_FLAGS_QUARANTINE_PRESENT 0x00000008L
|
|
#if (WINVER >= 0x0601)
|
|
#define RAS_FLAGS_DORMANT 0x00000020L
|
|
#endif
|
|
|
|
/* RAS privileges */
|
|
#define RASPRIV_NoCallback 0x01
|
|
#define RASPRIV_AdminSetCallback 0x02
|
|
#define RASPRIV_CallerSetCallback 0x04
|
|
#define RASPRIV_DialinPrivilege 0x08
|
|
#define RASPRIV_CallbackType \
|
|
(RASPRIV_AdminSetCallback | RASPRIV_CallerSetCallback | RASPRIV_NoCallback)
|
|
|
|
/* RAS secondary privileges */
|
|
#define RASPRIV2_DialinPolicy 0x01
|
|
|
|
/* IKEv2 authentication types */
|
|
#if (WINVER >= 0x0601)
|
|
#define MPRAPI_IKEV2_AUTH_USING_CERT 1L
|
|
#define MPRAPI_IKEV2_AUTH_USING_EAP 2L
|
|
#endif
|
|
|
|
/* Projection information types */
|
|
#if (WINVER >= 0x0601)
|
|
#define MPRAPI_PPP_PROJECTION_INFO_TYPE 1
|
|
#define MPRAPI_IKEV2_PROJECTION_INFO_TYPE 2
|
|
#endif
|
|
|
|
/* MPRAPI object revision numbers */
|
|
#if (WINVER >= 0x0601)
|
|
#define MPRAPI_RAS_CONNECTION_OBJECT_REVISION_1 0x01
|
|
#define MPRAPI_MPR_SERVER_OBJECT_REVISION_1 0x01
|
|
#define MPRAPI_MPR_SERVER_SET_CONFIG_OBJECT_REVISION_1 0x01
|
|
#define MPRAPI_RAS_UPDATE_CONNECTION_OBJECT_REVISION_1 0x01
|
|
#endif
|
|
|
|
/* Tunnel configuration parameter flags */
|
|
#if (WINVER >= 0x0601)
|
|
#define MPRAPI_IKEV2_SET_TUNNEL_CONFIG_PARAMS 0x00000001L
|
|
#endif
|
|
|
|
/* Maximum SSTP hash size */
|
|
#if (WINVER >= 0x0601)
|
|
#define MAX_SSTP_HASH_SIZE 32
|
|
#endif
|
|
|
|
/* Configuration protocol tunnel types */
|
|
#if (WINVER >= 0x0601)
|
|
#define MPRAPI_SET_CONFIG_PROTOCOL_FOR_PPTP 0x00000001L
|
|
#define MPRAPI_SET_CONFIG_PROTOCOL_FOR_L2TP 0x00000002L
|
|
#define MPRAPI_SET_CONFIG_PROTOCOL_FOR_SSTP 0x00000004L
|
|
#define MPRAPI_SET_CONFIG_PROTOCOL_FOR_IKEV2 0x00000008L
|
|
#endif
|
|
|
|
/* Authentication constants */
|
|
#if (WINVER >= 0x0601)
|
|
#define ALLOW_NO_AUTH 1
|
|
#define DO_NOT_ALLOW_NO_AUTH 2
|
|
#endif
|
|
|
|
/* MPRAPI administration DLL version numbers */
|
|
#if (WINVER >= 0x0601)
|
|
#define MPRAPI_ADMIN_DLL_VERSION_1 0x00000001L
|
|
#define MPRAPI_ADMIN_DLL_VERSION_2 0x00000002L
|
|
#endif
|
|
|
|
/* Router interface types */
|
|
typedef enum _ROUTER_INTERFACE_TYPE {
|
|
ROUTER_IF_TYPE_CLIENT = 0,
|
|
ROUTER_IF_TYPE_HOME_ROUTER = 1,
|
|
ROUTER_IF_TYPE_FULL_ROUTER = 2,
|
|
ROUTER_IF_TYPE_DEDICATED = 3,
|
|
ROUTER_IF_TYPE_INTERNAL = 4,
|
|
ROUTER_IF_TYPE_LOOPBACK = 5,
|
|
ROUTER_IF_TYPE_TUNNEL1 = 6,
|
|
ROUTER_IF_TYPE_DIALOUT = 7,
|
|
ROUTER_IF_TYPE_MAX = 8
|
|
} ROUTER_INTERFACE_TYPE;
|
|
|
|
/* Router connection states */
|
|
typedef enum _ROUTER_CONNECTION_STATE {
|
|
ROUTER_IF_STATE_UNREACHABLE = 0,
|
|
ROUTER_IF_STATE_DISCONNECTED = 1,
|
|
ROUTER_IF_STATE_CONNECTING = 2,
|
|
ROUTER_IF_STATE_CONNECTED = 3
|
|
} ROUTER_CONNECTION_STATE;
|
|
|
|
/* MPR interface (level 0) */
|
|
typedef struct _MPR_INTERFACE_0 {
|
|
WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN + 1];
|
|
HANDLE hInterface;
|
|
BOOL fEnabled;
|
|
ROUTER_INTERFACE_TYPE dwIfType;
|
|
ROUTER_CONNECTION_STATE dwConnectionState;
|
|
DWORD fUnReachabilityReasons;
|
|
DWORD dwLastError;
|
|
} MPR_INTERFACE_0;
|
|
typedef MPR_INTERFACE_0 *PMPR_INTERFACE_0;
|
|
|
|
/* MPR interface (level 1) */
|
|
#if (WINVER >= 0x0500)
|
|
typedef struct _MPR_INTERFACE_1 {
|
|
WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN + 1];
|
|
HANDLE hInterface;
|
|
BOOL fEnabled;
|
|
ROUTER_INTERFACE_TYPE dwIfType;
|
|
ROUTER_CONNECTION_STATE dwConnectionState;
|
|
DWORD fUnReachabilityReasons;
|
|
DWORD dwLastError;
|
|
LPWSTR lpwsDialoutHoursRestriction;
|
|
} MPR_INTERFACE_1;
|
|
typedef MPR_INTERFACE_1 *PMPR_INTERFACE_1;
|
|
#endif
|
|
|
|
/* MPR interface (level 2) */
|
|
#if (WINVER >= 0x0500)
|
|
typedef struct _MPR_INTERFACE_2 {
|
|
WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN + 1];
|
|
HANDLE hInterface;
|
|
BOOL fEnabled;
|
|
ROUTER_INTERFACE_TYPE dwIfType;
|
|
ROUTER_CONNECTION_STATE dwConnectionState;
|
|
DWORD fUnReachabilityReasons;
|
|
DWORD dwLastError;
|
|
DWORD dwfOptions;
|
|
WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
|
|
PWCHAR szAlternates;
|
|
DWORD ipaddr;
|
|
DWORD ipaddrDns;
|
|
DWORD ipaddrDnsAlt;
|
|
DWORD ipaddrWins;
|
|
DWORD ipaddrWinsAlt;
|
|
DWORD dwfNetProtocols;
|
|
WCHAR szDeviceType[MPR_MaxDeviceType + 1];
|
|
WCHAR szDeviceName[MPR_MaxDeviceName + 1];
|
|
WCHAR szX25PadType[MPR_MaxPadType + 1];
|
|
WCHAR szX25Address[MPR_MaxX25Address + 1];
|
|
WCHAR szX25Facilities[MPR_MaxFacilities + 1];
|
|
WCHAR szX25UserData[MPR_MaxUserData + 1];
|
|
DWORD dwChannels;
|
|
DWORD dwSubEntries;
|
|
DWORD dwDialMode;
|
|
DWORD dwDialExtraPercent;
|
|
DWORD dwDialExtraSampleSeconds;
|
|
DWORD dwHangUpExtraPercent;
|
|
DWORD dwHangUpExtraSampleSeconds;
|
|
DWORD dwIdleDisconnectSeconds;
|
|
DWORD dwType;
|
|
DWORD dwEncryptionType;
|
|
DWORD dwCustomAuthKey;
|
|
DWORD dwCustomAuthDataSize;
|
|
LPBYTE lpbCustomAuthData;
|
|
GUID guidId;
|
|
DWORD dwVpnStrategy;
|
|
} MPR_INTERFACE_2;
|
|
typedef MPR_INTERFACE_2 *PMPR_INTERFACE_2;
|
|
#endif
|
|
|
|
/* MPR interface (level 3) */
|
|
#if (WINVER >= 0x0600)
|
|
typedef struct _MPR_INTERFACE_3 {
|
|
WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN + 1];
|
|
HANDLE hInterface;
|
|
BOOL fEnabled;
|
|
ROUTER_INTERFACE_TYPE dwIfType;
|
|
ROUTER_CONNECTION_STATE dwConnectionState;
|
|
DWORD fUnReachabilityReasons;
|
|
DWORD dwLastError;
|
|
DWORD dwfOptions;
|
|
WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
|
|
PWCHAR szAlternates;
|
|
DWORD ipaddr;
|
|
DWORD ipaddrDns;
|
|
DWORD ipaddrDnsAlt;
|
|
DWORD ipaddrWins;
|
|
DWORD ipaddrWinsAlt;
|
|
DWORD dwfNetProtocols;
|
|
WCHAR szDeviceType[MPR_MaxDeviceType + 1];
|
|
WCHAR szDeviceName[MPR_MaxDeviceName + 1];
|
|
WCHAR szX25PadType[MPR_MaxPadType + 1];
|
|
WCHAR szX25Address[MPR_MaxX25Address + 1];
|
|
WCHAR szX25Facilities[MPR_MaxFacilities + 1];
|
|
WCHAR szX25UserData[MPR_MaxUserData + 1];
|
|
DWORD dwChannels;
|
|
DWORD dwSubEntries;
|
|
DWORD dwDialMode;
|
|
DWORD dwDialExtraPercent;
|
|
DWORD dwDialExtraSampleSeconds;
|
|
DWORD dwHangUpExtraPercent;
|
|
DWORD dwHangUpExtraSampleSeconds;
|
|
DWORD dwIdleDisconnectSeconds;
|
|
DWORD dwType;
|
|
DWORD dwEncryptionType;
|
|
DWORD dwCustomAuthKey;
|
|
DWORD dwCustomAuthDataSize;
|
|
LPBYTE lpbCustomAuthData;
|
|
GUID guidId;
|
|
DWORD dwVpnStrategy;
|
|
ULONG AddressCount;
|
|
IN6_ADDR ipv6addrDns;
|
|
IN6_ADDR ipv6addrDnsAlt;
|
|
IN6_ADDR *ipv6addr;
|
|
} MPR_INTERFACE_3;
|
|
typedef MPR_INTERFACE_3 *PMPR_INTERFACE_3;
|
|
#endif
|
|
|
|
/* MPR IP in IP interface (level 0) */
|
|
typedef struct _MPR_IPINIP_INTERFACE_0 {
|
|
WCHAR wszFriendlyName[MAX_INTERFACE_NAME_LEN + 1];
|
|
GUID Guid;
|
|
} MPR_IPINIP_INTERFACE_0;
|
|
typedef MPR_IPINIP_INTERFACE_0 *PMPR_IPINIP_INTERFACE_0;
|
|
|
|
/* MPR device (level 0) */
|
|
#if (WINVER >= 0x0500)
|
|
typedef struct _MPR_DEVICE_0 {
|
|
WCHAR szDeviceType[MPR_MaxDeviceType + 1];
|
|
WCHAR szDeviceName[MPR_MaxDeviceName + 1];
|
|
} MPR_DEVICE_0;
|
|
typedef MPR_DEVICE_0 *PMPR_DEVICE_0;
|
|
#endif
|
|
|
|
/* MPR device (level 1) */
|
|
#if (WINVER >= 0x0500)
|
|
typedef struct _MPR_DEVICE_1 {
|
|
WCHAR szDeviceType[MPR_MaxDeviceType + 1];
|
|
WCHAR szDeviceName[MPR_MaxDeviceName + 1];
|
|
WCHAR szLocalPhoneNumber[MPR_MaxPhoneNumber + 1];
|
|
PWCHAR szAlternates;
|
|
} MPR_DEVICE_1;
|
|
typedef MPR_DEVICE_1 *PMPR_DEVICE_1;
|
|
#endif
|
|
|
|
/* MPR extended credentials (level 0) */
|
|
#if (WINVER >= 0x0500)
|
|
typedef struct _MPR_CREDENTIALSEX_0 {
|
|
DWORD dwSize;
|
|
LPBYTE lpbCredentialsInfo;
|
|
} MPR_CREDENTIALSEX_0;
|
|
typedef MPR_CREDENTIALSEX_0 *PMPR_CREDENTIALSEX_0;
|
|
#endif
|
|
|
|
/* MPR extended credentials (level 1) */
|
|
#if (WINVER >= 0x0500)
|
|
typedef struct _MPR_CREDENTIALSEX_1 {
|
|
DWORD dwSize;
|
|
LPBYTE lpbCredentialsInfo;
|
|
} MPR_CREDENTIALSEX_1;
|
|
typedef MPR_CREDENTIALSEX_1 *PMPR_CREDENTIALSEX_1;
|
|
#endif
|
|
|
|
/* MPR transport (level 0) */
|
|
typedef struct _MPR_TRANSPORT_0 {
|
|
DWORD dwTransportId;
|
|
HANDLE hTransport;
|
|
WCHAR wszTransportName[MAX_TRANSPORT_NAME_LEN + 1];
|
|
} MPR_TRANSPORT_0;
|
|
typedef MPR_TRANSPORT_0 *PMPR_TRANSPORT_0;
|
|
|
|
/* MPR interface transport (level 0) */
|
|
typedef struct _MPR_IFTRANSPORT_0 {
|
|
DWORD dwTransportId;
|
|
HANDLE hIfTransport;
|
|
WCHAR wszIfTransportName[MAX_TRANSPORT_NAME_LEN + 1];
|
|
} MPR_IFTRANSPORT_0;
|
|
typedef MPR_IFTRANSPORT_0 *PMPR_IFTRANSPORT_0;
|
|
|
|
/* MPR server (level 0) */
|
|
typedef struct _MPR_SERVER_0 {
|
|
BOOL fLanOnlyMode;
|
|
DWORD dwUpTime;
|
|
DWORD dwTotalPorts;
|
|
DWORD dwPortsInUse;
|
|
} MPR_SERVER_0;
|
|
typedef MPR_SERVER_0 *PMPR_SERVER_0;
|
|
|
|
/* MPR server (level 1) */
|
|
#if (WINVER >= 0x0501)
|
|
typedef struct _MPR_SERVER_1 {
|
|
DWORD dwNumPptpPorts;
|
|
DWORD dwPptpPortFlags;
|
|
DWORD dwNumL2tpPorts;
|
|
DWORD dwL2tpPortFlags;
|
|
} MPR_SERVER_1;
|
|
typedef MPR_SERVER_1 *PMPR_SERVER_1;
|
|
#endif
|
|
|
|
/* MPR server (level 2) */
|
|
#if (WINVER >= 0x0600)
|
|
typedef struct _MPR_SERVER_2 {
|
|
DWORD dwNumPptpPorts;
|
|
DWORD dwPptpPortFlags;
|
|
DWORD dwNumL2tpPorts;
|
|
DWORD dwL2tpPortFlags;
|
|
DWORD dwNumSstpPorts;
|
|
DWORD dwSstpPortFlags;
|
|
} MPR_SERVER_2;
|
|
typedef MPR_SERVER_2 *PMPR_SERVER_2;
|
|
#endif
|
|
|
|
/* RAS port conditions */
|
|
typedef enum _RAS_PORT_CONDITION {
|
|
RAS_PORT_NON_OPERATIONAL = 0,
|
|
RAS_PORT_DISCONNECTED = 1,
|
|
RAS_PORT_CALLING_BACK = 2,
|
|
RAS_PORT_LISTENING = 3,
|
|
RAS_PORT_AUTHENTICATING = 4,
|
|
RAS_PORT_AUTHENTICATED = 5,
|
|
RAS_PORT_INITIALIZING = 6
|
|
} RAS_PORT_CONDITION;
|
|
|
|
/* RAS hardware conditions */
|
|
typedef enum _RAS_HARDWARE_CONDITION {
|
|
RAS_HARDWARE_OPERATIONAL = 0,
|
|
RAS_HARDWARE_FAILURE = 1
|
|
} RAS_HARDWARE_CONDITION;
|
|
|
|
/* RAS port (level 0) */
|
|
typedef struct _RAS_PORT_0 {
|
|
HANDLE hPort;
|
|
HANDLE hConnection;
|
|
RAS_PORT_CONDITION dwPortCondition;
|
|
DWORD dwTotalNumberOfCalls;
|
|
DWORD dwConnectDuration;
|
|
WCHAR wszPortName[MAX_PORT_NAME + 1];
|
|
WCHAR wszMediaName[MAX_MEDIA_NAME + 1];
|
|
WCHAR wszDeviceName[MAX_DEVICE_NAME + 1];
|
|
WCHAR wszDeviceType[MAX_DEVICETYPE_NAME + 1];
|
|
} RAS_PORT_0;
|
|
typedef RAS_PORT_0 *PRAS_PORT_0;
|
|
|
|
/* RAS port (level 1) */
|
|
typedef struct _RAS_PORT_1 {
|
|
HANDLE hPort;
|
|
HANDLE hConnection;
|
|
RAS_HARDWARE_CONDITION dwHardwareCondition;
|
|
DWORD dwLineSpeed;
|
|
DWORD dwBytesXmitted;
|
|
DWORD dwBytesRcved;
|
|
DWORD dwFramesXmitted;
|
|
DWORD dwFramesRcved;
|
|
DWORD dwCrcErr;
|
|
DWORD dwTimeoutErr;
|
|
DWORD dwAlignmentErr;
|
|
DWORD dwHardwareOverrunErr;
|
|
DWORD dwFramingErr;
|
|
DWORD dwBufferOverrunErr;
|
|
DWORD dwCompressionRatioIn;
|
|
DWORD dwCompressionRatioOut;
|
|
} RAS_PORT_1;
|
|
typedef RAS_PORT_1 *PRAS_PORT_1;
|
|
|
|
/* PPP NBFCP information */
|
|
typedef struct _PPP_NBFCP_INFO {
|
|
DWORD dwError;
|
|
WCHAR wszWksta[NETBIOS_NAME_LEN + 1];
|
|
} PPP_NBFCP_INFO;
|
|
|
|
/* PPP IPCP information */
|
|
typedef struct _PPP_IPCP_INFO {
|
|
DWORD dwError;
|
|
WCHAR wszAddress[IPADDRESSLEN + 1];
|
|
WCHAR wszRemoteAddress[IPADDRESSLEN + 1];
|
|
} PPP_IPCP_INFO;
|
|
|
|
/* PPP IPCP information (version 2) */
|
|
typedef struct _PPP_IPCP_INFO2 {
|
|
DWORD dwError;
|
|
WCHAR wszAddress[IPADDRESSLEN + 1];
|
|
WCHAR wszRemoteAddress[IPADDRESSLEN + 1];
|
|
DWORD dwOptions;
|
|
DWORD dwRemoteOptions;
|
|
} PPP_IPCP_INFO2;
|
|
|
|
/* PPP IPXCP information */
|
|
typedef struct _PPP_IPXCP_INFO {
|
|
DWORD dwError;
|
|
WCHAR wszAddress[IPXADDRESSLEN + 1];
|
|
} PPP_IPXCP_INFO;
|
|
|
|
/* PPP ATCP information */
|
|
typedef struct _PPP_ATCP_INFO {
|
|
DWORD dwError;
|
|
WCHAR wszAddress[ATADDRESSLEN + 1];
|
|
} PPP_ATCP_INFO;
|
|
|
|
/* PPP IPv6 CP information */
|
|
#if (WINVER >= 0x0600)
|
|
typedef struct _PPP_IPV6_CP_INFO {
|
|
DWORD dwVersion;
|
|
DWORD dwSize;
|
|
DWORD dwError;
|
|
BYTE bInterfaceIdentifier[8];
|
|
BYTE bRemoteInterfaceIdentifier[8];
|
|
DWORD dwOptions;
|
|
DWORD dwRemoteOptions;
|
|
BYTE bPrefix[8];
|
|
DWORD dwPrefixLength;
|
|
} PPP_IPV6_CP_INFO;
|
|
#endif
|
|
|
|
/* PPP information */
|
|
typedef struct _PPP_INFO {
|
|
PPP_NBFCP_INFO nbf;
|
|
PPP_IPCP_INFO ip;
|
|
PPP_IPXCP_INFO ipx;
|
|
PPP_ATCP_INFO at;
|
|
} PPP_INFO;
|
|
|
|
/* PPP compression control protocol information */
|
|
#if (WINVER >= 0x0500)
|
|
typedef struct _PPP_CCP_INFO {
|
|
DWORD dwError;
|
|
DWORD dwCompressionAlgorithm;
|
|
DWORD dwOptions;
|
|
DWORD dwRemoteCompressionAlgorithm;
|
|
DWORD dwRemoteOptions;
|
|
} PPP_CCP_INFO;
|
|
#endif
|
|
|
|
/* PPP link control protocol information */
|
|
#if (WINVER >= 0x0500)
|
|
typedef struct _PPP_LCP_INFO {
|
|
DWORD dwError;
|
|
DWORD dwAuthenticationProtocol;
|
|
DWORD dwAuthenticationData;
|
|
DWORD dwRemoteAuthenticationProtocol;
|
|
DWORD dwRemoteAuthenticationData;
|
|
DWORD dwTerminateReason;
|
|
DWORD dwRemoteTerminateReason;
|
|
DWORD dwOptions;
|
|
DWORD dwRemoteOptions;
|
|
DWORD dwEapTypeId;
|
|
DWORD dwRemoteEapTypeId;
|
|
} PPP_LCP_INFO;
|
|
#endif
|
|
|
|
/* PPP information (version 2) */
|
|
#if (WINVER >= 0x0500)
|
|
typedef struct _PPP_INFO_2 {
|
|
PPP_NBFCP_INFO nbf;
|
|
PPP_IPCP_INFO ip;
|
|
PPP_IPXCP_INFO ipx;
|
|
PPP_ATCP_INFO at;
|
|
PPP_CCP_INFO ccp;
|
|
PPP_LCP_INFO lcp;
|
|
} PPP_INFO_2;
|
|
#endif
|
|
|
|
/* PPP information (version 3) */
|
|
#if (WINVER >= 0x0600)
|
|
typedef struct _PPP_INFO_3 {
|
|
PPP_NBFCP_INFO nbf;
|
|
PPP_IPCP_INFO2 ip;
|
|
PPP_IPV6_CP_INFO ipv6;
|
|
PPP_CCP_INFO ccp;
|
|
PPP_LCP_INFO lcp;
|
|
} PPP_INFO_3;
|
|
#endif
|
|
|
|
/* RAS connection (level 0) */
|
|
typedef struct _RAS_CONNECTION_0 {
|
|
HANDLE hConnection;
|
|
HANDLE hInterface;
|
|
DWORD dwConnectDuration;
|
|
ROUTER_INTERFACE_TYPE dwInterfaceType;
|
|
DWORD dwConnectionFlags;
|
|
WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN + 1];
|
|
WCHAR wszUserName[UNLEN + 1];
|
|
WCHAR wszLogonDomain[DNLEN + 1];
|
|
WCHAR wszRemoteComputer[NETBIOS_NAME_LEN + 1];
|
|
} RAS_CONNECTION_0;
|
|
typedef RAS_CONNECTION_0 *PRAS_CONNECTION_0;
|
|
|
|
/* RAS connection (level 1) */
|
|
typedef struct _RAS_CONNECTION_1 {
|
|
HANDLE hConnection;
|
|
HANDLE hInterface;
|
|
PPP_INFO PppInfo;
|
|
DWORD dwBytesXmitted;
|
|
DWORD dwBytesRcved;
|
|
DWORD dwFramesXmitted;
|
|
DWORD dwFramesRcved;
|
|
DWORD dwCrcErr;
|
|
DWORD dwTimeoutErr;
|
|
DWORD dwAlignmentErr;
|
|
DWORD dwHardwareOverrunErr;
|
|
DWORD dwFramingErr;
|
|
DWORD dwBufferOverrunErr;
|
|
DWORD dwCompressionRatioIn;
|
|
DWORD dwCompressionRatioOut;
|
|
} RAS_CONNECTION_1;
|
|
typedef RAS_CONNECTION_1 *PRAS_CONNECTION_1;
|
|
|
|
/* RAS connection (level 2) */
|
|
#if (WINVER >= 0x0500)
|
|
typedef struct _RAS_CONNECTION_2 {
|
|
HANDLE hConnection;
|
|
WCHAR wszUserName[UNLEN + 1];
|
|
ROUTER_INTERFACE_TYPE dwInterfaceType;
|
|
GUID guid;
|
|
PPP_INFO_2 PppInfo2;
|
|
} RAS_CONNECTION_2;
|
|
typedef RAS_CONNECTION_2 *PRAS_CONNECTION_2;
|
|
#endif
|
|
|
|
/* RAS quarantine states */
|
|
#if (WINVER >= 0x0500)
|
|
typedef enum _RAS_QUARANTINE_STATE {
|
|
RAS_QUAR_STATE_NORMAL = 0,
|
|
RAS_QUAR_STATE_QUARANTINE = 1,
|
|
RAS_QUAR_STATE_PROBATION = 2,
|
|
RAS_QUAR_STATE_NOT_CAPABLE = 3
|
|
} RAS_QUARANTINE_STATE;
|
|
#endif
|
|
|
|
/* RAS connection (level 3) */
|
|
#if (WINVER >= 0x0600)
|
|
typedef struct _RAS_CONNECTION_3 {
|
|
DWORD dwVersion;
|
|
DWORD dwSize;
|
|
HANDLE hConnection;
|
|
WCHAR wszUserName[UNLEN + 1];
|
|
ROUTER_INTERFACE_TYPE dwInterfaceType;
|
|
GUID guid;
|
|
PPP_INFO_3 PppInfo3;
|
|
RAS_QUARANTINE_STATE rasQuarState;
|
|
FILETIME timer;
|
|
} RAS_CONNECTION_3;
|
|
typedef RAS_CONNECTION_3 *PRAS_CONNECTION_3;
|
|
#endif
|
|
|
|
/* RAS user (level 0) */
|
|
typedef struct _RAS_USER_0 {
|
|
BYTE bfPrivilege;
|
|
WCHAR wszPhoneNumber[MAX_PHONE_NUMBER_LEN + 1];
|
|
} RAS_USER_0;
|
|
typedef RAS_USER_0 *PRAS_USER_0;
|
|
|
|
/* RAS user (level 1) */
|
|
typedef struct _RAS_USER_1 {
|
|
BYTE bfPrivilege;
|
|
WCHAR wszPhoneNumber[MAX_PHONE_NUMBER_LEN + 1];
|
|
BYTE bfPrivilege2;
|
|
} RAS_USER_1;
|
|
typedef RAS_USER_1 *PRAS_USER_1;
|
|
|
|
/* MPR filter (level 0) */
|
|
#if (WINVER >= 0x0600)
|
|
typedef struct _MPR_FILTER_0 {
|
|
BOOL fEnable;
|
|
} MPR_FILTER_0;
|
|
typedef MPR_FILTER_0 *PMPR_FILTER_0;
|
|
#endif
|
|
|
|
/* MPRAPI object header */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _MPRAPI_OBJECT_HEADER {
|
|
UCHAR revision;
|
|
UCHAR type;
|
|
USHORT size;
|
|
} MPRAPI_OBJECT_HEADER;
|
|
typedef MPRAPI_OBJECT_HEADER *PMPRAPI_OBJECT_HEADER;
|
|
#endif
|
|
|
|
/* MPRAPI object types */
|
|
#if (WINVER >= 0x0601)
|
|
typedef enum _MPRAPI_OBJECT_TYPE {
|
|
MPRAPI_OBJECT_TYPE_RAS_CONNECTION_OBJECT = 1,
|
|
MPRAPI_OBJECT_TYPE_MPR_SERVER_OBJECT = 2,
|
|
MPRAPI_OBJECT_TYPE_MPR_SERVER_SET_CONFIG_OBJECT = 3,
|
|
MPRAPI_OBJECT_TYPE_AUTH_VALIDATION_OBJECT = 4,
|
|
MPRAPI_OBJECT_TYPE_UPDATE_CONNECTION_OBJECT = 5
|
|
} MPRAPI_OBJECT_TYPE;
|
|
typedef MPRAPI_OBJECT_TYPE *PMPRAPI_OBJECT_TYPE;
|
|
#endif
|
|
|
|
/* PPP projection information */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _PPP_PROJECTION_INFO {
|
|
DWORD dwIPv4NegotiationError;
|
|
WCHAR wszAddress[IPADDRESSLEN + 1];
|
|
WCHAR wszRemoteAddress[IPADDRESSLEN + 1];
|
|
DWORD dwIPv4Options;
|
|
DWORD dwIPv4RemoteOptions;
|
|
ULONG64 IPv4SubInterfaceIndex;
|
|
DWORD dwIPv6NegotiationError;
|
|
BYTE bInterfaceIdentifier[8];
|
|
BYTE bRemoteInterfaceIdentifier[8];
|
|
BYTE bPrefix[8];
|
|
DWORD dwPrefixLength;
|
|
ULONG64 IPv6SubInterfaceIndex;
|
|
DWORD dwLcpError;
|
|
DWORD dwAuthenticationProtocol;
|
|
DWORD dwAuthenticationData;
|
|
DWORD dwRemoteAuthenticationProtocol;
|
|
DWORD dwRemoteAuthenticationData;
|
|
DWORD dwLcpTerminateReason;
|
|
DWORD dwLcpRemoteTerminateReason;
|
|
DWORD dwLcpOptions;
|
|
DWORD dwLcpRemoteOptions;
|
|
DWORD dwEapTypeId;
|
|
DWORD dwRemoteEapTypeId;
|
|
DWORD dwCcpError;
|
|
DWORD dwCompressionAlgorithm;
|
|
DWORD dwCcpOptions;
|
|
DWORD dwRemoteCompressionAlgorithm;
|
|
DWORD dwCcpRemoteOptions;
|
|
} PPP_PROJECTION_INFO;
|
|
typedef PPP_PROJECTION_INFO *PPPP_PROJECTION_INFO;
|
|
#endif
|
|
|
|
/* IKEv2 projection information */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _IKEV2_PROJECTION_INFO {
|
|
DWORD dwIPv4NegotiationError;
|
|
WCHAR wszAddress[IPADDRESSLEN + 1];
|
|
WCHAR wszRemoteAddress[IPADDRESSLEN + 1];
|
|
ULONG64 IPv4SubInterfaceIndex;
|
|
DWORD dwIPv6NegotiationError;
|
|
BYTE bInterfaceIdentifier[8];
|
|
BYTE bRemoteInterfaceIdentifier[8];
|
|
BYTE bPrefix[8];
|
|
DWORD dwPrefixLength;
|
|
ULONG64 IPv6SubInterfaceIndex;
|
|
DWORD dwOptions;
|
|
DWORD dwAuthenticationProtocol;
|
|
DWORD dwEapTypeId;
|
|
DWORD dwCompressionAlgorithm;
|
|
DWORD dwEncryptionMethod;
|
|
} IKEV2_PROJECTION_INFO;
|
|
typedef IKEV2_PROJECTION_INFO *PIKEV2_PROJECTION_INFO;
|
|
#endif
|
|
|
|
/* Projection information */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _PROJECTION_INFO {
|
|
UCHAR projectionInfoType;
|
|
union {
|
|
PPP_PROJECTION_INFO PppProjectionInfo;
|
|
IKEV2_PROJECTION_INFO Ikev2ProjectionInfo;
|
|
};
|
|
} PROJECTION_INFO;
|
|
typedef PROJECTION_INFO *PPROJECTION_INFO;
|
|
#endif
|
|
|
|
/* RAS connection (extended version) */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _RAS_CONNECTION_EX {
|
|
MPRAPI_OBJECT_HEADER Header;
|
|
DWORD dwConnectDuration;
|
|
ROUTER_INTERFACE_TYPE dwInterfaceType;
|
|
DWORD dwConnectionFlags;
|
|
WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN + 1];
|
|
WCHAR wszUserName[UNLEN + 1];
|
|
WCHAR wszLogonDomain[DNLEN + 1];
|
|
WCHAR wszRemoteComputer[NETBIOS_NAME_LEN + 1];
|
|
GUID guid;
|
|
RAS_QUARANTINE_STATE rasQuarState;
|
|
FILETIME probationTime;
|
|
DWORD dwBytesXmited;
|
|
DWORD dwBytesRcved;
|
|
DWORD dwFramesXmited;
|
|
DWORD dwFramesRcved;
|
|
DWORD dwCrcErr;
|
|
DWORD dwTimeoutErr;
|
|
DWORD dwAlignmentErr;
|
|
DWORD dwHardwareOverrunErr;
|
|
DWORD dwFramingErr;
|
|
DWORD dwBufferOverrunErr;
|
|
DWORD dwCompressionRatioIn;
|
|
DWORD dwCompressionRatioOut;
|
|
DWORD dwNumSwitchOvers;
|
|
WCHAR wszRemoteEndpointAddress[MAXIPADRESSLEN + 1];
|
|
WCHAR wszLocalEndpointAddress[MAXIPADRESSLEN + 1];
|
|
PROJECTION_INFO ProjectionInfo;
|
|
HANDLE hConnection;
|
|
HANDLE hInterface;
|
|
} RAS_CONNECTION_EX;
|
|
typedef RAS_CONNECTION_EX *PRAS_CONNECTION_EX;
|
|
#endif
|
|
|
|
/* IKEv2 tunnel configuration parameters */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _IKEV2_TUNNEL_CONFIG_PARAMS {
|
|
DWORD dwIdleTimeout;
|
|
DWORD dwNetworkBlackoutTime;
|
|
DWORD dwSaLifeTime;
|
|
DWORD dwSaDataSizeForRenegotiation;
|
|
DWORD dwConfigOptions;
|
|
DWORD dwTotalCertificates;
|
|
CERT_NAME_BLOB *certificateNames;
|
|
} IKEV2_TUNNEL_CONFIG_PARAMS;
|
|
typedef IKEV2_TUNNEL_CONFIG_PARAMS *PIKEV2_TUNNEL_CONFIG_PARAMS;
|
|
#endif
|
|
|
|
/* IKEv2 configuration parameters */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _IKEV2_CONFIG_PARAMS {
|
|
DWORD dwNumPorts;
|
|
DWORD dwPortFlags;
|
|
DWORD dwTunnelConfigParamFlags;
|
|
IKEV2_TUNNEL_CONFIG_PARAMS TunnelConfigParams;
|
|
} IKEV2_CONFIG_PARAMS;
|
|
typedef IKEV2_CONFIG_PARAMS *PIKEV2_CONFIG_PARAMS;
|
|
#endif
|
|
|
|
/* PPTP configuration parameters */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _PPTP_CONFIG_PARAMS {
|
|
DWORD dwNumPorts;
|
|
DWORD dwPortFlags;
|
|
} PPTP_CONFIG_PARAMS;
|
|
typedef PPTP_CONFIG_PARAMS *PPPTP_CONFIG_PARAMS;
|
|
#endif
|
|
|
|
/* L2TP configuration parameters */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _L2TP_CONFIG_PARAMS {
|
|
DWORD dwNumPorts;
|
|
DWORD dwPortFlags;
|
|
} L2TP_CONFIG_PARAMS;
|
|
typedef L2TP_CONFIG_PARAMS *PL2TP_CONFIG_PARAMS;
|
|
#endif
|
|
|
|
/* SSTP certificate information */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _SSTP_CERT_INFO {
|
|
BOOL isDefault;
|
|
CRYPT_HASH_BLOB certBlob;
|
|
} SSTP_CERT_INFO;
|
|
typedef SSTP_CERT_INFO *PSSTP_CERT_INFO;
|
|
#endif
|
|
|
|
/* SSTP configuration parameters */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _SSTP_CONFIG_PARAMS {
|
|
DWORD dwNumPorts;
|
|
DWORD dwPortFlags;
|
|
BOOL isUseHttps;
|
|
DWORD certAlgorithm;
|
|
SSTP_CERT_INFO sstpCertDetails;
|
|
} SSTP_CONFIG_PARAMS;
|
|
typedef SSTP_CONFIG_PARAMS *PSSTP_CONFIG_PARAMS;
|
|
#endif
|
|
|
|
/* MPRAPI tunnel configuration parameters */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _MPRAPI_TUNNEL_CONFIG_PARAMS {
|
|
IKEV2_CONFIG_PARAMS IkeConfigParams;
|
|
PPTP_CONFIG_PARAMS PptpConfigParams;
|
|
L2TP_CONFIG_PARAMS L2tpConfigParams;
|
|
SSTP_CONFIG_PARAMS SstpConfigParams;
|
|
} MPRAPI_TUNNEL_CONFIG_PARAMS;
|
|
typedef MPRAPI_TUNNEL_CONFIG_PARAMS *PMPRAPI_TUNNEL_CONFIG_PARAMS;
|
|
#endif
|
|
|
|
/* MPR server (extended version) */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _MPR_SERVER_EX {
|
|
MPRAPI_OBJECT_HEADER Header;
|
|
DWORD fLanOnlyMode;
|
|
DWORD dwUpTime;
|
|
DWORD dwTotalPorts;
|
|
DWORD dwPortsInUse;
|
|
DWORD Reserved;
|
|
MPRAPI_TUNNEL_CONFIG_PARAMS ConfigParams;
|
|
} MPR_SERVER_EX;
|
|
typedef MPR_SERVER_EX *PMPR_SERVER_EX;
|
|
#endif
|
|
|
|
/* MPR server set configuration (extended version) */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _MPR_SERVER_SET_CONFIG_EX {
|
|
MPRAPI_OBJECT_HEADER Header;
|
|
DWORD setConfigForProtocols;
|
|
MPRAPI_TUNNEL_CONFIG_PARAMS ConfigParams;
|
|
} MPR_SERVER_SET_CONFIG_EX;
|
|
typedef MPR_SERVER_SET_CONFIG_EX *PMPR_SERVER_SET_CONFIG_EX;
|
|
#endif
|
|
|
|
/* Authentication validation (extended version) */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _AUTH_VALIDATION_EX {
|
|
MPRAPI_OBJECT_HEADER Header;
|
|
HANDLE hRasConnection;
|
|
WCHAR wszUserName[UNLEN + 1];
|
|
WCHAR wszLogonDomain[DNLEN + 1];
|
|
DWORD AuthInfoSize;
|
|
BYTE AuthInfo[1];
|
|
} AUTH_VALIDATION_EX;
|
|
#endif
|
|
|
|
/* RAS update connection */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct RAS_UPDATE_CONNECTION_ {
|
|
MPRAPI_OBJECT_HEADER Header;
|
|
DWORD dwIfIndex;
|
|
WCHAR wszLocalEndpointAddress[MAXIPADRESSLEN + 1];
|
|
WCHAR wszRemoteEndpointAddress[MAXIPADRESSLEN + 1];
|
|
} RAS_UPDATE_CONNECTION;
|
|
typedef RAS_UPDATE_CONNECTION *PRAS_UPDATE_CONNECTION;
|
|
#endif
|
|
|
|
/* MPRAPI administration DLL function templates */
|
|
#if (WINVER >= 0x0601)
|
|
typedef DWORD (APIENTRY *PMPRADMINGETIPADDRESSFORUSER)( WCHAR *, WCHAR *, DWORD *, BOOL * );
|
|
typedef VOID (APIENTRY *PMPRADMINRELEASEIPADRESS)( WCHAR *, WCHAR *, DWORD * );
|
|
typedef DWORD (APIENTRY *PMPRADMINGETIPV6ADDRESSFORUSER)( WCHAR *, WCHAR *, IN6_ADDR *, BOOL * );
|
|
typedef VOID (APIENTRY *PMPRADMINRELEASEIPV6ADDRESSFORUSER)( WCHAR *, WCHAR *, IN6_ADDR * );
|
|
typedef BOOL (APIENTRY *PMPRADMINACCEPTNEWCONNECTION)( RAS_CONNECTION_0 *, RAS_CONNECTION_1 * );
|
|
typedef BOOL (APIENTRY *PMPRADMINACCEPTNEWCONNECTION2)( RAS_CONNECTION_0 *, RAS_CONNECTION_1 *, RAS_CONNECTION_2 * );
|
|
typedef BOOL (APIENTRY *PMPRADMINACCEPTNEWCONNECTION3)( RAS_CONNECTION_0 *, RAS_CONNECTION_1 *, RAS_CONNECTION_2 *, RAS_CONNECTION_3 * );
|
|
typedef BOOL (APIENTRY *PMPRADMINACCEPTNEWLINK)( RAS_PORT_0 *, RAS_PORT_1 * );
|
|
typedef VOID (APIENTRY *PMPRADMINCONNECTIONHANGUPNOTIFICATION)( RAS_CONNECTION_0 *, RAS_CONNECTION_1 * );
|
|
typedef VOID (APIENTRY *PMPRADMINCONNECTIONHANGUPNOTIFICATION2)( RAS_CONNECTION_0 *, RAS_CONNECTION_1 *, RAS_CONNECTION_2 * );
|
|
typedef VOID (APIENTRY *PMPRADMINCONNECTIONHANGUPNOTIFICATION3)( RAS_CONNECTION_0 *, RAS_CONNECTION_1 *, RAS_CONNECTION_2 *, RAS_CONNECTION_3 * );
|
|
typedef VOID (APIENTRY *PMPRADMINLINKHANGUPNOTIFICATION)( RAS_PORT_0 *, RAS_PORT_1 * );
|
|
typedef DWORD (APIENTRY *PMPRADMINTERMINATEDLL)();
|
|
typedef BOOL (APIENTRY *PMPRADMINACCEPTREAUTHENTICATION)( RAS_CONNECTION_0 *, RAS_CONNECTION_1 *, RAS_CONNECTION_2 *, RAS_CONNECTION_3 * );
|
|
typedef BOOL (APIENTRY *PMPRADMINACCEPTNEWCONNECTIONEX)( RAS_CONNECTION_EX * );
|
|
typedef BOOL (APIENTRY *PMPRADMINACCEPTREAUTHENTICATIONEX)( RAS_CONNECTION_EX * );
|
|
typedef BOOL (APIENTRY *PMPRADMINACCEPTTUNNELENDPOINTCHANGEEX)( RAS_CONNECTION_EX * );
|
|
typedef VOID (APIENTRY *PMPRADMINCONNECTIONHANGUPNOTIFICATIONEX)( RAS_CONNECTION_EX * );
|
|
typedef DWORD (APIENTRY *PMPRADMINRASVALIDATEPREAUTHENTICATEDCONNECTIONEX)( AUTH_VALIDATION_EX * );
|
|
#endif
|
|
|
|
/* MPRAPI administration DLL callbacks */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _MPRAPI_ADMIN_DLL_CALLBACKS {
|
|
UCHAR revision;
|
|
PMPRADMINGETIPADDRESSFORUSER lpfnMprAdminGetIpAddressForUser;
|
|
PMPRADMINRELEASEIPADRESS lpfnMprAdminReleaseIpAddress;
|
|
PMPRADMINGETIPV6ADDRESSFORUSER lpfnMprAdminGetIpv6AddressForUser;
|
|
PMPRADMINRELEASEIPV6ADDRESSFORUSER lpfnMprAdminReleaseIpv6AddressForUser;
|
|
PMPRADMINACCEPTNEWLINK lpfnRasAdminAcceptNewLink;
|
|
PMPRADMINLINKHANGUPNOTIFICATION lpfnRasAdminLinkHangupNotification;
|
|
PMPRADMINTERMINATEDLL lpfnRasAdminTerminateDll;
|
|
PMPRADMINACCEPTNEWCONNECTIONEX lpfnRasAdminAcceptNewConnectionEx;
|
|
PMPRADMINACCEPTTUNNELENDPOINTCHANGEEX lpfnRasAdminAcceptEndpointChangeEx;
|
|
PMPRADMINACCEPTREAUTHENTICATIONEX lpfnRasAdminAcceptReauthenticationEx;
|
|
PMPRADMINCONNECTIONHANGUPNOTIFICATIONEX lpfnRasAdminConnectionHangupNotificationEx;
|
|
PMPRADMINRASVALIDATEPREAUTHENTICATEDCONNECTIONEX lpfnRASValidatePreAuthenticatedConnectionEx;
|
|
} MPRAPI_ADMIN_DLL_CALLBACKS;
|
|
typedef MPRAPI_ADMIN_DLL_CALLBACKS *PMPRAPI_ADMIN_DLL_CALLBACKS;
|
|
#endif
|
|
|
|
/* Functions in MPRAPI.DLL */
|
|
DWORD APIENTRY MprAdminBufferFree( LPVOID );
|
|
DWORD APIENTRY MprAdminConnectionClearStatus( RAS_SERVER_HANDLE, HANDLE );
|
|
DWORD APIENTRY MprAdminConnectionEnum( RAS_SERVER_HANDLE, DWORD, LPBYTE *, DWORD, LPDWORD, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY MprAdminConnectionGetInfo( RAS_SERVER_HANDLE, DWORD, HANDLE, LPBYTE * );
|
|
DWORD APIENTRY MprAdminGetErrorString( DWORD, LPWSTR * );
|
|
DWORD APIENTRY MprAdminGetPDCServer( const WCHAR *, const WCHAR *, LPWSTR );
|
|
DWORD APIENTRY MprAdminInterfaceConnect( MPR_SERVER_HANDLE, HANDLE, HANDLE, BOOL );
|
|
DWORD APIENTRY MprAdminInterfaceCreate( MPR_SERVER_HANDLE, DWORD, LPBYTE, HANDLE * );
|
|
DWORD APIENTRY MprAdminInterfaceDelete( MPR_SERVER_HANDLE, HANDLE );
|
|
DWORD APIENTRY MprAdminInterfaceDisconnect( MPR_SERVER_HANDLE, HANDLE );
|
|
DWORD APIENTRY MprAdminInterfaceGetCredentials( LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR );
|
|
DWORD APIENTRY MprAdminInterfaceGetHandle( MPR_SERVER_HANDLE, LPWSTR, HANDLE *, BOOL );
|
|
DWORD APIENTRY MprAdminInterfaceGetInfo( MPR_SERVER_HANDLE, HANDLE, DWORD, LPBYTE * );
|
|
DWORD APIENTRY MprAdminInterfaceQueryUpdateResult( MPR_SERVER_HANDLE, HANDLE, DWORD, LPDWORD );
|
|
DWORD APIENTRY MprAdminInterfaceSetCredentials( LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR );
|
|
DWORD APIENTRY MprAdminInterfaceSetInfo( MPR_SERVER_HANDLE, HANDLE, DWORD, LPBYTE );
|
|
DWORD APIENTRY MprAdminInterfaceTransportAdd( MPR_SERVER_HANDLE, HANDLE, DWORD, LPBYTE, DWORD );
|
|
DWORD APIENTRY MprAdminInterfaceTransportGetInfo( MPR_SERVER_HANDLE, HANDLE, DWORD, LPBYTE *, LPDWORD );
|
|
DWORD APIENTRY MprAdminInterfaceTransportRemove( MPR_SERVER_HANDLE, HANDLE, DWORD );
|
|
DWORD APIENTRY MprAdminInterfaceTransportSetInfo( MPR_SERVER_HANDLE, HANDLE, DWORD, LPBYTE, DWORD );
|
|
DWORD APIENTRY MprAdminInterfaceUpdatePhonebookInfo( MPR_SERVER_HANDLE, HANDLE );
|
|
DWORD APIENTRY MprAdminInterfaceUpdateRoutes( MPR_SERVER_HANDLE, HANDLE, DWORD, HANDLE );
|
|
BOOL APIENTRY MprAdminIsServiceRunning( LPWSTR );
|
|
DWORD APIENTRY MprAdminMIBBufferFree( LPVOID );
|
|
DWORD APIENTRY MprAdminMIBEntryCreate( MIB_SERVER_HANDLE, DWORD, DWORD, LPVOID, DWORD );
|
|
DWORD APIENTRY MprAdminMIBEntryDelete( MIB_SERVER_HANDLE, DWORD, DWORD, LPVOID, DWORD );
|
|
DWORD APIENTRY MprAdminMIBEntryGet( MIB_SERVER_HANDLE, DWORD, DWORD, LPVOID, DWORD, LPVOID *, LPDWORD );
|
|
DWORD APIENTRY MprAdminMIBEntryGetFirst( MIB_SERVER_HANDLE, DWORD, DWORD, LPVOID, DWORD, LPVOID *, LPDWORD );
|
|
DWORD APIENTRY MprAdminMIBEntryGetNext( MIB_SERVER_HANDLE, DWORD, DWORD, LPVOID, DWORD, LPVOID *, LPDWORD );
|
|
DWORD APIENTRY MprAdminMIBEntrySet( MIB_SERVER_HANDLE, DWORD, DWORD, LPVOID, DWORD );
|
|
DWORD APIENTRY MprAdminMIBServerConnect( LPWSTR, MIB_SERVER_HANDLE * );
|
|
VOID APIENTRY MprAdminMIBServerDisconnect( MIB_SERVER_HANDLE );
|
|
DWORD APIENTRY MprAdminPortClearStatus( RAS_SERVER_HANDLE, HANDLE );
|
|
DWORD APIENTRY MprAdminPortDisconnect( RAS_SERVER_HANDLE, HANDLE );
|
|
DWORD APIENTRY MprAdminPortEnum( RAS_SERVER_HANDLE, DWORD, HANDLE, LPBYTE *, DWORD, LPDWORD, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY MprAdminPortGetInfo( RAS_SERVER_HANDLE, DWORD, HANDLE, LPBYTE * );
|
|
DWORD APIENTRY MprAdminPortReset( RAS_SERVER_HANDLE, HANDLE );
|
|
DWORD APIENTRY MprAdminServerConnect( LPWSTR, MPR_SERVER_HANDLE * );
|
|
VOID APIENTRY MprAdminServerDisconnect( MPR_SERVER_HANDLE );
|
|
DWORD APIENTRY MprAdminServerGetInfo( MPR_SERVER_HANDLE, DWORD, LPBYTE * );
|
|
DWORD APIENTRY MprAdminTransportGetInfo( MPR_SERVER_HANDLE, DWORD, LPBYTE *, LPDWORD, LPBYTE *, LPDWORD );
|
|
DWORD APIENTRY MprAdminTransportSetInfo( MPR_SERVER_HANDLE, DWORD, LPBYTE, DWORD, LPBYTE, DWORD );
|
|
DWORD APIENTRY MprAdminUserGetInfo( const WCHAR *, const WCHAR *, DWORD, LPBYTE );
|
|
DWORD APIENTRY MprAdminUserSetInfo( const WCHAR *, const WCHAR *, DWORD, const LPBYTE );
|
|
DWORD APIENTRY MprConfigGetFriendlyName( HANDLE, PWCHAR, PWCHAR, DWORD );
|
|
DWORD APIENTRY MprConfigGetGuidName( HANDLE, PWCHAR, PWCHAR, DWORD );
|
|
DWORD APIENTRY MprConfigInterfaceCreate( HANDLE, DWORD, LPBYTE, HANDLE * );
|
|
DWORD APIENTRY MprConfigInterfaceDelete( HANDLE, HANDLE );
|
|
DWORD APIENTRY MprConfigInterfaceEnum( HANDLE, DWORD, LPBYTE *, DWORD, LPDWORD, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY MprConfigInterfaceGetHandle( HANDLE, LPWSTR, HANDLE * );
|
|
DWORD APIENTRY MprConfigInterfaceGetInfo( HANDLE, HANDLE, DWORD, LPBYTE *, LPDWORD );
|
|
DWORD APIENTRY MprConfigInterfaceSetInfo( HANDLE, HANDLE, DWORD, LPBYTE );
|
|
DWORD APIENTRY MprConfigInterfaceTransportAdd( HANDLE, HANDLE, DWORD, LPWSTR, LPBYTE, DWORD, HANDLE * );
|
|
DWORD APIENTRY MprConfigInterfaceTransportEnum( HANDLE, HANDLE, DWORD, LPBYTE *, DWORD, LPDWORD, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY MprConfigInterfaceTransportGetHandle( HANDLE, HANDLE, DWORD, HANDLE * );
|
|
DWORD APIENTRY MprConfigInterfaceTransportGetInfo( HANDLE, HANDLE, HANDLE, LPBYTE *, LPDWORD );
|
|
DWORD APIENTRY MprConfigInterfaceTransportRemove( HANDLE, HANDLE, HANDLE );
|
|
DWORD APIENTRY MprConfigInterfaceTransportSetInfo( HANDLE, HANDLE, HANDLE, LPBYTE, DWORD );
|
|
DWORD APIENTRY MprConfigServerBackup( HANDLE, LPWSTR );
|
|
DWORD APIENTRY MprConfigServerConnect( LPWSTR, HANDLE * );
|
|
VOID APIENTRY MprConfigServerDisconnect( HANDLE );
|
|
DWORD APIENTRY MprConfigServerFree( LPVOID );
|
|
DWORD APIENTRY MprConfigServerGetInfo( HANDLE, DWORD, LPBYTE * );
|
|
DWORD APIENTRY MprConfigServerInstall( DWORD, PVOID );
|
|
DWORD APIENTRY MprConfigServerRefresh( HANDLE );
|
|
DWORD APIENTRY MprConfigServerRestore( HANDLE, LPWSTR );
|
|
DWORD APIENTRY MprConfigTransportCreate( HANDLE, DWORD, LPWSTR, LPBYTE, DWORD, LPBYTE, DWORD, LPWSTR, HANDLE * );
|
|
DWORD APIENTRY MprConfigTransportDelete( HANDLE, HANDLE );
|
|
DWORD APIENTRY MprConfigTransportEnum( HANDLE, DWORD, LPBYTE *, DWORD, LPDWORD, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY MprConfigTransportGetHandle( HANDLE, DWORD, HANDLE * );
|
|
DWORD APIENTRY MprConfigTransportGetInfo( HANDLE, HANDLE, LPBYTE *, LPDWORD, LPBYTE *, LPDWORD, LPWSTR * );
|
|
DWORD APIENTRY MprConfigTransportSetInfo( HANDLE, HANDLE, LPBYTE, DWORD, LPBYTE, DWORD, LPWSTR );
|
|
DWORD APIENTRY MprInfoBlockAdd( LPVOID, DWORD, DWORD, DWORD, LPBYTE, LPVOID * );
|
|
DWORD APIENTRY MprInfoBlockFind( LPVOID, DWORD, LPDWORD, LPDWORD, LPBYTE * );
|
|
DWORD APIENTRY MprInfoBlockQuerySize( LPVOID );
|
|
DWORD APIENTRY MprInfoBlockRemove( LPVOID, DWORD, LPVOID * );
|
|
DWORD APIENTRY MprInfoBlockSet( LPVOID, DWORD, DWORD, DWORD, LPBYTE, LPVOID * );
|
|
DWORD APIENTRY MprInfoCreate( DWORD, LPVOID * );
|
|
DWORD APIENTRY MprInfoDelete( LPVOID );
|
|
DWORD APIENTRY MprInfoDuplicate( LPVOID, LPVOID * );
|
|
DWORD APIENTRY MprInfoRemoveAll( LPVOID, LPVOID * );
|
|
DWORD APIENTRY MprSetupIpInIpInterfaceFriendlyNameCreate( PWCHAR, PMPR_IPINIP_INTERFACE_0 );
|
|
DWORD APIENTRY MprSetupIpInIpInterfaceFriendlyNameDelete( PWCHAR, GUID * );
|
|
DWORD APIENTRY MprSetupIpInIpInterfaceFriendlyNameEnum( PWCHAR, LPBYTE *, LPDWORD );
|
|
DWORD APIENTRY MprSetupIpInIpInterfaceFriendlyNameFree( LPVOID );
|
|
#if (WINVER >= 0x0500)
|
|
DWORD APIENTRY MprAdminDeregisterConnectionNotification( MPR_SERVER_HANDLE, HANDLE );
|
|
DWORD APIENTRY MprAdminDeviceEnum( MPR_SERVER_HANDLE, DWORD, LPBYTE *, LPDWORD );
|
|
DWORD APIENTRY MprAdminInterfaceDeviceGetInfo( MPR_SERVER_HANDLE, HANDLE, DWORD, DWORD, LPBYTE * );
|
|
DWORD APIENTRY MprAdminInterfaceDeviceSetInfo( MPR_SERVER_HANDLE, HANDLE, DWORD, DWORD, LPBYTE );
|
|
DWORD APIENTRY MprAdminInterfaceGetCredentialsEx( MPR_SERVER_HANDLE, HANDLE, DWORD, LPBYTE * );
|
|
DWORD APIENTRY MprAdminInterfaceSetCredentialsEx( MPR_SERVER_HANDLE, HANDLE, DWORD, LPBYTE );
|
|
DWORD APIENTRY MprAdminRegisterConnectionNotification( MPR_SERVER_HANDLE, HANDLE );
|
|
DWORD APIENTRY MprAdminSendUserMessage( MPR_SERVER_HANDLE, HANDLE, LPWSTR );
|
|
DWORD APIENTRY MprAdminTransportCreate( MPR_SERVER_HANDLE, DWORD, LPWSTR, LPBYTE, DWORD, LPBYTE, DWORD, LPWSTR );
|
|
#endif
|
|
#if (WINVER >= 0x0501)
|
|
DWORD APIENTRY MprAdminConnectionRemoveQuarantine( HANDLE, HANDLE, BOOL );
|
|
DWORD APIENTRY MprAdminEstablishDomainRasServer( PWCHAR, PWCHAR, BOOL );
|
|
DWORD APIENTRY MprAdminIsDomainRasServer( PWCHAR, PWCHAR, PBOOL );
|
|
DWORD APIENTRY MprAdminServerGetCredentials( MPR_SERVER_HANDLE, DWORD, LPBYTE * );
|
|
DWORD APIENTRY MprAdminServerSetCredentials( MPR_SERVER_HANDLE, DWORD, LPBYTE );
|
|
DWORD APIENTRY MprAdminServerSetInfo( MPR_SERVER_HANDLE, DWORD, LPBYTE );
|
|
DWORD APIENTRY MprConfigServerSetInfo( MPR_SERVER_HANDLE, DWORD, LPBYTE );
|
|
#endif
|
|
#if (WINVER >= 0x0600)
|
|
DWORD APIENTRY MprConfigFilterGetInfo( HANDLE, DWORD, LPBYTE );
|
|
DWORD APIENTRY MprConfigFilterSetInfo( HANDLE, DWORD, LPBYTE );
|
|
#endif
|
|
#if (WINVER >= 0x0601)
|
|
DWORD APIENTRY MprAdminConnectionEnumEx( RAS_SERVER_HANDLE, PMPRAPI_OBJECT_HEADER, DWORD, LPDWORD, LPDWORD, PRAS_CONNECTION_EX *, LPDWORD );
|
|
DWORD APIENTRY MprAdminConnectionGetInfoEx( RAS_SERVER_HANDLE, HANDLE, PRAS_CONNECTION_EX );
|
|
DWORD APIENTRY MprAdminIsServiceInitialized( LPWSTR, BOOL * );
|
|
DWORD APIENTRY MprAdminServerGetInfoEx( MPR_SERVER_HANDLE, MPR_SERVER_EX * );
|
|
DWORD APIENTRY MprAdminServerSetInfoEx( MPR_SERVER_HANDLE, MPR_SERVER_SET_CONFIG_EX * );
|
|
DWORD APIENTRY MprAdminUpdateConnection( RAS_SERVER_HANDLE, HANDLE, PRAS_UPDATE_CONNECTION );
|
|
DWORD APIENTRY MprConfigServerGetInfoEx( HANDLE, MPR_SERVER_EX * );
|
|
DWORD APIENTRY MprConfigServerSetInfoEx( HANDLE, MPR_SERVER_SET_CONFIG_EX * );
|
|
#endif
|
|
|
|
/* Functions implemented by administration providers */
|
|
BOOL APIENTRY MprAdminAcceptNewConnection( RAS_CONNECTION_0 *, RAS_CONNECTION_1 * );
|
|
BOOL APIENTRY MprAdminAcceptNewLink( RAS_PORT_0 *, RAS_PORT_1 * );
|
|
VOID APIENTRY MprAdminConnectionHangupNotification( RAS_CONNECTION_0 *, RAS_CONNECTION_1 * );
|
|
DWORD APIENTRY MprAdminGetIpAddressForUser( WCHAR *, WCHAR *, DWORD *, BOOL * );
|
|
VOID APIENTRY MprAdminLinkHangupNotification( RAS_PORT_0 *, RAS_PORT_1 * );
|
|
VOID APIENTRY MprAdminReleaseIpAddress( WCHAR *, WCHAR *, DWORD * );
|
|
#if (WINVER >= 0x0500)
|
|
BOOL APIENTRY MprAdminAcceptNewConnection2( RAS_CONNECTION_0 *, RAS_CONNECTION_1 *, RAS_CONNECTION_2 * );
|
|
VOID APIENTRY MprAdminConnectionHangupNotification2( RAS_CONNECTION_0 *, RAS_CONNECTION_1 *, RAS_CONNECTION_2 * );
|
|
DWORD APIENTRY MprAdminInitializeDll( VOID );
|
|
DWORD APIENTRY MprAdminTerminateDll( VOID );
|
|
#endif
|
|
#if (WINVER >= 0x0600)
|
|
BOOL APIENTRY MprAdminAcceptNewConnection3( RAS_CONNECTION_0 *, RAS_CONNECTION_1 *, RAS_CONNECTION_2 *, RAS_CONNECTION_3 * );
|
|
BOOL APIENTRY MprAdminAcceptReauthentication( RAS_CONNECTION_0 *, RAS_CONNECTION_1 *, RAS_CONNECTION_2 *, RAS_CONNECTION_3 * );
|
|
VOID APIENTRY MprAdminConnectionHangupNotification3( RAS_CONNECTION_0 *, RAS_CONNECTION_1 *, RAS_CONNECTION_2 *, RAS_CONNECTION_3 * );
|
|
DWORD APIENTRY MprAdminGetIpv6AddressForUser( WCHAR *, WCHAR *, IN6_ADDR *, BOOL * );
|
|
VOID APIENTRY MprAdminReleaseIpv6AddressForUser( WCHAR *, WCHAR *, IN6_ADDR * );
|
|
#endif
|
|
#if (WINVER >= 0x0601)
|
|
BOOL APIENTRY MprAdminAcceptNewConnectionEx( RAS_CONNECTION_EX * );
|
|
BOOL APIENTRY MprAdminAcceptReauthenticationEx( RAS_CONNECTION_EX * );
|
|
void APIENTRY MprAdminConnectionHangupNotificationEx( RAS_CONNECTION_EX * );
|
|
DWORD APIENTRY MprAdminInitializeDllEx( PMPRAPI_ADMIN_DLL_CALLBACKS );
|
|
#endif
|
|
|
|
/* Functions implemented as macros */
|
|
#define MprInfoBlockExists( p1, p2 ) \
|
|
(MprInfoBlockFind( p1, p2, NULL, NULL, NULL ) == NO_ERROR)
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* __ROUTING_MPRADMIN_H__ */
|