(MprAdminMIBEntryDelete,MprAdminMIBEntryGet,MprAdminMIBEntryGetFirst) (MprAdminMIBEntryGetNext,MprAdminMIBEntrySet,MprAdminMIBGetTrapInfo) (MprAdminMIBServerConnect,MprAdminMIBServerDisconnect) (MprAdminMIBSetTrapInfo): Declare functions. Note: MprAdminMIBSetTrapInfo is missing from mprapi.def. (MIB_SERVER_HANDLE): New typedef. (MprConfigTransportSetInfo): Declare function. * lib/mprapi.def (MprSetupIpInIpInterfaceFriendlyNameEnum) (MprSetupIpInIpInterfaceFriendlyNameFree): Fix size.
		
			
				
	
	
		
			573 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			573 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * mprapi.h - Routing and Remote Access Services
 | 
						|
 *
 | 
						|
 * THIS SOFTWARE IS NOT COPYRIGHTED
 | 
						|
 *
 | 
						|
 * This source code is offered for use in the public domain.  You may use,
 | 
						|
 * modify or distribute it freely.
 | 
						|
 *
 | 
						|
 * This code is distributed in the hope that it will be useful but
 | 
						|
 * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
 | 
						|
 * DISCLAIMED.  This includes but is not limited to warranties of
 | 
						|
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 | 
						|
 *
 | 
						|
 */
 | 
						|
#ifndef _MPRAPI_H
 | 
						|
#define _MPRAPI_H
 | 
						|
#if __GNUC__ >= 3
 | 
						|
#pragma GCC system_header
 | 
						|
#endif
 | 
						|
 | 
						|
#include <ras.h>
 | 
						|
#include <lmcons.h>
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
#if (_WIN32_WINNT >= 0x0500)
 | 
						|
/*--- Router Management Reference - Router Management Enumerated Types */
 | 
						|
typedef enum _ROUTER_CONNECTION_STATE {
 | 
						|
	ROUTER_IF_STATE_UNREACHABLE,
 | 
						|
	ROUTER_IF_STATE_DISCONNECTED,
 | 
						|
	ROUTER_IF_STATE_CONNECTING,
 | 
						|
	ROUTER_IF_STATE_CONNECTED
 | 
						|
} ROUTER_CONNECTION_STATE;
 | 
						|
typedef enum _ROUTER_INTERFACE_TYPE {
 | 
						|
	ROUTER_IF_TYPE_CLIENT,
 | 
						|
	ROUTER_IF_TYPE_HOME_ROUTER,
 | 
						|
	ROUTER_IF_TYPE_FULL_ROUTER,
 | 
						|
	ROUTER_IF_TYPE_DEDICATED,
 | 
						|
	ROUTER_IF_TYPE_INTERNAL,
 | 
						|
	ROUTER_IF_TYPE_LOOPBACK,
 | 
						|
	ROUTER_IF_TYPE_TUNNEL1,
 | 
						|
	ROUTER_IF_TYPE_DIALOUT
 | 
						|
} ROUTER_INTERFACE_TYPE;
 | 
						|
#define MPR_INTERFACE_ADMIN_DISABLED 0x00000002
 | 
						|
#define MPR_INTERFACE_CONNECTION_FAILURE 0x00000004
 | 
						|
#define MPR_INTERFACE_DIALOUT_HOURS_RESTRICTION 0x00000010
 | 
						|
#define MPR_INTERFACE_OUT_OF_RESOURCES 0x00000001
 | 
						|
#define MPR_INTERFACE_SERVICE_PAUSED 0x00000008
 | 
						|
#define MPR_INTERFACE_NO_MEDIA_SENSE 0x00000020
 | 
						|
#define MPR_INTERFACE_NO_DEVICE 0x00000040
 | 
						|
/*--- Router Management MIB Reference - Transport and Protocol Constants */
 | 
						|
#define PID_ATALK 0x00000029
 | 
						|
#define PID_IP 0x00000021
 | 
						|
#define PID_IPX 0x0000002B
 | 
						|
#define PID_NBF 0x0000003F
 | 
						|
/*--- Remote Access Service Administration Reference - RAS Administration Enumerated Types */
 | 
						|
typedef enum _RAS_HARDWARE_CONDITION {
 | 
						|
	RAS_HARDWARE_OPERATIONAL,
 | 
						|
	RAS_HARDWARE_FAILURE
 | 
						|
} RAS_HARDWARE_CONDITION;
 | 
						|
