1 | /*
|
---|
2 | * mprapi.h - Routing and Remote Access Services
|
---|
3 | *
|
---|
4 | * THIS SOFTWARE IS NOT COPYRIGHTED
|
---|
5 | *
|
---|
6 | * This source code is offered for use in the public domain. You may use,
|
---|
7 | * modify or distribute it freely.
|
---|
8 | *
|
---|
9 | * This code is distributed in the hope that it will be useful but
|
---|
10 | * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
|
---|
11 | * DISCLAIMED. This includes but is not limited to warranties of
|
---|
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
---|
13 | *
|
---|
14 | */
|
---|
15 | #ifndef _MPRAPI_H
|
---|
16 | #define _MPRAPI_H
|
---|
17 | #if __GNUC__ >= 3
|
---|
18 | #pragma GCC system_header
|
---|
19 | #endif
|
---|
20 |
|
---|
21 | #include <ras.h>
|
---|
22 | #include <lmcons.h>
|
---|
23 |
|
---|
24 | #ifdef __cplusplus
|
---|
25 | extern "C" {
|
---|
26 | #endif
|
---|
27 |
|
---|
28 | #if (_WIN32_WINNT >= 0x0500)
|
---|
29 | /*--- Router Management Reference - Router Management Enumerated Types */
|
---|
30 | typedef enum _ROUTER_CONNECTION_STATE {
|
---|
31 | ROUTER_IF_STATE_UNREACHABLE,
|
---|
32 | ROUTER_IF_STATE_DISCONNECTED,
|
---|
33 | ROUTER_IF_STATE_CONNECTING,
|
---|
34 | ROUTER_IF_STATE_CONNECTED
|
---|
35 | } ROUTER_CONNECTION_STATE;
|
---|
36 | typedef enum _ROUTER_INTERFACE_TYPE {
|
---|
37 | ROUTER_IF_TYPE_CLIENT,
|
---|
38 | ROUTER_IF_TYPE_HOME_ROUTER,
|
---|
39 | ROUTER_IF_TYPE_FULL_ROUTER,
|
---|
40 | ROUTER_IF_TYPE_DEDICATED,
|
---|
41 | ROUTER_IF_TYPE_INTERNAL,
|
---|
42 | ROUTER_IF_TYPE_LOOPBACK,
|
---|
43 | ROUTER_IF_TYPE_TUNNEL1,
|
---|
44 | ROUTER_IF_TYPE_DIALOUT
|
---|
45 | } ROUTER_INTERFACE_TYPE;
|
---|
46 | #define MPR_INTERFACE_ADMIN_DISABLED 0x00000002
|
---|
47 | #define MPR_INTERFACE_CONNECTION_FAILURE 0x00000004
|
---|
48 | #define MPR_INTERFACE_DIALOUT_HOURS_RESTRICTION 0x00000010
|
---|
49 | #define MPR_INTERFACE_OUT_OF_RESOURCES 0x00000001
|
---|
50 | #define MPR_INTERFACE_SERVICE_PAUSED 0x00000008
|
---|
51 | #define MPR_INTERFACE_NO_MEDIA_SENSE 0x00000020
|
---|
52 | #define MPR_INTERFACE_NO_DEVICE 0x00000040
|
---|
53 | /*--- Router Management MIB Reference - Transport and Protocol Constants */
|
---|
54 | #define PID_ATALK 0x00000029
|
---|
55 | #define PID_IP 0x00000021
|
---|
56 | #define PID_IPX 0x0000002B
|
---|
57 | #define PID_NBF 0x0000003F
|
---|
58 | /*--- Remote Access Service Administration Reference - RAS Administration Enumerated Types */
|
---|
59 | typedef enum _RAS_HARDWARE_CONDITION {
|
---|
60 | RAS_HARDWARE_OPERATIONAL,
|
---|
61 | RAS_HARDWARE_FAILURE
|
---|
62 | } RAS_HARDWARE_CONDITION;
|
---|
63 | typedef enum _RAS_PORT_CONDITION {
|
---|
64 | RAS_PORT_NON_OPERATIONAL,
|
---|
65 | RAS_PORT_DISCONNECTED,
|
---|
66 | RAS_PORT_CALLING_BACK,
|
---|
67 | RAS_PORT_LISTENING,
|
---|
68 | RAS_PORT_AUTHENTICATING,
|
---|
69 | RAS_PORT_AUTHENTICATED,
|
---|
70 | RAS_PORT_INITIALIZING
|
---|
71 | } RAS_PORT_CONDITION;
|
---|
72 | /*--- Remote Access Service Administration Reference - RAS Administration Structures */
|
---|
73 | #define ATADDRESSLEN 32
|
---|
74 | typedef struct _PPP_ATCP_INFO {
|
---|
75 | DWORD dwError;
|
---|
76 | WCHAR wszAddress[ATADDRESSLEN+1];
|
---|
77 | } PPP_ATCP_INFO;
|
---|
78 | typedef struct _PPP_CCP_INFO {
|
---|
79 | DWORD dwError;
|
---|
80 | DWORD dwCompressionAlgorithm;
|
---|
81 | DWORD dwOptions;
|
---|
82 | DWORD dwRemoteCompressionAlgorithm;
|
---|
83 | DWORD dwRemoteOptions;
|
---|
84 | } PPP_CCP_INFO;
|
---|
85 | #define RASCCPCA_STAC 0x00000005
|
---|
86 | #define RASCCPCA_MPPC 0x00000006
|
---|
87 | #define PPP_CCP_COMPRESSION 0x00000001
|
---|
88 | #define PPP_CCP_ENCRYPTION40BITOLD 0x00000010
|
---|
89 | #define PPP_CCP_ENCRYPTION40BIT 0x00000020
|
---|
90 | #define PPP_CCP_ENCRYPTION128BIT 0x00000040
|
---|
91 | #define PPP_CCP_ENCRYPTION56BIT 0x00000080
|
---|
92 | #define PPP_CCP_HISTORYLESS 0x01000000
|
---|
93 | #define IPADDRESSLEN 15
|
---|
94 | typedef struct _PPP_IPCP_INFO {
|
---|
95 | DWORD dwError;
|
---|
96 | WCHAR wszAddress[IPADDRESSLEN+1];
|
---|
97 | WCHAR wszRemoteAddress[IPADDRESSLEN+1];
|
---|
98 | } PPP_IPCP_INFO;
|
---|
99 | typedef struct _PPP_IPCP_INFO2 {
|
---|
100 | DWORD dwError;
|
---|
101 | WCHAR wszAddress[IPADDRESSLEN+1];
|
---|
102 | WCHAR wszRemoteAddress[IPADDRESSLEN+1];
|
---|
103 | DWORD dwOptions;
|
---|
104 | DWORD dwRemoteOptons;
|
---|
105 | } PPP_IPCP_INFO2;
|
---|
106 | #define IPXADDRESSLEN 22
|
---|
107 | typedef struct _PPP_IPXCP_INFO {
|
---|
108 | DWORD dwError;
|
---|
109 | WCHAR wszAddress[IPXADDRESSLEN+1];
|
---|
110 | } PPP_IPXCP_INFO;
|
---|
111 | typedef struct _PPP_LCP_INFO {
|
---|
112 | DWORD dwError;
|
---|
113 | DWORD dwAuthenticationProtocol;
|
---|
114 | DWORD dwAuthenticationData;
|
---|
115 | DWORD dwRemoteAuthenticationProtocol;
|
---|
116 | DWORD dwRemoteAuthenticationData;
|
---|
117 | DWORD dwTerminateReason;
|
---|
118 | DWORD dwRemoteTerminateReason;
|
---|
119 | DWORD dwOptions;
|
---|
120 | DWORD dwRemoteOptions;
|
---|
121 | DWORD dwEapTypeId;
|
---|
122 | DWORD dwRemoteEapTypeId;
|
---|
123 | } PPP_LCP_INFO;
|
---|
124 | #define PPP_LCP_PAP 0x0000C023
|
---|
125 | #define PPP_LCP_SPAP 0x0000C027
|
---|
126 | #define PPP_LCP_CHAP 0x0000C223
|
---|
127 | #define PPP_LCP_EAP 0x0000C227
|
---|
128 | #define PPP_LCP_CHAP_MD5 0x00000005
|
---|
129 | #define PPP_LCP_CHAP_MS 0x00000080
|
---|
130 | #define PPP_LCP_CHAP_MSV2 0x00000081
|
---|
131 | #define PPP_LCP_MULTILINK_FRAMING 0x00000001
|
---|
132 | typedef struct _PPP_NBFCP_INFO {
|
---|
133 | DWORD dwError;
|
---|
134 | WCHAR wszWksta[NETBIOS_NAME_LEN+1];
|
---|
135 | } PPP_NBFCP_INFO;
|
---|
136 | typedef struct _PPP_INFO {
|
---|
137 | PPP_NBFCP_INFO nbf;
|
---|
138 | PPP_IPCP_INFO ip;
|
---|
139 | PPP_IPXCP_INFO ipx;
|
---|
140 | PPP_ATCP_INFO at;
|
---|
141 | } PPP_INFO;
|
---|
142 | typedef struct _PPP_INFO_2 {
|
---|
143 | PPP_NBFCP_INFO nbf;
|
---|
144 | PPP_IPCP_INFO2 ip;
|
---|
145 | PPP_IPXCP_INFO ipx;
|
---|
146 | PPP_ATCP_INFO at;
|
---|
147 | PPP_CCP_INFO ccp;
|
---|
148 | PPP_LCP_INFO lcp;
|
---|
149 | } PPP_INFO_2;
|
---|
150 | #define MAX_INTERFACE_NAME_LEN 256
|
---|
151 | typedef struct _RAS_CONNECTION_0 {
|
---|
152 | HANDLE hConnection;
|
---|
153 | HANDLE hInterface;
|
---|
154 | DWORD dwConnectDuration;
|
---|
155 | ROUTER_INTERFACE_TYPE dwInterfaceType;
|
---|
156 | DWORD dwConnectionFlags;
|
---|
157 | WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
|
---|
158 | WCHAR wszUserName[UNLEN+1];
|
---|
159 | WCHAR wszLogonDomain[DNLEN+1];
|
---|
160 | WCHAR wszRemoteComputer[NETBIOS_NAME_LEN+1];
|
---|
161 | } RAS_CONNECTION_0,*PRAS_CONNECTION_0;
|
---|
162 | #define RAS_FLAGS_PPP_CONNECTION 0x00000001
|
---|
163 | #define RAS_FLAGS_MESSENGER_PRESENT 0x00000002
|
---|
164 | #define RAS_FLAGS_RAS_CONNECTION 0x00000004
|
---|
165 | #define RAS_FLAGS_QUARANTINE_PRESENT 0x00000008
|
---|
166 | typedef struct RAS_CONNECTION_1 {
|
---|
167 | HANDLE hConnection;
|
---|
168 | HANDLE hInterface;
|
---|
169 | PPP_INFO PppInfo;
|
---|
170 | DWORD dwBytesXmited;
|
---|
171 | DWORD dwBytesRcved;
|
---|
172 | DWORD dwFramesXmited;
|
---|
173 | DWORD dwFramesRcved;
|
---|
174 | DWORD dwCrcErr;
|
---|
175 | DWORD dwTimeoutErr;
|
---|
176 | DWORD dwAlignmentErr;
|
---|
177 | DWORD dwHardwareOverrunErr;
|
---|
178 | DWORD dwFramingErr;
|
---|
179 | DWORD dwBufferOverrunErr;
|
---|
180 | DWORD dwCompressionRatioIn;
|
---|
181 | DWORD dwCompressionRatioOut;
|
---|
182 | } RAS_CONNECTION_1,*PRAS_CONNECTION_1;
|
---|
183 | typedef struct _RAS_CONNECTION_2 {
|
---|
184 | HANDLE hConnection;
|
---|
185 | WCHAR wszUserName[UNLEN+1];
|
---|
186 | ROUTER_INTERFACE_TYPE dwInterfaceType;
|
---|
187 | GUID guid;
|
---|
188 | PPP_INFO_2 PppInfo2;
|
---|
189 | } RAS_CONNECTION_2,*PRAS_CONNECTION_2;
|
---|
190 | #define MAX_PORT_NAME 16
|
---|
191 | #define MAX_MEDIA_NAME 16
|
---|
192 | #define MAX_DEVICE_NAME 128
|
---|
193 | #define MAX_DEVICETYPE_NAME 16
|
---|
194 | typedef struct _RAS_PORT_0 {
|
---|
195 | HANDLE hPort;
|
---|
196 | HANDLE hConnection;
|
---|
197 | RAS_PORT_CONDITION dwPortCondition;
|
---|
198 | DWORD dwTotalNumberOfCalls;
|
---|
199 | DWORD dwConnectDuration;
|
---|
200 | WCHAR wszPortName[MAX_PORT_NAME+1];
|
---|
201 | WCHAR wszMediaName[MAX_MEDIA_NAME+1];
|
---|
202 | WCHAR wszDeviceName[MAX_DEVICE_NAME+1];
|
---|
203 | WCHAR wszDeviceType[MAX_DEVICETYPE_NAME+1];
|
---|
204 | } RAS_PORT_0,*PRAS_PORT_0;
|
---|
205 | typedef struct _RAS_PORT_1 {
|
---|
206 | HANDLE hPort;
|
---|
207 | HANDLE hConnection;
|
---|
208 | RAS_HARDWARE_CONDITION dwHardwareCondition;
|
---|
209 | DWORD dwLineSpeed;
|
---|
210 | DWORD dwBytesXmited;
|
---|
211 | DWORD dwBytesRcved;
|
---|
212 | DWORD dwFramesXmited;
|
---|
213 | DWORD dwFramesRcved;
|
---|
214 | DWORD dwCrcErr;
|
---|
215 | DWORD dwTimeoutErr;
|
---|
216 | DWORD dwAlignmentErr;
|
---|
217 | DWORD dwHardwareOverrunErr;
|
---|
218 | DWORD dwFramingErr;
|
---|
219 | DWORD dwBufferOverrunErr;
|
---|
220 | DWORD dwCompressionRatioIn;
|
---|
221 | DWORD dwCompressionRatioOut;
|
---|
222 | } RAS_PORT_1,*PRAS_PORT_1;
|
---|
223 | #define MAX_PHONE_NUMBER_LEN 128
|
---|
224 | typedef struct _RAS_USER_0 {
|
---|
225 | BYTE bfPrivilege;
|
---|
226 | WCHAR wszPhoneNumber[MAX_PHONE_NUMBER_LEN+1];
|
---|
227 | } RAS_USER_0,*PRAS_USER_0;
|
---|
228 | #define RASPRIV_NoCallback 0x01
|
---|
229 | #define RASPRIV_AdminSetCallback 0x02
|
---|
230 | #define RASPRIV_CallerSetCallback 0x04
|
---|
231 | #define RASPRIV_DialinPrivilege 0x08
|
---|
232 | #define RASPRIV_CallbackType 0x07
|
---|
233 | typedef struct _RAS_USER_1 {
|
---|
234 | BYTE bfPrivilege;
|
---|
235 | WCHAR wszPhoneNumber[MAX_PHONE_NUMBER_LEN+1];
|
---|
236 | BYTE bfPrivilege2;
|
---|
237 | } RAS_USER_1,*PRAS_USER_1;
|
---|
238 | #define RASPRIV2_DialinPolicy 0x01
|
---|
239 | /*--- Router Management Reference - Router Management Structures */
|
---|
240 | typedef struct _MPR_CREDENTIALSEX_0 {
|
---|
241 | DWORD dwSize;
|
---|
242 | LPBYTE lpbCredentialsInfo;
|
---|
243 | } MPR_CREDENTIALSEX_0,*PMPR_CREDENTIALSEX_0;
|
---|
244 | #if (_WIN32_WINNT >= 0x0502)
|
---|
245 | typedef struct _MPR_CREDENTIALSEX_1 {
|
---|
246 | DWORD dwSize;
|
---|
247 | LPBYTE lpbCredentialsInfo;
|
---|
248 | } MPR_CREDENTIALSEX_1,*PMPR_CREDENTIALSEX_1;
|
---|
249 | #endif
|
---|
250 | #define MPR_MaxDeviceType RAS_MaxDeviceType
|
---|
251 | #define MPR_MaxDeviceName RAS_MaxDeviceName
|
---|
252 | #define MPR_MaxPadType RAS_MaxPadType
|
---|
253 | #define MPR_MaxX25Address RAS_MaxX25Address
|
---|
254 | #define MPR_MaxFacilities RAS_MaxFacilities
|
---|
255 | #define MPR_MaxUserData RAS_MaxUserData
|
---|
256 | #define MPR_MaxPhoneNumber RAS_MaxPhoneNumber
|
---|
257 | typedef struct _MPR_DEVICE_0 {
|
---|
258 | WCHAR szDeviceType[MPR_MaxDeviceType+1];
|
---|
259 | WCHAR szDeviceName[MPR_MaxDeviceName+1];
|
---|
260 | } MPR_DEVICE_0,*PMPR_DEVICE_0;
|
---|
261 | typedef struct _MPR_DEVICE_1 {
|
---|
262 | WCHAR szDeviceType[MPR_MaxDeviceType+1];
|
---|
263 | WCHAR szDeviceName[MPR_MaxDeviceName+1];
|
---|
264 | WCHAR szLocalPhoneNumber[MPR_MaxPhoneNumber+1];
|
---|
265 | PWCHAR szAlternates;
|
---|
266 | } MPR_DEVICE_1,*PMPR_DEVICE_1;
|
---|
267 | #define MAX_TRANSPORT_NAME_LEN 40
|
---|
268 | typedef struct _MPR_IFTRANSPORT_0 {
|
---|
269 | DWORD dwTransportId;
|
---|
270 | HANDLE hIfTransport;
|
---|
271 | WCHAR wszIfTransportName[MAX_TRANSPORT_NAME_LEN+1];
|
---|
272 | } MPR_IFTRANSPORT_0,*PMPR_IFTRANSPORT_0;
|
---|
273 | typedef struct _MPR_INTERFACE_0 {
|
---|
274 | WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
|
---|
275 | HANDLE hInterface;
|
---|
276 | BOOL fEnabled;
|
---|
277 | ROUTER_INTERFACE_TYPE dwIfType;
|
---|
278 | ROUTER_CONNECTION_STATE dwConnectionState;
|
---|
279 | DWORD fUnReachabilityReasons;
|
---|
280 | DWORD dwLastError;
|
---|
281 | } MPR_INTERFACE_0,*PMPR_INTERFACE_0;
|
---|
282 | typedef struct _MPR_INTERFACE_1 {
|
---|
283 | WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
|
---|
284 | HANDLE hInterface;
|
---|
285 | BOOL fEnabled;
|
---|
286 | ROUTER_INTERFACE_TYPE IfType;
|
---|
287 | ROUTER_CONNECTION_STATE dwConnectionState;
|
---|
288 | DWORD fUnReachabilityReasons;
|
---|
289 | DWORD dwLastError;
|
---|
290 | LPWSTR lpwsDialoutHoursRestriction;
|
---|
291 | } MPR_INTERFACE_1,*PMPR_INTERFACE_1;
|
---|
292 | typedef struct _MPR_INTERFACE_2 {
|
---|
293 | WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
|
---|
294 | HANDLE hInterface;
|
---|
295 | BOOL fEnabled;
|
---|
296 | ROUTER_INTERFACE_TYPE dwIfType;
|
---|
297 | ROUTER_CONNECTION_STATE dwConnectionState;
|
---|
298 | DWORD fUnReachabilityReasons;
|
---|
299 | DWORD dwLastError;
|
---|
300 | DWORD dwfOptions;
|
---|
301 | WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber+1];
|
---|
302 | PWCHAR szAlternates;
|
---|
303 | DWORD ipaddr;
|
---|
304 | DWORD ipaddrDns;
|
---|
305 | DWORD ipaddrDnsAlt;
|
---|
306 | DWORD ipaddrWins;
|
---|
307 | DWORD ipaddrWinsAlt;
|
---|
308 | DWORD dwfNetProtocols;
|
---|
309 | WCHAR szDeviceType[MPR_MaxDeviceType+1];
|
---|
310 | WCHAR szDeviceName[MPR_MaxDeviceName+1];
|
---|
311 | WCHAR szX25PadType[MPR_MaxPadType+1];
|
---|
312 | WCHAR szX25Address[MPR_MaxX25Address+1];
|
---|
313 | WCHAR szX25Facilities[MPR_MaxFacilities+1];
|
---|
314 | WCHAR szX25UserData[MPR_MaxUserData+1];
|
---|
315 | DWORD dwChannels;
|
---|
316 | DWORD dwSubEntries;
|
---|
317 | DWORD dwDialMode;
|
---|
318 | DWORD dwDialExtraPercent;
|
---|
319 | DWORD dwDialExtraSampleSeconds;
|
---|
320 | DWORD dwHangUpExtraPercent;
|
---|
321 | DWORD dwHangUpExtraSampleSeconds;
|
---|
322 | DWORD dwIdleDisconnectSeconds;
|
---|
323 | DWORD dwType;
|
---|
324 | DWORD dwEncryptionType;
|
---|
325 | DWORD dwCustomAuthKey;
|
---|
326 | DWORD dwCustomAuthDataSize;
|
---|
327 | LPBYTE lpbCustomAuthData;
|
---|
328 | GUID guidId;
|
---|
329 | DWORD dwVpnStrategy;
|
---|
330 | } MPR_INTERFACE_2,*PMPR_INTERFACE_2;
|
---|
331 | #define MPRIO_SpecificIpAddr RASEO_SpecificIpAddr
|
---|
332 | #define MPRIO_SpecificNameServers RASEO_SpecificNameServers
|
---|
333 | #define MPRIO_IpHeaderCompression RASEO_IpHeaderCompression
|
---|
334 | #define MPRIO_RemoteDefaultGateway RASEO_RemoteDefaultGateway
|
---|
335 | #define MPRIO_DisableLcpExtensions RASEO_DisableLcpExtensions
|
---|
336 | #define MPRIO_SwCompression RASEO_SwCompression
|
---|
337 | #define MPRIO_RequireEncryptedPw RASEO_RequireEncryptedPw
|
---|
338 | #define MPRIO_RequireMsEncryptedPw RASEO_RequireMsEncryptedPw
|
---|
339 | #define MPRIO_RequireDataEncryption RASEO_RequireDataEncryption
|
---|
340 | #define MPRIO_NetworkLogon RASEO_NetworkLogon
|
---|
341 | #define MPRIO_UseLogonCredentials RASEO_UseLogonCredentials
|
---|
342 | #define MPRIO_PromoteAlternates RASEO_PromoteAlternates
|
---|
343 | #define MPRIO_SecureLocalFiles RASEO_SecureLocalFiles
|
---|
344 | #define MPRIO_RequireEAP RASEO_RequireEAP
|
---|
345 | #define MPRIO_RequirePAP RASEO_RequirePAP
|
---|
346 | #define MPRIO_RequireSPAP RASEO_RequireSPAP
|
---|
347 | #define MPRIO_SharedPhoneNumbers RASEO_SharedPhoneNumbers
|
---|
348 | #define MPRIO_RequireCHAP RASEO_RequireCHAP
|
---|
349 | #define MPRIO_RequireMsCHAP RASEO_RequireMsCHAP
|
---|
350 | #define MPRIO_RequireMsCHAP2 RASEO_RequireMsCHAP2
|
---|
351 | #define MPRNP_Ipx RASNP_Ipx
|
---|
352 | #define MPRNP_Ip RASNP_Ip
|
---|
353 | #define MPRDT_Modem RASDT_Modem
|
---|
354 | #define MPRDT_Isdn RASDT_Isdn
|
---|
355 | #define MPRDT_X25 RASDT_X25
|
---|
356 | #define MPRDT_Vpn RASDT_Vpn
|
---|
357 | #define MPRDT_Pad RASDT_Pad
|
---|
358 | #define MPRDT_Generic RASDT_Generic
|
---|
359 | #define MPRDT_Serial RASDT_Serial
|
---|
360 | #define MPRDT_FrameRelay RASDT_FrameRelay
|
---|
361 | #define MPRDT_Atm RASDT_Atm
|
---|
362 | #define MPRDT_Sonet RASDT_Sonet
|
---|
363 | #define MPRDT_SW56 RASDT_SW56
|
---|
364 | #define MPRDT_Irda RASDT_Irda
|
---|
365 | #define MPRDT_Parallel RASDT_Parallel
|
---|
366 | #define MPRDM_DialAll RASEDM_DialAll
|
---|
367 | #define MPRDM_DialAsNeeded RASEDM_DialAsNeeded
|
---|
368 | #define MPRIDS_Disabled RASIDS_Disabled
|
---|
369 | #define MPRIDS_UseGlobalValue RASIDS_UseGlobalValue
|
---|
370 | #define MPRET_Phone RASET_Phone
|
---|
371 | #define MPRET_Vpn RASET_Vpn
|
---|
372 | #define MPRET_Direct RASET_Direct
|
---|
373 | #define MPR_ET_None ET_None
|
---|
374 | #define MPR_ET_Require ET_Require
|
---|
375 | #define MPR_ET_RequireMax ET_RequireMax
|
---|
376 | #define MPR_ET_Optional ET_Optional
|
---|
377 | #define MPR_VS_Default VS_Default
|
---|
378 | #define MPR_VS_PptpOnly VS_PptpOnly
|
---|
379 | #define MPR_VS_PptpFirst VS_PptpFirst
|
---|
380 | #define MPR_VS_L2tpOnly VS_L2tpOnly
|
---|
381 | #define MPR_VS_L2tpFirst VS_L2tpFirst
|
---|
382 | #if (_WIN32_WINNT>=0x0600)
|
---|
383 | typedef struct _MPR_INTERFACE_3 {
|
---|
384 | WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
|
---|
385 | HANDLE hInterface;
|
---|
386 | BOOL fEnabled;
|
---|
387 | ROUTER_INTERFACE_TYPE dwIfType;
|
---|
388 | ROUTER_CONNECTION_STATE dwConnectionState;
|
---|
389 | DWORD fUnReachabilityReasons;
|
---|
390 | DWORD dwLastError;
|
---|
391 | DWORD dwfOptions;
|
---|
392 | WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber+1];
|
---|
393 | PWCHAR szAlternates;
|
---|
394 | DWORD ipaddr;
|
---|
395 | DWORD ipaddrDns;
|
---|
396 | DWORD ipaddrDnsAlt;
|
---|
397 | DWORD ipaddrWins;
|
---|
398 | DWORD ipaddrWinsAlt;
|
---|
399 | DWORD dwfNetProtocols;
|
---|
400 | WCHAR szDeviceType[MPR_MaxDeviceType+1];
|
---|
401 | WCHAR szDeviceName[MPR_MaxDeviceName+1];
|
---|
402 | WCHAR szX25PadType[MPR_MaxPadType+1];
|
---|
403 | WCHAR szX25Address[MPR_MaxX25Address+1];
|
---|
404 | WCHAR szX25Facilities[MPR_MaxFacilities+1];
|
---|
405 | WCHAR szX25UserData[MPR_MaxUserData+1];
|
---|
406 | DWORD dwChannels;
|
---|
407 | DWORD dwSubEntries;
|
---|
408 | DWORD dwDialMode;
|
---|
409 | DWORD dwDialExtraPercent;
|
---|
410 | DWORD dwDialExtraSampleSeconds;
|
---|
411 | DWORD dwHangUpExtraPercent;
|
---|
412 | DWORD dwHangUpExtraSampleSeconds;
|
---|
413 | DWORD dwIdleDisconnectSeconds;
|
---|
414 | DWORD dwType;
|
---|
415 | DWORD dwEncryptionType;
|
---|
416 | DWORD dwCustomAuthKey;
|
---|
417 | DWORD dwCustomAuthDataSize;
|
---|
418 | LPBYTE lpbCustomAuthData;
|
---|
419 | GUID guidId;
|
---|
420 | DWORD dwVpnStrategy;
|
---|
421 | ULONG AddressCount;
|
---|
422 | IN6_ADDR ipv6addrDns;
|
---|
423 | IN6_ADDR ipv6addrDnsAlt;
|
---|
424 | IN6_ADDR* ipv6addr;
|
---|
425 | } MPR_INTERFACE_3,*PMPR_INTERFACE_3;
|
---|
426 | #endif
|
---|
427 | typedef struct _MPR_SERVER_0 {
|
---|
428 | BOOL fLanOnlyMode;
|
---|
429 | DWORD dwUpTime;
|
---|
430 | DWORD dwTotalPorts;
|
---|
431 | DWORD dwPortsInUse;
|
---|
432 | } MPR_SERVER_0,*PMPR_SERVER_0;
|
---|
433 | #if (_WIN32_WINNT >= 0x0502)
|
---|
434 | typedef struct _MPR_SERVER_1 {
|
---|
435 | DWORD dwNumPptpPorts;
|
---|
436 | DWORD dwPptpPortFlags;
|
---|
437 | DWORD dwNumL2tpPorts;
|
---|
438 | DWORD dwL2tpPortFlags;
|
---|
439 | } MPR_SERVER_1,*PMPR_SERVER_1;
|
---|
440 | #define MPR_ENABLE_RAS_ON_DEVICE 0x00000001
|
---|
441 | #define MPR_ENABLE_ROUTING_ON_DEVICE 0x00000002
|
---|
442 | #endif
|
---|
443 | typedef struct _MPR_TRANSPORT_0 {
|
---|
444 | DWORD dwTransportId;
|
---|
445 | HANDLE hTransport;
|
---|
446 | WCHAR wszTransportName[MAX_TRANSPORT_NAME_LEN+1];
|
---|
447 | } MPR_TRANSPORT_0,*PMPR_TRANSPORT_0;
|
---|
448 | typedef HANDLE RAS_SERVER_HANDLE;
|
---|
449 | typedef HANDLE MPR_SERVER_HANDLE;
|
---|
450 | /*--- Remote Access Service Administration Reference - RAS Administration Functions */
|
---|
451 | DWORD WINAPI MprAdminConnectionClearStats(RAS_SERVER_HANDLE,HANDLE);
|
---|
452 | DWORD WINAPI MprAdminConnectionEnum(RAS_SERVER_HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
|
---|
453 | DWORD WINAPI MprAdminConnectionGetInfo(RAS_SERVER_HANDLE,DWORD,HANDLE,LPBYTE*);
|
---|
454 | DWORD WINAPI MprAdminConnectionRemoveQuarantine(HANDLE,HANDLE,BOOL);
|
---|
455 | DWORD WINAPI MprAdminPortClearStats(RAS_SERVER_HANDLE,HANDLE);
|
---|
456 | DWORD WINAPI MprAdminPortDisconnect(RAS_SERVER_HANDLE,HANDLE);
|
---|
457 | DWORD WINAPI MprAdminPortEnum(RAS_SERVER_HANDLE,DWORD,HANDLE,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
|
---|
458 | DWORD WINAPI MprAdminPortGetInfo(RAS_SERVER_HANDLE,DWORD,HANDLE,LPBYTE);
|
---|
459 | DWORD WINAPI MprAdminPortReset(RAS_SERVER_HANDLE,HANDLE);
|
---|
460 | /*--- Remote Access Service Administration Reference - RAS Administration Functions - RAS Admin DLL Functions */
|
---|
461 | BOOL WINAPI MprAdminAcceptNewConnection(RAS_CONNECTION_0*,RAS_CONNECTION_1*);
|
---|
462 | BOOL WINAPI MprAdminAcceptNewConnection2(RAS_CONNECTION_0*,RAS_CONNECTION_1*,RAS_CONNECTION_2*);
|
---|
463 | BOOL WINAPI MprAdminAcceptNewLink(RAS_PORT_0*,RAS_PORT_1*);
|
---|
464 | #if (_WIN32_WINNT >= 0x0600)
|
---|
465 | BOOL WINAPI MprAdminAcceptReauthentication(RAS_CONNECTION_0*,RAS_CONNECTION_1*,RAS_CONNECTION_2*,RAS_CONNECTION_3*);
|
---|
466 | #endif
|
---|
467 | void WINAPI MprAdminConnectionHangupNotification(RAS_CONNECTION_0*,RAS_CONNECTION_1*);
|
---|
468 | void WINAPI MprAdminConnectionHangupNotification2(RAS_CONNECTION_0*,RAS_CONNECTION_1*,RAS_CONNECTION_2*);
|
---|
469 | DWORD WINAPI MprAdminGetIpAddressForUser(WCHAR*,WCHAR*,DWORD*,BOOL*);
|
---|
470 | #if (_WIN32_WINNT >= 0x0502)
|
---|
471 | DWORD WINAPI MprAdminInitializeDll(void);
|
---|
472 | DWORD WINAPI MprAdminTerminateDll(void);
|
---|
473 | #endif
|
---|
474 | void WINAPI MprAdminLinkHangupNotification(RAS_PORT_0*,RAS_PORT_1*);
|
---|
475 | void WINAPI MprAdminReleaseIpAddress(WCHAR*,WCHAR*,DWORD*);
|
---|
476 | /*--- Remote Access Service Administration Reference - RAS Administration Functions - RAS User Administration Functions */
|
---|
477 | DWORD WINAPI MprAdminGetPDCServer(const WCHAR*,const WCHAR*,LPWSTR);
|
---|
478 | DWORD WINAPI MprAdminSendUserMessage(MPR_SERVER_HANDLE,HANDLE,LPWSTR);
|
---|
479 | DWORD WINAPI MprAdminUserGetInfo(const WCHAR*,const WCHAR*,DWORD,LPBYTE);
|
---|
480 | DWORD WINAPI MprAdminUserSetInfo(const WCHAR*,const WCHAR*,DWORD,const LPBYTE);
|
---|
481 | /*--- Router Management Reference - Router Administration Functions */
|
---|
482 | DWORD WINAPI MprAdminBufferFree(LPVOID);
|
---|
483 | DWORD WINAPI MprAdminDeregisterConnectionNotification(MPR_SERVER_HANDLE,HANDLE);
|
---|
484 | DWORD WINAPI MprAdminEstablishDomainRasServer(PWCHAR,PWCHAR,BOOL);
|
---|
485 | DWORD WINAPI MprAdminGetErrorString(DWORD,LPWSTR*);
|
---|
486 | DWORD WINAPI MprAdminInterfaceConnect(MPR_SERVER_HANDLE,HANDLE,HANDLE,BOOL);
|
---|
487 | DWORD WINAPI MprAdminInterfaceCreate(MPR_SERVER_HANDLE,DWORD,LPBYTE,HANDLE*);
|
---|
488 | DWORD WINAPI MprAdminInterfaceDelete(MPR_SERVER_HANDLE,HANDLE);
|
---|
489 | DWORD WINAPI MprAdminInterfaceDeviceGetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,DWORD,LPBYTE*);
|
---|
490 | DWORD WINAPI MprAdminInterfaceDeviceSetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,DWORD,LPBYTE);
|
---|
491 | DWORD WINAPI MprAdminInterfaceDisconnect(MPR_SERVER_HANDLE,HANDLE);
|
---|
492 | DWORD WINAPI MprAdminInterfaceEnum(MPR_SERVER_HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
|
---|
493 | DWORD WINAPI MprAdminInterfaceGetCredentials(LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR);
|
---|
494 | DWORD WINAPI MprAdminInterfaceGetHandle(MPR_SERVER_HANDLE,LPWSTR,HANDLE*,BOOL);
|
---|
495 | DWORD WINAPI MprAdminInterfaceGetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE*);
|
---|
496 | DWORD WINAPI MprAdminInterfaceQueryUpdateResult(MPR_SERVER_HANDLE,HANDLE,DWORD,LPDWORD);
|
---|
497 | DWORD WINAPI MprAdminInterfaceSetCredentials(LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR);
|
---|
498 | DWORD WINAPI MprAdminInterfaceSetCredentialsEx(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE);
|
---|
499 | DWORD WINAPI MprAdminInterfaceSetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE);
|
---|
500 | DWORD WINAPI MprAdminInterfaceTransportAdd(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE,DWORD);
|
---|
501 | DWORD WINAPI MprAdminInterfaceTransportGetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE*,LPDWORD);
|
---|
502 | DWORD WINAPI MprAdminInterfaceTransportRemove(MPR_SERVER_HANDLE,HANDLE,DWORD);
|
---|
503 | DWORD WINAPI MprAdminInterfaceTransportSetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE,DWORD);
|
---|
504 | DWORD WINAPI MprAdminInterfaceUpdatePhonebookInfo(MPR_SERVER_HANDLE,HANDLE);
|
---|
505 | DWORD WINAPI MprAdminInterfaceUpdateRoutes(MPR_SERVER_HANDLE,HANDLE,DWORD,HANDLE);
|
---|
506 | DWORD WINAPI MprAdminIsDomainRasServer(PWCHAR,PWCHAR,PBOOL);
|
---|
507 | BOOL WINAPI MprAdminIsServiceRunning(LPWSTR);
|
---|
508 | DWORD WINAPI MprAdminRegisterConnectionNotification(MPR_SERVER_HANDLE,HANDLE);
|
---|
509 | DWORD WINAPI MprAdminServerConnect(LPWSTR,MPR_SERVER_HANDLE*);
|
---|
510 | void WINAPI MprAdminServerDisconnect(MPR_SERVER_HANDLE);
|
---|
511 | DWORD WINAPI MprAdminServerGetCredentials(MPR_SERVER_HANDLE,DWORD,LPBYTE*);
|
---|
512 | DWORD WINAPI MprAdminInterfaceGetCredentialsEx(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE*);
|
---|
513 | DWORD WINAPI MprAdminServerGetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE*);
|
---|
514 | DWORD WINAPI MprAdminServerSetCredentials(MPR_SERVER_HANDLE,DWORD,LPBYTE);
|
---|
515 | DWORD WINAPI MprAdminServerSetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE);
|
---|
516 | DWORD WINAPI MprAdminTransportCreate(MPR_SERVER_HANDLE,DWORD,LPWSTR,LPBYTE,DWORD,LPBYTE,DWORD,LPWSTR);
|
---|
517 | DWORD WINAPI MprAdminTransportGetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE*,LPDWORD,LPBYTE*,LPDWORD);
|
---|
518 | DWORD WINAPI MprAdminTransportSetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE,DWORD,LPBYTE,DWORD);
|
---|
519 | /*--- Router Management Reference - Router Configuration Functions */
|
---|
520 | DWORD WINAPI MprConfigBufferFree(LPVOID);
|
---|
521 | DWORD WINAPI MprConfigGetFriendlyName(HANDLE,PWCHAR,PWCHAR,DWORD);
|
---|
522 | DWORD WINAPI MprConfigGetGuidName(HANDLE,PWCHAR,PWCHAR,DWORD);
|
---|
523 | DWORD WINAPI MprConfigInterfaceCreate(HANDLE,DWORD,LPBYTE,HANDLE*);
|
---|
524 | DWORD WINAPI MprConfigInterfaceDelete(HANDLE,HANDLE);
|
---|
525 | DWORD WINAPI MprConfigInterfaceEnum(HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
|
---|
526 | DWORD WINAPI MprConfigInterfaceGetHandle(HANDLE,LPWSTR,HANDLE*);
|
---|
527 | DWORD WINAPI MprConfigInterfaceGetInfo(HANDLE,HANDLE,DWORD,LPBYTE*,LPDWORD);
|
---|
528 | DWORD WINAPI MprConfigInterfaceSetInfo(HANDLE,HANDLE,DWORD,LPBYTE);
|
---|
529 | DWORD WINAPI MprConfigInterfaceTransportAdd(HANDLE,HANDLE,DWORD,LPWSTR,LPBYTE,DWORD,HANDLE*);
|
---|
530 | DWORD WINAPI MprConfigInterfaceTransportEnum(HANDLE,HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
|
---|
531 | DWORD WINAPI MprConfigInterfaceTransportGetHandle(HANDLE,HANDLE,DWORD,HANDLE*);
|
---|
532 | DWORD WINAPI MprConfigInterfaceTransportGetInfo(HANDLE,HANDLE,HANDLE,LPBYTE*,LPDWORD);
|
---|
533 | DWORD WINAPI MprConfigInterfaceTransportRemove(HANDLE,HANDLE,HANDLE);
|
---|
534 | DWORD WINAPI MprConfigInterfaceTransportSetInfo(HANDLE,HANDLE,HANDLE,LPBYTE,DWORD);
|
---|
535 | DWORD WINAPI MprConfigServerBackup(HANDLE,LPWSTR);
|
---|
536 | DWORD WINAPI MprConfigServerConnect(LPWSTR,HANDLE*);
|
---|
537 | void WINAPI MprConfigServerDisconnect(HANDLE);
|
---|
538 | DWORD WINAPI MprConfigServerGetInfo(HANDLE,DWORD,LPBYTE*);
|
---|
539 | DWORD WINAPI MprConfigServerInstall(DWORD,PVOID);
|
---|
540 | DWORD WINAPI MprConfigServerRestore(HANDLE,LPWSTR);
|
---|
541 | DWORD WINAPI MprConfigServerSetInfo(HANDLE,DWORD,LPBYTE);
|
---|
542 | DWORD WINAPI MprConfigTransportCreate(HANDLE,DWORD,LPWSTR,LPBYTE,DWORD,LPBYTE,DWORD,LPWSTR,HANDLE);
|
---|
543 | DWORD WINAPI MprConfigTransportDelete(HANDLE,HANDLE);
|
---|
544 | DWORD WINAPI MprConfigTransportEnum(HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
|
---|
545 | DWORD WINAPI MprConfigTransportGetHandle(HANDLE,DWORD,HANDLE*);
|
---|
546 | DWORD WINAPI MprConfigTransportGetInfo(HANDLE,HANDLE,LPBYTE*,LPDWORD,LPBYTE*,LPDWORD,LPWSTR*);
|
---|
547 | DWORD WINAPI MprConfigTransportSetInfo(HANDLE,HANDLE,LPBYTE,DWORD,LPBYTE,DWORD,LPWSTR);
|
---|
548 | /*--- Router Management Reference - Information Header Functions */
|
---|
549 | DWORD WINAPI MprInfoBlockAdd(LPVOID,DWORD,DWORD,DWORD,LPBYTE,LPVOID*);
|
---|
550 | DWORD WINAPI MprInfoBlockFind(LPVOID,DWORD,LPDWORD,LPDWORD,LPBYTE*);
|
---|
551 | DWORD WINAPI MprInfoBlockQuerySize(LPVOID);
|
---|
552 | DWORD WINAPI MprInfoBlockRemove(LPVOID,DWORD,LPVOID*);
|
---|
553 | DWORD WINAPI MprInfoBlockSet(LPVOID,DWORD,DWORD,DWORD,LPBYTE,LPVOID*);
|
---|
554 | DWORD WINAPI MprInfoCreate(DWORD,LPVOID*);
|
---|
555 | DWORD WINAPI MprInfoDelete(LPVOID);
|
---|
556 | DWORD WINAPI MprInfoDuplicate(LPVOID,LPVOID*);
|
---|
557 | DWORD WINAPI MprInfoRemoveAll(LPVOID,LPVOID*);
|
---|
558 | /*--- Router Management MIB Reference - Router Management MIB Functions */
|
---|
559 | typedef HANDLE MIB_SERVER_HANDLE;
|
---|
560 | DWORD WINAPI MprAdminMIBBufferFree(LPVOID);
|
---|
561 | DWORD WINAPI MprAdminMIBEntryCreate(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD);
|
---|
562 | DWORD WINAPI MprAdminMIBEntryDelete(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD);
|
---|
563 | DWORD WINAPI MprAdminMIBEntryGet(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD);
|
---|
564 | DWORD WINAPI MprAdminMIBEntryGetFirst(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD);
|
---|
565 | DWORD WINAPI MprAdminMIBEntryGetNext(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD);
|
---|
566 | DWORD WINAPI MprAdminMIBEntrySet(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD);
|
---|
567 | DWORD WINAPI MprAdminMIBGetTrapInfo(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD);
|
---|
568 | DWORD WINAPI MprAdminMIBServerConnect(LPWSTR,MIB_SERVER_HANDLE*);
|
---|
569 | void WINAPI MprAdminMIBServerDisconnect(MIB_SERVER_HANDLE);
|
---|
570 | DWORD WINAPI MprAdminMIBSetTrapInfo(DWORD,DWORD,HANDLE,LPVOID,DWORD,LPVOID*,LPDWORD);
|
---|
571 | #endif /* (_WIN32_WINNT >= 0x0500) */
|
---|
572 |
|
---|
573 | #ifdef __cplusplus
|
---|
574 | }
|
---|
575 | #endif
|
---|
576 | #endif
|
---|