Mercurial > games > semicongine
diff fuhtark_test/include/winapi/mprapi.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fuhtark_test/include/winapi/mprapi.h Wed Nov 26 21:36:48 2025 +0700 @@ -0,0 +1,572 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the w64 mingw-runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef __ROUTING_MPRADMIN_H__ +#define __ROUTING_MPRADMIN_H__ + +#include <lmcons.h> +#include <ras.h> + +#ifdef __cplusplus +extern "C" { +#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; + + 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 + + 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) + +#ifdef __cplusplus +} +#endif +#endif