typedef enum _RAS_PORT_CONDITION {
 | 
						|
	RAS_PORT_NON_OPERATIONAL,
 | 
						|
	RAS_PORT_DISCONNECTED,	
 | 
						|
	RAS_PORT_CALLING_BACK,
 | 
						|
	RAS_PORT_LISTENING,
 | 
						|
	RAS_PORT_AUTHENTICATING,
 | 
						|
	RAS_PORT_AUTHENTICATED,	
 | 
						|
	RAS_PORT_INITIALIZING
 | 
						|
} RAS_PORT_CONDITION;
 | 
						|
/*--- Remote Access Service Administration Reference - RAS Administration Structures */
 | 
						|
#define ATADDRESSLEN 32
 | 
						|
typedef struct _PPP_ATCP_INFO {
 | 
						|
	DWORD dwError;
 | 
						|
	WCHAR wszAddress[ATADDRESSLEN+1];
 | 
						|
} PPP_ATCP_INFO;
 | 
						|
typedef struct _PPP_CCP_INFO {
 | 
						|
	DWORD dwError;
 | 
						|
	DWORD dwCompressionAlgorithm;
 | 
						|
	DWORD dwOptions;
 | 
						|
	DWORD dwRemoteCompressionAlgorithm;
 | 
						|
	DWORD dwRemoteOptions;
 | 
						|
} PPP_CCP_INFO;
 | 
						|
#define RASCCPCA_STAC 0x00000005
 | 
						|
#define RASCCPCA_MPPC 0x00000006
 | 
						|
#define PPP_CCP_COMPRESSION 0x00000001
 | 
						|
#define PPP_CCP_ENCRYPTION40BITOLD 0x00000010
 | 
						|
#define PPP_CCP_ENCRYPTION40BIT 0x00000020
 | 
						|
#define PPP_CCP_ENCRYPTION128BIT 0x00000040
 | 
						|
#define PPP_CCP_ENCRYPTION56BIT 0x00000080
 | 
						|
#define PPP_CCP_HISTORYLESS 0x01000000
 | 
						|
#define IPADDRESSLEN 15
 | 
						|
typedef struct _PPP_IPCP_INFO {
 | 
						|
	DWORD dwError;
 | 
						|
	WCHAR wszAddress[IPADDRESSLEN+1];
 | 
						|
	WCHAR wszRemoteAddress[IPADDRESSLEN+1];
 | 
						|
} PPP_IPCP_INFO;
 | 
						|
typedef struct _PPP_IPCP_INFO2 {
 | 
						|
	DWORD dwError;
 | 
						|
	WCHAR wszAddress[IPADDRESSLEN+1];
 | 
						|
	WCHAR wszRemoteAddress[IPADDRESSLEN+1];
 | 
						|
	DWORD dwOptions;
 | 
						|
	DWORD dwRemoteOptons;
 | 
						|
} PPP_IPCP_INFO2;
 | 
						|
#define IPXADDRESSLEN 22
 | 
						|
typedef struct _PPP_IPXCP_INFO {
 | 
						|
	DWORD dwError;
 | 
						|
	WCHAR wszAddress[IPXADDRESSLEN+1];
 | 
						|
} PPP_IPXCP_INFO;
 | 
						|
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;
 | 
						|
#define PPP_LCP_PAP 0x0000C023
 | 
						|
#define PPP_LCP_SPAP 0x0000C027
 | 
						|
#define PPP_LCP_CHAP 0x0000C223
 | 
						|
#define PPP_LCP_EAP 0x0000C227
 | 
						|
#define PPP_LCP_CHAP_MD5 0x00000005
 | 
						|
#define PPP_LCP_CHAP_MS 0x00000080
 | 
						|
#define PPP_LCP_CHAP_MSV2 0x00000081
 | 
						|
#define PPP_LCP_MULTILINK_FRAMING 0x00000001
 | 
						|
typedef struct _PPP_NBFCP_INFO {
 | 
						|
	DWORD dwError;
 | 
						|
	WCHAR wszWksta[NETBIOS_NAME_LEN+1];
 | 
						|
} PPP_NBFCP_INFO;
 | 
						|
