⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mprapi.h

📁 MinGW+MSYS开发必用的api参考
💻 H
📖 第 1 页 / 共 2 页
字号:
/* * 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 __cplusplusextern "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 32typedef 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 15typedef 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 22typedef 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 0x00000001typedef 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 256typedef 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 0x00000008typedef 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 16typedef 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 128typedef 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 0x07typedef 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_MaxPhoneNumbertypedef 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 40typedef 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;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -