123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef __ROUTING_MPRADMIN_H__
- #define __ROUTING_MPRADMIN_H__
- #include <winapifamily.h>
- #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
- #include <lmcons.h>
- #include <ras.h>
- #include <in6addr.h>
- #include <wincrypt.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef CALLBACK
- #define CALLBACK WINAPI
- #endif
- #define RRAS_SERVICE_NAME TEXT("RemoteAccess")
- #define PID_IPX 0x0000002B
- #define PID_IP 0x00000021
- #define PID_NBF 0x0000003F
- #define PID_ATALK 0x00000029
- #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
- 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;
- typedef enum _ROUTER_CONNECTION_STATE {
- ROUTER_IF_STATE_UNREACHABLE,ROUTER_IF_STATE_DISCONNECTED,ROUTER_IF_STATE_CONNECTING,ROUTER_IF_STATE_CONNECTED
- } ROUTER_CONNECTION_STATE;
- #define MPR_INTERFACE_OUT_OF_RESOURCES 0x00000001
- #define MPR_INTERFACE_ADMIN_DISABLED 0x00000002
- #define MPR_INTERFACE_CONNECTION_FAILURE 0x00000004
- #define MPR_INTERFACE_SERVICE_PAUSED 0x00000008
- #define MPR_INTERFACE_DIALOUT_HOURS_RESTRICTION 0x00000010
- #define MPR_INTERFACE_NO_MEDIA_SENSE 0x00000020
- #define MPR_INTERFACE_NO_DEVICE 0x00000040
- typedef struct _MPR_INTERFACE_0 {
- WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
- HANDLE hInterface;
- WINBOOL fEnabled;
- ROUTER_INTERFACE_TYPE dwIfType;
- ROUTER_CONNECTION_STATE dwConnectionState;
- DWORD fUnReachabilityReasons;
- DWORD dwLastError;
- } MPR_INTERFACE_0,*PMPR_INTERFACE_0;
- typedef struct _MPR_IPINIP_INTERFACE_0 {
- WCHAR wszFriendlyName[MAX_INTERFACE_NAME_LEN+1];
- GUID Guid;
- } MPR_IPINIP_INTERFACE_0,*PMPR_IPINIP_INTERFACE_0;
- typedef struct _MPR_INTERFACE_1 {
- WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
- HANDLE hInterface;
- WINBOOL fEnabled;
- ROUTER_INTERFACE_TYPE dwIfType;
- ROUTER_CONNECTION_STATE dwConnectionState;
- DWORD fUnReachabilityReasons;
- DWORD dwLastError;
- LPWSTR lpwsDialoutHoursRestriction;
- } MPR_INTERFACE_1,*PMPR_INTERFACE_1;
- #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
- #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
- #define MPRIO_IpSecPreSharedKey 0x80000000
- #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 MPRET_Phone RASET_Phone
- #define MPRET_Vpn RASET_Vpn
- #define MPRET_Direct RASET_Direct
- #define MPRDM_DialFirst 0
- #define MPRDM_DialAll RASEDM_DialAll
- #define MPRDM_DialAsNeeded RASEDM_DialAsNeeded
- #define MPRIDS_Disabled RASIDS_Disabled
- #define MPRIDS_UseGlobalValue RASIDS_UseGlobalValue
- #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_2 {
- WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
- HANDLE hInterface;
- WINBOOL 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;
- #if (_WIN32_WINNT >= 0x0600)
- typedef struct _MPR_INTERFACE_3 {
- WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
- HANDLE hInterface;
- WINBOOL 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;
- #endif
- 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;
- typedef struct _MPR_CREDENTIALSEX_0 {
- DWORD dwSize;
- LPBYTE lpbCredentialsInfo;
- } MPR_CREDENTIALSEX_0,*PMPR_CREDENTIALSEX_0;
- typedef struct _MPR_CREDENTIALSEX_1 {
- DWORD dwSize;
- LPBYTE lpbCredentialsInfo;
- } MPR_CREDENTIALSEX_1,*PMPR_CREDENTIALSEX_1;
- typedef struct _MPR_TRANSPORT_0 {
- DWORD dwTransportId;
- HANDLE hTransport;
- WCHAR wszTransportName[MAX_TRANSPORT_NAME_LEN+1];
- } MPR_TRANSPORT_0,*PMPR_TRANSPORT_0;
- 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_SERVER_0
- {
- WINBOOL fLanOnlyMode;
- DWORD dwUpTime;
- DWORD dwTotalPorts;
- DWORD dwPortsInUse;
- }
- MPR_SERVER_0,*PMPR_SERVER_0;
- #define MPR_ENABLE_RAS_ON_DEVICE 0x00000001
- #define MPR_ENABLE_ROUTING_ON_DEVICE 0x00000002
- typedef struct _MPR_SERVER_1 {
- DWORD dwNumPptpPorts;
- DWORD dwPptpPortFlags;
- DWORD dwNumL2tpPorts;
- DWORD dwL2tpPortFlags;
- } MPR_SERVER_1,*PMPR_SERVER_1;
- 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;
- typedef enum _RAS_HARDWARE_CONDITION {
- RAS_HARDWARE_OPERATIONAL,RAS_HARDWARE_FAILURE
- } RAS_HARDWARE_CONDITION;
- 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 IPADDRESSLEN 15
- #define IPXADDRESSLEN 22
- #define ATADDRESSLEN 32
- #define MAXIPADRESSLEN 64
- typedef struct _PPP_NBFCP_INFO {
- DWORD dwError;
- WCHAR wszWksta[NETBIOS_NAME_LEN + 1 ];
- } PPP_NBFCP_INFO;
- typedef struct _PPP_IPCP_INFO {
- DWORD dwError;
- WCHAR wszAddress[IPADDRESSLEN + 1 ];
- WCHAR wszRemoteAddress[IPADDRESSLEN + 1 ];
- } PPP_IPCP_INFO;
- #define PPP_IPCP_VJ 0x00000001
- typedef struct _PPP_IPCP_INFO2 {
- DWORD dwError;
- WCHAR wszAddress[IPADDRESSLEN + 1 ];
- WCHAR wszRemoteAddress[IPADDRESSLEN + 1 ];
- DWORD dwOptions;
- DWORD dwRemoteOptions;
- } PPP_IPCP_INFO2;
- typedef struct _PPP_IPXCP_INFO {
- DWORD dwError;
- WCHAR wszAddress[IPXADDRESSLEN + 1 ];
- } PPP_IPXCP_INFO;
- typedef struct _PPP_ATCP_INFO {
- DWORD dwError;
- WCHAR wszAddress[ATADDRESSLEN + 1 ];
- } PPP_ATCP_INFO;
- typedef struct _PPP_INFO {
- PPP_NBFCP_INFO nbf;
- PPP_IPCP_INFO ip;
- PPP_IPXCP_INFO ipx;
- PPP_ATCP_INFO at;
- } PPP_INFO;
- #define RASCCPCA_MPPC 0x00000006
- #define RASCCPCA_STAC 0x00000005
- #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
- typedef struct _PPP_CCP_INFO {
- DWORD dwError;
- DWORD dwCompressionAlgorithm;
- DWORD dwOptions;
- DWORD dwRemoteCompressionAlgorithm;
- DWORD dwRemoteOptions;
- } PPP_CCP_INFO;
- #define PPP_LCP_PAP 0xC023
- #define PPP_LCP_SPAP 0xC027
- #define PPP_LCP_CHAP 0xC223
- #define PPP_LCP_EAP 0xC227
- #define PPP_LCP_CHAP_MD5 0x05
- #define PPP_LCP_CHAP_MS 0x80
- #define PPP_LCP_CHAP_MSV2 0x81
- #define PPP_LCP_MULTILINK_FRAMING 0x00000001
- #define PPP_LCP_PFC 0x00000002
- #define PPP_LCP_ACFC 0x00000004
- #define PPP_LCP_SSHF 0x00000008
- #define PPP_LCP_DES_56 0x00000010
- #define PPP_LCP_3_DES 0x00000020
- 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;
- 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 RAS_FLAGS_PPP_CONNECTION 0x00000001
- #define RAS_FLAGS_MESSENGER_PRESENT 0x00000002
- #define RAS_FLAGS_QUARANTINE_PRESENT 0x00000008
- 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;
- 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 RASPRIV_NoCallback 0x01
- #define RASPRIV_AdminSetCallback 0x02
- #define RASPRIV_CallerSetCallback 0x04
- #define RASPRIV_DialinPrivilege 0x08
- #define RASPRIV2_DialinPolicy 0x1
- #define RASPRIV_CallbackType (RASPRIV_AdminSetCallback | RASPRIV_CallerSetCallback | RASPRIV_NoCallback)
- typedef struct _RAS_USER_0 {
- BYTE bfPrivilege;
- WCHAR wszPhoneNumber[MAX_PHONE_NUMBER_LEN + 1];
- } RAS_USER_0,*PRAS_USER_0;
- typedef struct _RAS_USER_1 {
- BYTE bfPrivilege;
- WCHAR wszPhoneNumber[MAX_PHONE_NUMBER_LEN + 1];
- BYTE bfPrivilege2;
- } RAS_USER_1,*PRAS_USER_1;
- typedef HANDLE RAS_SERVER_HANDLE;
- typedef HANDLE MPR_SERVER_HANDLE;
- typedef HANDLE MIB_SERVER_HANDLE;
- DWORD WINAPI MprAdminConnectionEnum(RAS_SERVER_HANDLE hRasServer,DWORD dwLevel,LPBYTE *lplpbBuffer,DWORD dwPrefMaxLen,LPDWORD lpdwEntriesRead,LPDWORD lpdwTotalEntries,LPDWORD lpdwResumeHandle);
- DWORD WINAPI MprAdminPortEnum(RAS_SERVER_HANDLE hRasServer,DWORD dwLevel,HANDLE hConnection,LPBYTE *lplpbBuffer,DWORD dwPrefMaxLen,LPDWORD lpdwEntriesRead,LPDWORD lpdwTotalEntries,LPDWORD lpdwResumeHandle);
- DWORD WINAPI MprAdminConnectionGetInfo(RAS_SERVER_HANDLE hRasServer,DWORD dwLevel,HANDLE hConnection,LPBYTE *lplpbBuffer);
- DWORD WINAPI MprAdminPortGetInfo(RAS_SERVER_HANDLE hRasServer,DWORD dwLevel,HANDLE hPort,LPBYTE *lplpbBuffer);
- DWORD WINAPI MprAdminConnectionClearStats(RAS_SERVER_HANDLE hRasServer,HANDLE hConnection);
- DWORD WINAPI MprAdminPortClearStats(RAS_SERVER_HANDLE hRasServer,HANDLE hPort);
- DWORD WINAPI MprAdminPortReset(RAS_SERVER_HANDLE hRasServer,HANDLE hPort);
- DWORD WINAPI MprAdminPortDisconnect(RAS_SERVER_HANDLE hRasServer,HANDLE hPort);
- WINBOOL WINAPI MprAdminAcceptNewConnection(RAS_CONNECTION_0 *pRasConnection0,RAS_CONNECTION_1 *pRasConnection1);
- WINBOOL WINAPI MprAdminAcceptNewConnection2(RAS_CONNECTION_0 *pRasConnection0,RAS_CONNECTION_1 *pRasConnection1,RAS_CONNECTION_2 *pRasConnection2);
- WINBOOL WINAPI MprAdminAcceptNewLink (RAS_PORT_0 *pRasPort0,RAS_PORT_1 *pRasPort1);
- VOID WINAPI MprAdminConnectionHangupNotification(RAS_CONNECTION_0 *pRasConnection0,RAS_CONNECTION_1 *pRasConnection1);
- VOID WINAPI MprAdminConnectionHangupNotification2(RAS_CONNECTION_0 *pRasConnection0,RAS_CONNECTION_1 *pRasConnection1,RAS_CONNECTION_2 *pRasConnection2);
- DWORD WINAPI MprAdminConnectionRemoveQuarantine(HANDLE hRasServer,HANDLE hRasConnection,WINBOOL fIsIpAddress);
- VOID WINAPI MprAdminLinkHangupNotification (RAS_PORT_0 *pRasPort0,RAS_PORT_1 *pRasPort1);
- DWORD WINAPI MprAdminGetIpAddressForUser (WCHAR *lpwszUserName,WCHAR *lpwszPortName,DWORD *lpdwIpAddress,WINBOOL *bNotifyRelease);
- VOID WINAPI MprAdminReleaseIpAddress (WCHAR *lpszUserName,WCHAR *lpszPortName,DWORD *lpdwIpAddress);
- DWORD WINAPI MprAdminInitializeDll(VOID);
- DWORD WINAPI MprAdminTerminateDll(VOID);
- DWORD WINAPI MprAdminUserGetInfo(const WCHAR *lpszServer,const WCHAR *lpszUser,DWORD dwLevel,LPBYTE lpbBuffer);
- DWORD WINAPI MprAdminUserSetInfo(const WCHAR *lpszServer,const WCHAR *lpszUser,DWORD dwLevel,const LPBYTE lpbBuffer);
- DWORD WINAPI MprAdminSendUserMessage(MPR_SERVER_HANDLE hMprServer,HANDLE hConnection,LPWSTR lpwszMessage);
- DWORD WINAPI MprAdminGetPDCServer(const WCHAR *lpszDomain,const WCHAR *lpszServer,LPWSTR lpszPDCServer);
- WINBOOL WINAPI MprAdminIsServiceRunning(LPWSTR lpwsServerName);
- DWORD WINAPI MprAdminServerConnect(LPWSTR lpwsServerName,MPR_SERVER_HANDLE *phMprServer);
- VOID WINAPI MprAdminServerDisconnect(MPR_SERVER_HANDLE hMprServer);
- DWORD WINAPI MprAdminServerGetCredentials(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE *lplpbBuffer);
- DWORD WINAPI MprAdminServerSetCredentials(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE lpbBuffer);
- DWORD WINAPI MprAdminBufferFree(LPVOID pBuffer);
- DWORD WINAPI MprAdminGetErrorString(DWORD dwError,LPWSTR *lpwsErrorString);
- DWORD WINAPI MprAdminServerGetInfo(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE *lplpbBuffer);
- DWORD WINAPI MprAdminServerSetInfo(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE lpbBuffer);
- DWORD WINAPI MprAdminEstablishDomainRasServer (PWCHAR pszDomain,PWCHAR pszMachine,WINBOOL bEnable);
- DWORD WINAPI MprAdminIsDomainRasServer (PWCHAR pszDomain,PWCHAR pszMachine,PBOOL pbIsRasServer);
- DWORD WINAPI MprAdminTransportCreate(MPR_SERVER_HANDLE hMprServer,DWORD dwTransportId,LPWSTR lpwsTransportName,LPBYTE pGlobalInfo,DWORD dwGlobalInfoSize,LPBYTE pClientInterfaceInfo,DWORD dwClientInterfaceInfoSize,LPWSTR lpwsDLLPath);
- DWORD WINAPI MprAdminTransportSetInfo(MPR_SERVER_HANDLE hMprServer,DWORD dwTransportId,LPBYTE pGlobalInfo,DWORD dwGlobalInfoSize,LPBYTE pClientInterfaceInfo,DWORD dwClientInterfaceInfoSize);
- DWORD WINAPI MprAdminTransportGetInfo(MPR_SERVER_HANDLE hMprServer,DWORD dwTransportId,LPBYTE *ppGlobalInfo,LPDWORD lpdwGlobalInfoSize,LPBYTE *ppClientInterfaceInfo,LPDWORD lpdwClientInterfaceInfoSize);
- DWORD WINAPI MprAdminDeviceEnum(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE *lplpbBuffer,LPDWORD lpdwTotalEntries);
- DWORD WINAPI MprAdminInterfaceGetHandle(MPR_SERVER_HANDLE hMprServer,LPWSTR lpwsInterfaceName,HANDLE *phInterface,WINBOOL fIncludeClientInterfaces);
- DWORD WINAPI MprAdminInterfaceCreate(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE lpbBuffer,HANDLE *phInterface);
- DWORD WINAPI MprAdminInterfaceGetInfo(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwLevel,LPBYTE *lplpbBuffer);
- DWORD WINAPI MprAdminInterfaceSetInfo(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwLevel,LPBYTE lpbBuffer);
- DWORD WINAPI MprAdminInterfaceDelete(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface);
- DWORD WINAPI MprAdminInterfaceDeviceGetInfo(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwIndex,DWORD dwLevel,LPBYTE *lplpBuffer);
- DWORD WINAPI MprAdminInterfaceDeviceSetInfo(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwIndex,DWORD dwLevel,LPBYTE lplpBuffer);
- DWORD WINAPI MprAdminInterfaceTransportRemove(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwTransportId);
- DWORD WINAPI MprAdminInterfaceTransportAdd(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwTransportId,LPBYTE pInterfaceInfo,DWORD dwInterfaceInfoSize);
- DWORD WINAPI MprAdminInterfaceTransportGetInfo(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwTransportId,LPBYTE *ppInterfaceInfo,LPDWORD lpdwpInterfaceInfoSize);
- DWORD WINAPI MprAdminInterfaceTransportSetInfo(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwTransportId,LPBYTE pInterfaceInfo,DWORD dwInterfaceInfoSize);
- DWORD WINAPI MprAdminInterfaceEnum(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE *lplpbBuffer,DWORD dwPrefMaxLen,LPDWORD lpdwEntriesRead,LPDWORD lpdwTotalEntries,LPDWORD lpdwResumeHandle);
- DWORD WINAPI MprSetupIpInIpInterfaceFriendlyNameEnum(PWCHAR pwszMachineName,LPBYTE *lplpBuffer,LPDWORD lpdwEntriesRead);
- DWORD WINAPI MprSetupIpInIpInterfaceFriendlyNameFree(LPVOID lpBuffer);
- DWORD WINAPI MprSetupIpInIpInterfaceFriendlyNameCreate(PWCHAR pwszMachineName,PMPR_IPINIP_INTERFACE_0 pNameInformation);
- DWORD WINAPI MprSetupIpInIpInterfaceFriendlyNameDelete(PWCHAR pwszMachineName,GUID *pGuid);
- DWORD WINAPI MprAdminInterfaceSetCredentials(LPWSTR lpwsServer,LPWSTR lpwsInterfaceName,LPWSTR lpwsUserName,LPWSTR lpwsDomainName,LPWSTR lpwsPassword);
- DWORD WINAPI MprAdminInterfaceGetCredentials(LPWSTR lpwsServer,LPWSTR lpwsInterfaceName,LPWSTR lpwsUserName,LPWSTR lpwsPassword,LPWSTR lpwsDomainName);
- DWORD WINAPI MprAdminInterfaceSetCredentialsEx(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwLevel,LPBYTE lpbBuffer);
- DWORD WINAPI MprAdminInterfaceGetCredentialsEx(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwLevel,LPBYTE *lplpbBuffer);
- DWORD WINAPI MprAdminInterfaceConnect(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,HANDLE hEvent,WINBOOL fSynchronous);
- DWORD WINAPI MprAdminInterfaceDisconnect(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface);
- DWORD WINAPI MprAdminInterfaceUpdateRoutes(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwProtocolId,HANDLE hEvent);
- DWORD WINAPI MprAdminInterfaceQueryUpdateResult(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwProtocolId,LPDWORD lpdwUpdateResult);
- DWORD WINAPI MprAdminInterfaceUpdatePhonebookInfo(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface);
- DWORD WINAPI MprAdminRegisterConnectionNotification(MPR_SERVER_HANDLE hMprServer,HANDLE hEventNotification);
- DWORD WINAPI MprAdminDeregisterConnectionNotification(MPR_SERVER_HANDLE hMprServer,HANDLE hEventNotification);
- DWORD WINAPI MprAdminMIBServerConnect(LPWSTR lpwsServerName,MIB_SERVER_HANDLE *phMibServer);
- VOID WINAPI MprAdminMIBServerDisconnect(MIB_SERVER_HANDLE hMibServer);
- DWORD WINAPI MprAdminMIBEntryCreate(MIB_SERVER_HANDLE hMibServer,DWORD dwPid,DWORD dwRoutingPid,LPVOID lpEntry,DWORD dwEntrySize);
- DWORD WINAPI MprAdminMIBEntryDelete(MIB_SERVER_HANDLE hMibServer,DWORD dwProtocolId,DWORD dwRoutingPid,LPVOID lpEntry,DWORD dwEntrySize);
- DWORD WINAPI MprAdminMIBEntrySet(MIB_SERVER_HANDLE hMibServer,DWORD dwProtocolId,DWORD dwRoutingPid,LPVOID lpEntry,DWORD dwEntrySize);
- DWORD WINAPI MprAdminMIBEntryGet(MIB_SERVER_HANDLE hMibServer,DWORD dwProtocolId,DWORD dwRoutingPid,LPVOID lpInEntry,DWORD dwInEntrySize,LPVOID *lplpOutEntry,LPDWORD lpOutEntrySize);
- DWORD WINAPI MprAdminMIBEntryGetFirst(MIB_SERVER_HANDLE hMibServer,DWORD dwProtocolId,DWORD dwRoutingPid,LPVOID lpInEntry,DWORD dwInEntrySize,LPVOID *lplpOutEntry,LPDWORD lpOutEntrySize);
- DWORD WINAPI MprAdminMIBEntryGetNext(MIB_SERVER_HANDLE hMibServer,DWORD dwProtocolId,DWORD dwRoutingPid,LPVOID lpInEntry,DWORD dwInEntrySize,LPVOID *lplpOutEntry,LPDWORD lpOutEntrySize);
- DWORD WINAPI MprAdminMIBGetTrapInfo(MIB_SERVER_HANDLE hMibServer,DWORD dwProtocolId,DWORD dwRoutingPid,LPVOID lpInData,DWORD dwInDataSize,LPVOID *lplpOutData,LPDWORD lpOutDataSize);
- DWORD WINAPI MprAdminMIBSetTrapInfo(DWORD dwProtocolId,DWORD dwRoutingPid,HANDLE hEvent,LPVOID lpInData,DWORD dwInDataSize,LPVOID *lplpOutData,LPDWORD lpOutDataSize);
- DWORD WINAPI MprAdminMIBBufferFree(LPVOID pBuffer);
- DWORD WINAPI MprConfigServerInstall(DWORD dwLevel,PVOID pBuffer);
- DWORD WINAPI MprConfigServerConnect(LPWSTR lpwsServerName,HANDLE *phMprConfig);
- VOID WINAPI MprConfigServerDisconnect(HANDLE hMprConfig);
- DWORD WINAPI MprConfigServerRefresh(HANDLE hMprConfig);
- DWORD WINAPI MprConfigBufferFree(LPVOID pBuffer);
- DWORD WINAPI MprConfigServerGetInfo(HANDLE hMprConfig,DWORD dwLevel,LPBYTE *lplpbBuffer);
- DWORD WINAPI MprConfigServerSetInfo(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE lpbBuffer);
- DWORD WINAPI MprConfigServerBackup(HANDLE hMprConfig,LPWSTR lpwsPath);
- DWORD WINAPI MprConfigServerRestore(HANDLE hMprConfig,LPWSTR lpwsPath);
- DWORD WINAPI MprConfigTransportCreate(HANDLE hMprConfig,DWORD dwTransportId,LPWSTR lpwsTransportName,LPBYTE pGlobalInfo,DWORD dwGlobalInfoSize,LPBYTE pClientInterfaceInfo,DWORD dwClientInterfaceInfoSize,LPWSTR lpwsDLLPath,HANDLE *phRouterTransport);
- DWORD WINAPI MprConfigTransportDelete(HANDLE hMprConfig,HANDLE hRouterTransport);
- DWORD WINAPI MprConfigTransportGetHandle(HANDLE hMprConfig,DWORD dwTransportId,HANDLE *phRouterTransport);
- DWORD WINAPI MprConfigTransportSetInfo(HANDLE hMprConfig,HANDLE hRouterTransport,LPBYTE pGlobalInfo,DWORD dwGlobalInfoSize,LPBYTE pClientInterfaceInfo,DWORD dwClientInterfaceInfoSize,LPWSTR lpwsDLLPath);
- DWORD WINAPI MprConfigTransportGetInfo(HANDLE hMprConfig,HANDLE hRouterTransport,LPBYTE *ppGlobalInfo,LPDWORD lpdwGlobalInfoSize,LPBYTE *ppClientInterfaceInfo,LPDWORD lpdwClientInterfaceInfoSize,LPWSTR *lplpwsDLLPath);
- DWORD WINAPI MprConfigTransportEnum(HANDLE hMprConfig,DWORD dwLevel,LPBYTE *lplpBuffer,DWORD dwPrefMaxLen,LPDWORD lpdwEntriesRead,LPDWORD lpdwTotalEntries,LPDWORD lpdwResumeHandle);
- DWORD WINAPI MprConfigInterfaceCreate(HANDLE hMprConfig,DWORD dwLevel,LPBYTE lpbBuffer,HANDLE *phRouterInterface);
- DWORD WINAPI MprConfigInterfaceDelete(HANDLE hMprConfig,HANDLE hRouterInterface);
- DWORD WINAPI MprConfigInterfaceGetHandle(HANDLE hMprConfig,LPWSTR lpwsInterfaceName,HANDLE *phRouterInterface);
- DWORD WINAPI MprConfigInterfaceGetInfo(HANDLE hMprConfig,HANDLE hRouterInterface,DWORD dwLevel,LPBYTE *lplpBuffer,LPDWORD lpdwBufferSize);
- DWORD WINAPI MprConfigInterfaceSetInfo(HANDLE hMprConfig,HANDLE hRouterInterface,DWORD dwLevel,LPBYTE lpbBuffer);
- DWORD WINAPI MprConfigInterfaceEnum(HANDLE hMprConfig,DWORD dwLevel,LPBYTE *lplpBuffer,DWORD dwPrefMaxLen,LPDWORD lpdwEntriesRead,LPDWORD lpdwTotalEntries,LPDWORD lpdwResumeHandle);
- DWORD WINAPI MprConfigInterfaceTransportAdd(HANDLE hMprConfig,HANDLE hRouterInterface,DWORD dwTransportId,LPWSTR lpwsTransportName,LPBYTE pInterfaceInfo,DWORD dwInterfaceInfoSize,HANDLE *phRouterIfTransport);
- DWORD WINAPI MprConfigInterfaceTransportRemove(HANDLE hMprConfig,HANDLE hRouterInterface,HANDLE hRouterIfTransport);
- DWORD WINAPI MprConfigInterfaceTransportGetHandle(HANDLE hMprConfig,HANDLE hRouterInterface,DWORD dwTransportId,HANDLE *phRouterIfTransport);
- DWORD WINAPI MprConfigInterfaceTransportGetInfo(HANDLE hMprConfig,HANDLE hRouterInterface,HANDLE hRouterIfTransport,LPBYTE *ppInterfaceInfo,LPDWORD lpdwInterfaceInfoSize);
- DWORD WINAPI MprConfigInterfaceTransportSetInfo(HANDLE hMprConfig,HANDLE hRouterInterface,HANDLE hRouterIfTransport,LPBYTE pInterfaceInfo,DWORD dwInterfaceInfoSize);
- DWORD WINAPI MprConfigInterfaceTransportEnum(HANDLE hMprConfig,HANDLE hRouterInterface,DWORD dwLevel,LPBYTE *lplpBuffer,DWORD dwPrefMaxLen,LPDWORD lpdwEntriesRead,LPDWORD lpdwTotalEntries,LPDWORD lpdwResumeHandle);
- DWORD WINAPI MprConfigGetFriendlyName(HANDLE hMprConfig,PWCHAR pszGuidName,PWCHAR pszBuffer,DWORD dwBufferSize);
- DWORD WINAPI MprConfigGetGuidName(HANDLE hMprConfig,PWCHAR pszFriendlyName,PWCHAR pszBuffer,DWORD dwBufferSize);
- DWORD WINAPI MprInfoCreate(DWORD dwVersion,LPVOID *lplpNewHeader);
- DWORD WINAPI MprInfoDelete(LPVOID lpHeader);
- DWORD WINAPI MprInfoRemoveAll(LPVOID lpHeader,LPVOID *lplpNewHeader);
- DWORD WINAPI MprInfoDuplicate(LPVOID lpHeader,LPVOID *lplpNewHeader);
- DWORD WINAPI MprInfoBlockAdd(LPVOID lpHeader,DWORD dwInfoType,DWORD dwItemSize,DWORD dwItemCount,LPBYTE lpItemData,LPVOID *lplpNewHeader);
- DWORD WINAPI MprInfoBlockRemove(LPVOID lpHeader,DWORD dwInfoType,LPVOID *lplpNewHeader);
- DWORD WINAPI MprInfoBlockSet(LPVOID lpHeader,DWORD dwInfoType,DWORD dwItemSize,DWORD dwItemCount,LPBYTE lpItemData,LPVOID *lplpNewHeader);
- DWORD WINAPI MprInfoBlockFind(LPVOID lpHeader,DWORD dwInfoType,LPDWORD lpdwItemSize,LPDWORD lpdwItemCount,LPBYTE *lplpItemData);
- DWORD WINAPI MprInfoBlockQuerySize(LPVOID lpHeader);
- #define MprInfoBlockExists(h,t) (MprInfoBlockFind((h),(t),NULL,NULL,NULL)==NO_ERROR)
- #if (_WIN32_WINNT >= 0x0600)
- typedef enum _RAS_QUARANTINE_STATE {
- RAS_QUAR_STATE_NORMAL,
- RAS_QUAR_STATE_QUARANTINE,
- RAS_QUAR_STATE_PROBATION,
- RAS_QUAR_STATE_NOT_CAPABLE
- } RAS_QUARANTINE_STATE;
- typedef struct _MPR_FILTER_0 {
- WINBOOL fEnabled;
- } MPR_FILTER_0, *PMPR_FILTER_0;
- typedef struct _MPR_SERVER_2 {
- DWORD dwNumPptpPorts;
- DWORD dwPptpPortFlags;
- DWORD dwNumL2tpPorts;
- DWORD dwL2tpPortFlags;
- DWORD dwNumSstpPorts;
- DWORD dwSstpPortFlags;
- } MPR_SERVER_2, *PMPR_SERVER_2;
- typedef struct _PPP_IPV6CP_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, *PPPP_IPV6_CP_INFO;
- 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;
- 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, *PRAS_CONNECTION_3;
- WINBOOL CALLBACK MprAdminAcceptNewConnection3(
- RAS_CONNECTION_0 *pRasConnection0,
- RAS_CONNECTION_1 *pRasConnection1,
- RAS_CONNECTION_2 *pRasConnection2,
- RAS_CONNECTION_3 *pRasConnection3
- );
- WINBOOL CALLBACK MprAdminAcceptReauthentication(
- RAS_CONNECTION_0 *pRasConnection0,
- RAS_CONNECTION_1 *pRasConnection1,
- RAS_CONNECTION_2 *pRasConnection2,
- RAS_CONNECTION_3 *pRasConnection3
- );
- void CALLBACK MprAdminConnectionHangupNotification3(
- RAS_CONNECTION_0 *pRasConnection0,
- RAS_CONNECTION_1 *pRasConnection1,
- RAS_CONNECTION_2 *pRasConnection2,
- RAS_CONNECTION_3 *pRasConnection3
- );
- DWORD CALLBACK MprAdminGetIpv6AddressForUser(
- WCHAR *lpwszUserName,
- WCHAR *lpwszPortName,
- IN6_ADDR *lpdwIpv6Address,
- WINBOOL *bNotifyRelease
- );
- DWORD CALLBACK MprAdminReleaseIpv6AddressForUser(
- WCHAR *lpwszUserName,
- WCHAR *lpwszPortName,
- IN6_ADDR *lpdwIpv6Address
- );
- DWORD WINAPI MprConfigFilterGetInfo(
- HANDLE hMprConfig,
- DWORD dwLevel,
- DWORD dwTransportId,
- LPBYTE lpBuffer
- );
- DWORD WINAPI MprConfigFilterSetInfo(
- HANDLE hMprConfig,
- DWORD dwLevel,
- DWORD dwTransportId,
- LPBYTE lpBuffer
- );
- #endif /*(_WIN32_WINNT >= 0x0600)*/
- #if (_WIN32_WINNT >= 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
- typedef enum {
- MPRAPI_OBJECT_TYPE_RAS_CONNECTION_OBJECT = 0x1,
- MPRAPI_OBJECT_TYPE_MPR_SERVER_OBJECT = 0x2,
- MPRAPI_OBJECT_TYPE_MPR_SERVER_SET_CONFIG_OBJECT = 0x3,
- MPRAPI_OBJECT_TYPE_AUTH_VALIDATION_OBJECT = 0x4,
- MPRAPI_OBJECT_TYPE_UPDATE_CONNECTION_OBJECT = 0x5
- } MPRAPI_OBJECT_TYPE;
- typedef struct _MPRAPI_OBJECT_HEADER {
- UCHAR revision;
- UCHAR type;
- USHORT size;
- } MPRAPI_OBJECT_HEADER, *PMPRAPI_OBJECT_HEADER;
- 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, *PAUTH_VALIDATION_EX;
- #define RAS_FLAGS_PPP_CONNECTION 0x00000001
- #define RAS_FLAGS_MESSENGER_PRESENT 0x00000002
- #define RAS_FLAGS_QUARANTINE_PRESENT 0x00000008
- #define RAS_FLAGS_ARAP_CONNECTION 0x00000010
- #define RAS_FLAGS_IKEV2_CONNECTION 0x00000010
- #define RAS_FLAGS_DORMANT 0x00000020
- #define IPADDRESSLEN 15
- 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, *PPPP_PROJECTION_INFO;
- 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, *PIKEV2_PROJECTION_INFO;
- typedef struct _PROJECTION_INFO {
- UCHAR projectionInfoType;
- __C89_NAMELESS union {
- IKEV2_PROJECTION_INFO Ikev2ProjectionInfo;
- PPP_PROJECTION_INFO PppProjectionInfo;
- } DUMMYUNIONNAME;
- } PROJECTION_INFO, *PPROJECTION_INFO;
- 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, *PRAS_CONNECTION_EX;
- typedef struct _RAS_UPDATE_CONNECTION {
- MPRAPI_OBJECT_HEADER Header;
- DWORD dwIfIndex;
- WCHAR wszLocalEndpointAddress[MAXIPADRESSLEN+1];
- WCHAR wszRemoteEndpointAddress[MAXIPADRESSLEN+1];
- } RAS_UPDATE_CONNECTION, *PRAS_UPDATE_CONNECTION;
- #define MPRAPI_IKEV2_SET_TUNNEL_CONFIG_PARAMS 0x01
- 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, *PIKEV2_TUNNEL_CONFIG_PARAMS;
- typedef struct _IKEV2_CONFIG_PARAMS {
- DWORD dwNumPorts;
- DWORD dwPortFlags;
- DWORD dwTunnelConfigParamFlags;
- IKEV2_TUNNEL_CONFIG_PARAMS TunnelConfigParams;
- } IKEV2_CONFIG_PARAMS, *PIKEV2_CONFIG_PARAMS;
- typedef struct _PPTP_CONFIG_PARAMS {
- DWORD dwNumPorts;
- DWORD dwPortFlags;
- } PPTP_CONFIG_PARAMS, *PPPTP_CONFIG_PARAMS;
- typedef struct _L2TP_CONFIG_PARAMS {
- DWORD dwNumPorts;
- DWORD dwPortFlags;
- } L2TP_CONFIG_PARAMS, *PL2TP_CONFIG_PARAMS;
- typedef struct _SSTP_CERT_INFO {
- BOOL isDefault;
- CRYPT_HASH_BLOB certBlob;
- } SSTP_CERT_INFO, *PSSTP_CERT_INFO;
- typedef struct _SSTP_CONFIG_PARAMS {
- DWORD dwNumPorts;
- DWORD dwPortFlags;
- BOOL isUseHttps;
- DWORD certAlgorithm;
- SSTP_CERT_INFO sstpCertDetails;
- } SSTP_CONFIG_PARAMS, *PSSTP_CONFIG_PARAMS;
- 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, *PMPRAPI_TUNNEL_CONFIG_PARAMS;
- typedef struct _MPR_SERVER_SET_CONFIG_EX {
- MPRAPI_OBJECT_HEADER Header;
- DWORD setConfigForProtocols;
- MPRAPI_TUNNEL_CONFIG_PARAMS ConfigParams;
- } MPR_SERVER_SET_CONFIG_EX, *PMPR_SERVER_SET_CONFIG_EX;
- 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, *PMPR_SERVER_EX;
- typedef DWORD (APIENTRY * PMPRADMINGETIPADDRESSFORUSER)(WCHAR *, WCHAR *, DWORD *, WINBOOL *);
- typedef VOID (APIENTRY * PMPRADMINRELEASEIPADRESS)(WCHAR *, WCHAR *, DWORD *);
- typedef DWORD (APIENTRY * PMPRADMINGETIPV6ADDRESSFORUSER)(WCHAR *, WCHAR *, IN6_ADDR *, WINBOOL *);
- typedef VOID (APIENTRY * PMPRADMINRELEASEIPV6ADDRESSFORUSER)(WCHAR *, WCHAR *, IN6_ADDR *);
- typedef WINBOOL (APIENTRY * PMPRADMINACCEPTNEWLINK)(RAS_PORT_0 *, RAS_PORT_1 *);
- typedef VOID (APIENTRY * PMPRADMINLINKHANGUPNOTIFICATION)(RAS_PORT_0 *, RAS_PORT_1 *);
- typedef DWORD (APIENTRY * PMPRADMINTERMINATEDLL)();
- typedef BOOL (APIENTRY * PMPRADMINACCEPTNEWCONNECTIONEX)(RAS_CONNECTION_EX *);
- typedef BOOL (APIENTRY * PMPRADMINACCEPTREAUTHENTICATIONEX)(RAS_CONNECTION_EX *);
- typedef VOID (APIENTRY * PMPRADMINCONNECTIONHANGUPNOTIFICATIONEX)(RAS_CONNECTION_EX *);
- typedef struct _MPRAPI_ADMIN_DLL_CALLBACKS {
- UCHAR revision;
- PMPRADMINGETIPADDRESSFORUSER lpfnMprAdminGetIpAddressForUser;
- PMPRADMINRELEASEIPADRESS lpfnMprAdminReleaseIpAddress;
- PMPRADMINGETIPV6ADDRESSFORUSER lpfnMprAdminGetIpv6AddressForUser;
- PMPRADMINRELEASEIPV6ADDRESSFORUSER lpfnMprAdminReleaseIpV6AddressForUser;
- PMPRADMINACCEPTNEWLINK lpfnRasAdminAcceptNewLink;
- PMPRADMINLINKHANGUPNOTIFICATION lpfnRasAdminLinkHangupNotification;
- PMPRADMINTERMINATEDLL lpfnRasAdminTerminateDll;
- PMPRADMINACCEPTNEWCONNECTIONEX lpfnRasAdminAcceptNewConnectionEx;
- PMPRADMINACCEPTREAUTHENTICATIONEX lpfnRasAdminAcceptReauthenticationEx;
- PMPRADMINCONNECTIONHANGUPNOTIFICATIONEX lpfnRasAdminConnectionHangupNotificationEx;
- } MPRAPI_ADMIN_DLL_CALLBACKS, *PMPRAPI_ADMIN_DLL_CALLBACKS;
- DWORD APIENTRY MprConfigServerSetInfoEx(HANDLE hMprConfig,MPR_SERVER_SET_CONFIG_EX *pSetServerConfig);
- DWORD APIENTRY MprConfigServerGetInfoEx(
- HANDLE hMprConfig,
- MPR_SERVER_EX *pServerInfo
- );
- DWORD APIENTRY MprAdminConnectionEnumEx(
- RAS_SERVER_HANDLE hRasServer,
- PMPRAPI_OBJECT_HEADER pObjectHeader,
- DWORD dwPreferedMaxLen,
- LPDWORD lpdwEntriesRead,
- LPDWORD lpdwTotalEntries,
- PRAS_CONNECTION_EX *ppRasConn,
- LPDWORD lpdwResumeHandle
- );
- DWORD APIENTRY MprAdminConnectionGetInfoEx(
- RAS_SERVER_HANDLE hRasServer,
- HANDLE hConnection,
- PRAS_CONNECTION_EX pRasConnection
- );
- DWORD APIENTRY MprAdminInitializeDllEx(
- PMPRAPI_ADMIN_DLL_CALLBACKS pAdminCallbacks
- );
- DWORD APIENTRY MprAdminIsServiceInitialized(
- LPWSTR lpwsServerName,
- WINBOOL *fIsServiceInitialized
- );
- DWORD APIENTRY MprAdminServerGetInfoEx(
- MPR_SERVER_HANDLE hMprServer,
- MPR_SERVER_EX *pServerInfo
- );
- DWORD APIENTRY MprAdminServerSetInfoEx(
- MPR_SERVER_HANDLE hMprServer,
- MPR_SERVER_SET_CONFIG_EX *pServerInfo
- );
- #endif /*(_WIN32_WINNT >= 0x0601)*/
- #ifdef __cplusplus
- }
- #endif
- #endif /* WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) */
- #endif /* __ROUTING_MPRADMIN_H__ */
|