typedef struct _PPP_INFO {
 | 
						|
	PPP_NBFCP_INFO nbf;
 | 
						|
	PPP_IPCP_INFO ip;
 | 
						|
	PPP_IPXCP_INFO ipx;
 | 
						|
	PPP_ATCP_INFO at;
 | 
						|
} PPP_INFO;
 | 
						|
typedef struct _PPP_INFO_2 {
 | 
						|
	PPP_NBFCP_INFO nbf;
 | 
						|
	PPP_IPCP_INFO2 ip;
 | 
						|
	PPP_IPXCP_INFO ipx;
 | 
						|
	PPP_ATCP_INFO at;
 | 
						|
	PPP_CCP_INFO ccp;
 | 
						|
	PPP_LCP_INFO lcp;
 | 
						|
} PPP_INFO_2;
 | 
						|
#define MAX_INTERFACE_NAME_LEN 256
 | 
						|
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,*PRAS_CONNECTION_0;
 | 
						|
#define RAS_FLAGS_PPP_CONNECTION 0x00000001
 | 
						|
#define RAS_FLAGS_MESSENGER_PRESENT 0x00000002
 | 
						|
#define RAS_FLAGS_RAS_CONNECTION 0x00000004
 | 
						|
#define RAS_FLAGS_QUARANTINE_PRESENT 0x00000008
 | 
						|
typedef struct RAS_CONNECTION_1 {
 | 
						|
	HANDLE hConnection;
 | 
						|
	HANDLE hInterface;
 | 
						|
	PPP_INFO PppInfo;
 | 
						|
	DWORD dwBytesXmited;
 | 
						|
	DWORD dwBytesRcved;
 | 
						|
	DWORD dwFramesXmited;
 | 
						|
	DWORD dwFramesRcved;
 | 
						|
	DWORD dwCrcErr;
 | 
						|
	DWORD dwTimeoutErr;
 | 
						|
	DWORD dwAlignmentErr;
 | 
						|
	DWORD dwHardwareOverrunErr;
 | 
						|
	DWORD dwFramingErr;
 | 
						|
	DWORD dwBufferOverrunErr;
 | 
						|
	DWORD dwCompressionRatioIn;
 | 
						|
	DWORD dwCompressionRatioOut;
 | 
						|
} RAS_CONNECTION_1,*PRAS_CONNECTION_1;
 | 
						|
typedef struct _RAS_CONNECTION_2 {
 | 
						|
	HANDLE hConnection;
 | 
						|
	WCHAR wszUserName[UNLEN+1];
 | 
						|
	ROUTER_INTERFACE_TYPE dwInterfaceType;
 | 
						|
	GUID guid;
 | 
						|
	PPP_INFO_2 PppInfo2;
 | 
						|
} RAS_CONNECTION_2,*PRAS_CONNECTION_2;
 | 
						|
#define MAX_PORT_NAME 16
 | 
						|
#define MAX_MEDIA_NAME 16
 | 
						|
#define MAX_DEVICE_NAME 128
 | 
						|
#define MAX_DEVICETYPE_NAME 16
 | 
						|
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,*PRAS_PORT_0;
 | 
						|
typedef struct _RAS_PORT_1 {
 | 
						|
	HANDLE hPort;
 | 
						|
	HANDLE hConnection;
 | 
						|
	RAS_HARDWARE_CONDITION dwHardwareCondition;
 | 
						|
	DWORD dwLineSpeed;
 | 
						|
	DWORD dwBytesXmited;
 | 
						|
	DWORD dwBytesRcved;
 | 
						|
	DWORD dwFramesXmited;
 | 
						|
	DWORD dwFramesRcved;
 | 
						|
	DWORD dwCrcErr;
 | 
						|
	DWORD dwTimeoutErr;
 | 
						|
	DWORD dwAlignmentErr;
 | 
						|
	DWORD dwHardwareOverrunErr;
 | 
						|
	DWORD dwFramingErr;
 | 
						|
	DWORD dwBufferOverrunErr;
 | 
						|
	DWORD dwCompressionRatioIn;
 | 
						|
	DWORD dwCompressionRatioOut;
 | 
						|
} RAS_PORT_1,*PRAS_PORT_1;
 | 
						|
#define MAX_PHONE_NUMBER_LEN 128
 | 
						|
