holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/mprapi.h
branchbug235_bringup_0
changeset 20 d2d6724aef32
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/mprapi.h	Thu Sep 16 09:43:14 2010 +0100
@@ -0,0 +1,572 @@
+/*
+ * 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