typedef struct _RAS_USER_0 {
 | 
						|
	BYTE bfPrivilege;
 | 
						|
	WCHAR wszPhoneNumber[MAX_PHONE_NUMBER_LEN+1];
 | 
						|
} RAS_USER_0,*PRAS_USER_0;
 | 
						|
#define RASPRIV_NoCallback 0x01
 | 
						|
#define RASPRIV_AdminSetCallback 0x02
 | 
						|
#define RASPRIV_CallerSetCallback 0x04
 | 
						|
#define RASPRIV_DialinPrivilege 0x08
 | 
						|
#define RASPRIV_CallbackType 0x07
 | 
						|
typedef struct _RAS_USER_1 {
 | 
						|
	BYTE bfPrivilege;
 | 
						|
	WCHAR wszPhoneNumber[MAX_PHONE_NUMBER_LEN+1];
 | 
						|
	BYTE bfPrivilege2;
 | 
						|
} RAS_USER_1,*PRAS_USER_1;
 | 
						|
#define RASPRIV2_DialinPolicy 0x01
 | 
						|
/*--- Router Management Reference - Router Management Structures */
 | 
						|
typedef struct _MPR_CREDENTIALSEX_0 {
 | 
						|
	DWORD  dwSize;
 | 
						|
	LPBYTE lpbCredentialsInfo;
 | 
						|
} MPR_CREDENTIALSEX_0,*PMPR_CREDENTIALSEX_0;
 | 
						|
#if (_WIN32_WINNT >= 0x0502)
 | 
						|
typedef struct _MPR_CREDENTIALSEX_1 {
 | 
						|
	DWORD  dwSize;
 | 
						|
	LPBYTE lpbCredentialsInfo;
 | 
						|
} MPR_CREDENTIALSEX_1,*PMPR_CREDENTIALSEX_1;
 | 
						|
#endif
 | 
						|
#define MPR_MaxDeviceType RAS_MaxDeviceType
 | 
						|
#define MPR_MaxDeviceName RAS_MaxDeviceName
 | 
						|
#define MPR_MaxPadType RAS_MaxPadType
 | 
						|
#define MPR_MaxX25Address RAS_MaxX25Address
 | 
						|
#define MPR_MaxFacilities RAS_MaxFacilities
 | 
						|
#define MPR_MaxUserData RAS_MaxUserData
 | 
						|
#define MPR_MaxPhoneNumber RAS_MaxPhoneNumber
 | 
						|
typedef struct _MPR_DEVICE_0 {
 | 
						|
	WCHAR szDeviceType[MPR_MaxDeviceType+1];
 | 
						|
	WCHAR szDeviceName[MPR_MaxDeviceName+1];
 | 
						|
} MPR_DEVICE_0,*PMPR_DEVICE_0;
 | 
						|
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,*PMPR_DEVICE_1;
 | 
						|
#define MAX_TRANSPORT_NAME_LEN 40
 | 
						|
typedef struct _MPR_IFTRANSPORT_0 {
 | 
						|
	DWORD dwTransportId;
 | 
						|
	HANDLE hIfTransport;
 | 
						|
	WCHAR wszIfTransportName[MAX_TRANSPORT_NAME_LEN+1];
 | 
						|
} MPR_IFTRANSPORT_0,*PMPR_IFTRANSPORT_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,*PMPR_INTERFACE_0;
 | 
						|
typedef struct _MPR_INTERFACE_1 {
 | 
						|
	WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
 | 
						|
	HANDLE hInterface;
 | 
						|
	BOOL fEnabled;
 | 
						|
	ROUTER_INTERFACE_TYPE IfType;
 | 
						|
	ROUTER_CONNECTION_STATE dwConnectionState;
 | 
						|
	DWORD fUnReachabilityReasons;
 | 
						|
	DWORD dwLastError;
 | 
						|
	LPWSTR lpwsDialoutHoursRestriction;
 | 
						|
} MPR_INTERFACE_1,*PMPR_INTERFACE_1;
 | 
						|
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,*PMPR_INTERFACE_2;
 | 
						|
#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_UseLogonCredentials RASEO_UseLogonCredentials
 | 
						|
#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
 | 
						|
#define MPRNP_Ipx RASNP_Ipx
 | 
						|
#define MPRNP_Ip RASNP_Ip
 | 
						|
#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 MPRDT_Irda RASDT_Irda
 | 
						|
#define MPRDT_Parallel RASDT_Parallel
 | 
						|
#define MPRDM_DialAll RASEDM_DialAll
 | 
						|
#define MPRDM_DialAsNeeded RASEDM_DialAsNeeded
 | 
						|
#define MPRIDS_Disabled RASIDS_Disabled
 | 
						|
#define MPRIDS_UseGlobalValue RASIDS_UseGlobalValue
 | 
						|
#define MPRET_Phone RASET_Phone
 | 
						|
#define MPRET_Vpn RASET_Vpn
 | 
						|
#define MPRET_Direct RASET_Direct
 | 
						|
#define MPR_ET_None ET_None
 | 
						|
#define MPR_ET_Require ET_Require
 | 
						|
#define MPR_ET_RequireMax ET_RequireMax
 | 
						|
#define MPR_ET_Optional ET_Optional
 | 
						|
#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
 | 
						|
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,*PMPR_INTERFACE_3;
 | 
						|
typedef struct _MPR_SERVER_0 {
 | 
						|
	BOOL fLanOnlyMode;
 | 
						|
	DWORD dwUpTime;
 | 
						|
	DWORD dwTotalPorts;
 | 
						|
	DWORD dwPortsInUse;
 | 
						|
} MPR_SERVER_0,*PMPR_SERVER_0;
 | 
						|
#if (_WIN32_WINNT >= 0x0502)
 | 
						|
typedef struct _MPR_SERVER_1 {
 | 
						|
	DWORD dwNumPptpPorts;
 | 
						|
	DWORD dwPptpPortFlags;
 | 
						|
	DWORD dwNumL2tpPorts;
 | 
						|
	DWORD dwL2tpPortFlags;
 | 
						|
} MPR_SERVER_1,*PMPR_SERVER_1;
 | 
						|
#define MPR_ENABLE_RAS_ON_DEVICE 0x00000001
 | 
						|
#define MPR_ENABLE_ROUTING_ON_DEVICE 0x00000002
 | 
						|
#endif
 | 
						|
typedef struct _MPR_TRANSPORT_0 {
 | 
						|
	DWORD dwTransportId;
 | 
						|
	HANDLE hTransport;
 | 
						|
	WCHAR wszTransportName[MAX_TRANSPORT_NAME_LEN+1];
 | 
						|
} MPR_TRANSPORT_0,*PMPR_TRANSPORT_0;
 | 
						|
typedef HANDLE RAS_SERVER_HANDLE;
 | 
						|
typedef HANDLE MPR_SERVER_HANDLE;
 | 
						|
/*--- Remote Access Service Administration Reference - RAS Administration Functions */
 | 
						|
DWORD WINAPI MprAdminConnectionClearStats(RAS_SERVER_HANDLE,HANDLE);
 | 
						|
DWORD WINAPI MprAdminConnectionEnum(RAS_SERVER_HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
 | 
						|
DWORD WINAPI MprAdminConnectionGetInfo(RAS_SERVER_HANDLE,DWORD,HANDLE,LPBYTE*);
 | 
						|
DWORD WINAPI MprAdminConnectionRemoveQuarantine(HANDLE,HANDLE,BOOL);
 | 
						|
DWORD WINAPI MprAdminPortClearStats(RAS_SERVER_HANDLE,HANDLE);
 | 
						|
DWORD WINAPI MprAdminPortDisconnect(RAS_SERVER_HANDLE,HANDLE);
 | 
						|
DWORD WINAPI MprAdminPortEnum(RAS_SERVER_HANDLE,DWORD,HANDLE,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
 | 
						|
DWORD WINAPI MprAdminPortGetInfo(RAS_SERVER_HANDLE,DWORD,HANDLE,LPBYTE);
 | 
						|
DWORD WINAPI MprAdminPortReset(RAS_SERVER_HANDLE,HANDLE);
 | 
						|
/*--- Remote Access Service Administration Reference - RAS Administration Functions - RAS Admin DLL Functions */
 | 
						|
BOOL WINAPI MprAdminAcceptNewConnection(RAS_CONNECTION_0*,RAS_CONNECTION_1*);
 | 
						|
BOOL WINAPI MprAdminAcceptNewConnection2(RAS_CONNECTION_0*,RAS_CONNECTION_1*,RAS_CONNECTION_2*);
 | 
						|
BOOL WINAPI MprAdminAcceptNewLink(RAS_PORT_0*,RAS_PORT_1*);
 | 
						|
BOOL WINAPI MprAdminAcceptReauthentication(RAS_CONNECTION_0*,RAS_CONNECTION_1*,RAS_CONNECTION_2*,RAS_CONNECTION_3*);
 | 
						|
void WINAPI MprAdminConnectionHangupNotification(RAS_CONNECTION_0*,RAS_CONNECTION_1*);
 | 
						|
void WINAPI MprAdminConnectionHangupNotification2(RAS_CONNECTION_0*,RAS_CONNECTION_1*,RAS_CONNECTION_2*);
 | 
						|
DWORD WINAPI MprAdminGetIpAddressForUser(WCHAR*,WCHAR*,DWORD*,BOOL*);
 | 
						|
#if (_WIN32_WINNT >= 0x0502)
 | 
						|
DWORD WINAPI MprAdminInitializeDll(void);
 | 
						|
DWORD WINAPI MprAdminTerminateDll(void);
 | 
						|
#endif
 | 
						|
void WINAPI MprAdminLinkHangupNotification(RAS_PORT_0*,RAS_PORT_1*);
 | 
						|
void WINAPI MprAdminReleaseIpAddress(WCHAR*,WCHAR*,DWORD*);
 | 
						|
/*--- Remote Access Service Administration Reference - RAS Administration Functions - RAS User Administration Functions */
 | 
						|
DWORD WINAPI MprAdminGetPDCServer(const WCHAR*,const WCHAR*,LPWSTR);
 | 
						|
DWORD WINAPI MprAdminSendUserMessage(MPR_SERVER_HANDLE,HANDLE,LPWSTR);
 | 
						|
DWORD WINAPI MprAdminUserGetInfo(const WCHAR*,const WCHAR*,DWORD,LPBYTE);
 | 
						|
DWORD WINAPI MprAdminUserSetInfo(const WCHAR*,const WCHAR*,DWORD,const LPBYTE);
 | 
						|
/*--- Router Management Reference - Router Administration Functions */
 | 
						|
DWORD WINAPI MprAdminBufferFree(LPVOID);
 | 
						|
DWORD WINAPI MprAdminDeregisterConnectionNotification(MPR_SERVER_HANDLE,HANDLE);
 | 
						|
DWORD WINAPI MprAdminEstablishDomainRasServer(PWCHAR,PWCHAR,BOOL);
 | 
						|
DWORD WINAPI MprAdminGetErrorString(DWORD,LPWSTR*);
 | 
						|
DWORD WINAPI MprAdminInterfaceConnect(MPR_SERVER_HANDLE,HANDLE,HANDLE,BOOL);
 | 
						|
DWORD WINAPI MprAdminInterfaceCreate(MPR_SERVER_HANDLE,DWORD,LPBYTE,HANDLE*);
 | 
						|
DWORD WINAPI MprAdminInterfaceDelete(MPR_SERVER_HANDLE,HANDLE);
 | 
						|
DWORD WINAPI MprAdminInterfaceDeviceGetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,DWORD,LPBYTE*);
 | 
						|
DWORD WINAPI MprAdminInterfaceDeviceSetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,DWORD,LPBYTE);
 | 
						|
DWORD WINAPI MprAdminInterfaceDisconnect(MPR_SERVER_HANDLE,HANDLE);
 | 
						|
DWORD WINAPI MprAdminInterfaceEnum(MPR_SERVER_HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
 | 
						|
DWORD WINAPI MprAdminInterfaceGetCredentials(LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR);
 | 
						|
DWORD WINAPI MprAdminInterfaceGetHandle(MPR_SERVER_HANDLE,LPWSTR,HANDLE*,BOOL);
 | 
						|
DWORD WINAPI MprAdminInterfaceGetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE*);
 | 
						|
DWORD WINAPI MprAdminInterfaceQueryUpdateResult(MPR_SERVER_HANDLE,HANDLE,DWORD,LPDWORD);
 | 
						|
DWORD WINAPI MprAdminInterfaceSetCredentials(LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR);
 | 
						|
DWORD WINAPI MprAdminInterfaceSetCredentialsEx(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE);
 | 
						|
DWORD WINAPI MprAdminInterfaceSetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE);
 | 
						|
DWORD WINAPI MprAdminInterfaceTransportAdd(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE,DWORD);
 | 
						|
DWORD WINAPI MprAdminInterfaceTransportGetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE*,LPDWORD);
 | 
						|
DWORD WINAPI MprAdminInterfaceTransportRemove(MPR_SERVER_HANDLE,HANDLE,DWORD);
 | 
						|
DWORD WINAPI MprAdminInterfaceTransportSetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE,DWORD);
 | 
						|
DWORD WINAPI MprAdminInterfaceUpdatePhonebookInfo(MPR_SERVER_HANDLE,HANDLE);
 | 
						|
DWORD WINAPI MprAdminInterfaceUpdateRoutes(MPR_SERVER_HANDLE,HANDLE,DWORD,HANDLE);
 | 
						|
DWORD WINAPI MprAdminIsDomainRasServer(PWCHAR,PWCHAR,PBOOL);
 | 
						|
BOOL WINAPI MprAdminIsServiceRunning(LPWSTR);
 | 
						|
DWORD WINAPI MprAdminRegisterConnectionNotification(MPR_SERVER_HANDLE,HANDLE);
 | 
						|
DWORD WINAPI MprAdminServerConnect(LPWSTR,MPR_SERVER_HANDLE*);
 | 
						|
void WINAPI MprAdminServerDisconnect(MPR_SERVER_HANDLE);
 | 
						|
DWORD WINAPI MprAdminServerGetCredentials(MPR_SERVER_HANDLE,DWORD,LPBYTE*);
 | 
						|
DWORD WINAPI MprAdminInterfaceGetCredentialsEx(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE*);
 | 
						|
DWORD WINAPI MprAdminServerGetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE*);
 | 
						|
DWORD WINAPI MprAdminServerSetCredentials(MPR_SERVER_HANDLE,DWORD,LPBYTE);
 | 
						|
DWORD WINAPI MprAdminServerSetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE);
 | 
						|
DWORD WINAPI MprAdminTransportCreate(MPR_SERVER_HANDLE,DWORD,LPWSTR,LPBYTE,DWORD,LPBYTE,DWORD,LPWSTR);
 | 
						|
DWORD WINAPI MprAdminTransportGetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE*,LPDWORD,LPBYTE*,LPDWORD);
 | 
						|
DWORD WINAPI MprAdminTransportSetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE,DWORD,LPBYTE,DWORD);
 | 
						|
/*--- Router Management Reference - Router Configuration Functions */
 | 
						|
DWORD WINAPI MprConfigBufferFree(LPVOID);
 | 
						|
DWORD WINAPI MprConfigGetFriendlyName(HANDLE,PWCHAR,PWCHAR,DWORD);
 | 
						|
DWORD WINAPI MprConfigGetGuidName(HANDLE,PWCHAR,PWCHAR,DWORD);
 | 
						|
DWORD WINAPI MprConfigInterfaceCreate(HANDLE,DWORD,LPBYTE,HANDLE*);
 | 
						|
DWORD WINAPI MprConfigInterfaceDelete(HANDLE,HANDLE);
 | 
						|
DWORD WINAPI MprConfigInterfaceEnum(HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
 | 
						|
DWORD WINAPI MprConfigInterfaceGetHandle(HANDLE,LPWSTR,HANDLE*);
 | 
						|
DWORD WINAPI MprConfigInterfaceGetInfo(HANDLE,HANDLE,DWORD,LPBYTE*,LPDWORD);
 | 
						|
DWORD WINAPI MprConfigInterfaceSetInfo(HANDLE,HANDLE,DWORD,LPBYTE);
 | 
						|
DWORD WINAPI MprConfigInterfaceTransportAdd(HANDLE,HANDLE,DWORD,LPWSTR,LPBYTE,DWORD,HANDLE*);
 | 
						|
DWORD WINAPI MprConfigInterfaceTransportEnum(HANDLE,HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
 | 
						|
DWORD WINAPI MprConfigInterfaceTransportGetHandle(HANDLE,HANDLE,DWORD,HANDLE*);
 | 
						|
DWORD WINAPI MprConfigInterfaceTransportGetInfo(HANDLE,HANDLE,HANDLE,LPBYTE*,LPDWORD);
 | 
						|
DWORD WINAPI MprConfigInterfaceTransportRemove(HANDLE,HANDLE,HANDLE);
 | 
						|
DWORD WINAPI MprConfigInterfaceTransportSetInfo(HANDLE,HANDLE,HANDLE,LPBYTE,DWORD);
 | 
						|
DWORD WINAPI MprConfigServerBackup(HANDLE,LPWSTR);
 | 
						|
DWORD WINAPI MprConfigServerConnect(LPWSTR,HANDLE*);
 | 
						|
void WINAPI MprConfigServerDisconnect(HANDLE);
 | 
						|
DWORD WINAPI MprConfigServerGetInfo(HANDLE,DWORD,LPBYTE*);
 | 
						|
DWORD WINAPI MprConfigServerInstall(DWORD,PVOID);
 | 
						|
DWORD WINAPI MprConfigServerRestore(HANDLE,LPWSTR);
 | 
						|
DWORD WINAPI MprConfigServerSetInfo(HANDLE,DWORD,LPBYTE);
 | 
						|
DWORD WINAPI MprConfigTransportCreate(HANDLE,DWORD,LPWSTR,LPBYTE,DWORD,LPBYTE,DWORD,LPWSTR,HANDLE);
 | 
						|
DWORD WINAPI MprConfigTransportDelete(HANDLE,HANDLE);
 | 
						|
DWORD WINAPI MprConfigTransportEnum(HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
 | 
						|
DWORD WINAPI MprConfigTransportGetHandle(HANDLE,DWORD,HANDLE*);
 | 
						|
DWORD WINAPI MprConfigTransportGetInfo(HANDLE,HANDLE,LPBYTE*,LPDWORD,LPBYTE*,LPDWORD,LPWSTR*);
 | 
						|
DWORD WINAPI MprConfigTransportSetInfo(HANDLE,HANDLE,LPBYTE,DWORD,LPBYTE,DWORD,LPWSTR);
 | 
						|
/*--- Router Management Reference - Information Header Functions */
 | 
						|
DWORD WINAPI MprInfoBlockAdd(LPVOID,DWORD,DWORD,DWORD,LPBYTE,LPVOID*);
 | 
						|
DWORD WINAPI MprInfoBlockFind(LPVOID,DWORD,LPDWORD,LPDWORD,LPBYTE*);
 | 
						|
DWORD WINAPI MprInfoBlockQuerySize(LPVOID);
 | 
						|
DWORD WINAPI MprInfoBlockRemove(LPVOID,DWORD,LPVOID*);
 | 
						|
DWORD WINAPI MprInfoBlockSet(LPVOID,DWORD,DWORD,DWORD,LPBYTE,LPVOID*);
 | 
						|
DWORD WINAPI MprInfoCreate(DWORD,LPVOID*);
 | 
						|
DWORD WINAPI MprInfoDelete(LPVOID);
 | 
						|
DWORD WINAPI MprInfoDuplicate(LPVOID,LPVOID*);
 | 
						|
DWORD WINAPI MprInfoRemoveAll(LPVOID,LPVOID*);
 | 
						|
/*--- Router Management MIB Reference - Router Management MIB Functions */
 | 
						|
typedef HANDLE MIB_SERVER_HANDLE;
 | 
						|
DWORD WINAPI MprAdminMIBBufferFree(LPVOID);
 | 
						|
DWORD WINAPI MprAdminMIBEntryCreate(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD);
 | 
						|
DWORD WINAPI MprAdminMIBEntryDelete(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD);
 | 
						|
DWORD WINAPI MprAdminMIBEntryGet(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD);
 | 
						|
DWORD WINAPI MprAdminMIBEntryGetFirst(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD);
 | 
						|
DWORD WINAPI MprAdminMIBEntryGetNext(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD);
 | 
						|
DWORD WINAPI MprAdminMIBEntrySet(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD);
 | 
						|
DWORD WINAPI MprAdminMIBGetTrapInfo(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD);
 | 
						|
DWORD WINAPI MprAdminMIBServerConnect(LPWSTR,MIB_SERVER_HANDLE*);
 | 
						|
void WINAPI MprAdminMIBServerDisconnect(MIB_SERVER_HANDLE);
 | 
						|
DWORD WINAPI MprAdminMIBSetTrapInfo(DWORD,DWORD,HANDLE,LPVOID,DWORD,LPVOID*,LPDWORD);
 | 
						|
#endif /* (_WIN32_WINNT >= 0x0500) */
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
#endif
 |