|
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 typedef struct _MPR_INTERFACE_3 { |
|
383 WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1]; |
|
384 HANDLE hInterface; |
|
385 BOOL fEnabled; |
|
386 ROUTER_INTERFACE_TYPE dwIfType; |
|
387 ROUTER_CONNECTION_STATE dwConnectionState; |
|
388 DWORD fUnReachabilityReasons; |
|
389 DWORD dwLastError; |
|
390 DWORD dwfOptions; |
|
391 WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber+1]; |
|
392 PWCHAR szAlternates; |
|
393 DWORD ipaddr; |
|
394 DWORD ipaddrDns; |
|
395 DWORD ipaddrDnsAlt; |
|
396 DWORD ipaddrWins; |
|
397 DWORD ipaddrWinsAlt; |
|
398 DWORD dwfNetProtocols; |
|
399 WCHAR szDeviceType[MPR_MaxDeviceType+1]; |
|
400 WCHAR szDeviceName[MPR_MaxDeviceName+1]; |
|
401 WCHAR szX25PadType[MPR_MaxPadType+1]; |
|
402 WCHAR szX25Address[MPR_MaxX25Address+1]; |
|
403 WCHAR szX25Facilities[MPR_MaxFacilities+1]; |
|
404 WCHAR szX25UserData[MPR_MaxUserData+1]; |
|
405 DWORD dwChannels; |
|
406 DWORD dwSubEntries; |
|
407 DWORD dwDialMode; |
|
408 DWORD dwDialExtraPercent; |
|
409 DWORD dwDialExtraSampleSeconds; |
|
410 DWORD dwHangUpExtraPercent; |
|
411 DWORD dwHangUpExtraSampleSeconds; |
|
412 DWORD dwIdleDisconnectSeconds; |
|
413 DWORD dwType; |
|
414 DWORD dwEncryptionType; |
|
415 DWORD dwCustomAuthKey; |
|
416 DWORD dwCustomAuthDataSize; |
|
417 LPBYTE lpbCustomAuthData; |
|
418 GUID guidId; |
|
419 DWORD dwVpnStrategy; |
|
420 ULONG AddressCount; |
|
421 IN6_ADDR ipv6addrDns; |
|
422 IN6_ADDR ipv6addrDnsAlt; |
|
423 IN6_ADDR* ipv6addr; |
|
424 } MPR_INTERFACE_3,*PMPR_INTERFACE_3; |
|
425 typedef struct _MPR_SERVER_0 { |
|
426 BOOL fLanOnlyMode; |
|
427 DWORD dwUpTime; |
|
428 DWORD dwTotalPorts; |
|
429 DWORD dwPortsInUse; |
|
430 } MPR_SERVER_0,*PMPR_SERVER_0; |
|
431 #if (_WIN32_WINNT >= 0x0502) |
|
432 typedef struct _MPR_SERVER_1 { |
|
433 DWORD dwNumPptpPorts; |
|
434 DWORD dwPptpPortFlags; |
|
435 DWORD dwNumL2tpPorts; |
|
436 DWORD dwL2tpPortFlags; |
|
437 } MPR_SERVER_1,*PMPR_SERVER_1; |
|
438 #define MPR_ENABLE_RAS_ON_DEVICE 0x00000001 |
|
439 #define MPR_ENABLE_ROUTING_ON_DEVICE 0x00000002 |
|
440 #endif |
|
441 typedef struct _MPR_TRANSPORT_0 { |
|
442 DWORD dwTransportId; |
|
443 HANDLE hTransport; |
|
444 WCHAR wszTransportName[MAX_TRANSPORT_NAME_LEN+1]; |
|
445 } MPR_TRANSPORT_0,*PMPR_TRANSPORT_0; |
|
446 typedef HANDLE RAS_SERVER_HANDLE; |
|
447 typedef HANDLE MPR_SERVER_HANDLE; |
|
448 /*--- Remote Access Service Administration Reference - RAS Administration Functions */ |
|
449 DWORD WINAPI MprAdminConnectionClearStats(RAS_SERVER_HANDLE,HANDLE); |
|
450 DWORD WINAPI MprAdminConnectionEnum(RAS_SERVER_HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD); |
|
451 DWORD WINAPI MprAdminConnectionGetInfo(RAS_SERVER_HANDLE,DWORD,HANDLE,LPBYTE*); |
|
452 DWORD WINAPI MprAdminConnectionRemoveQuarantine(HANDLE,HANDLE,BOOL); |
|
453 DWORD WINAPI MprAdminPortClearStats(RAS_SERVER_HANDLE,HANDLE); |
|
454 DWORD WINAPI MprAdminPortDisconnect(RAS_SERVER_HANDLE,HANDLE); |
|
455 DWORD WINAPI MprAdminPortEnum(RAS_SERVER_HANDLE,DWORD,HANDLE,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD); |
|
456 DWORD WINAPI MprAdminPortGetInfo(RAS_SERVER_HANDLE,DWORD,HANDLE,LPBYTE); |
|
457 DWORD WINAPI MprAdminPortReset(RAS_SERVER_HANDLE,HANDLE); |
|
458 /*--- Remote Access Service Administration Reference - RAS Administration Functions - RAS Admin DLL Functions */ |
|
459 BOOL WINAPI MprAdminAcceptNewConnection(RAS_CONNECTION_0*,RAS_CONNECTION_1*); |
|
460 BOOL WINAPI MprAdminAcceptNewConnection2(RAS_CONNECTION_0*,RAS_CONNECTION_1*,RAS_CONNECTION_2*); |
|
461 BOOL WINAPI MprAdminAcceptNewLink(RAS_PORT_0*,RAS_PORT_1*); |
|
462 BOOL WINAPI MprAdminAcceptReauthentication(RAS_CONNECTION_0*,RAS_CONNECTION_1*,RAS_CONNECTION_2*,RAS_CONNECTION_3*); |
|
463 void WINAPI MprAdminConnectionHangupNotification(RAS_CONNECTION_0*,RAS_CONNECTION_1*); |
|
464 void WINAPI MprAdminConnectionHangupNotification2(RAS_CONNECTION_0*,RAS_CONNECTION_1*,RAS_CONNECTION_2*); |
|
465 DWORD WINAPI MprAdminGetIpAddressForUser(WCHAR*,WCHAR*,DWORD*,BOOL*); |
|
466 #if (_WIN32_WINNT >= 0x0502) |
|
467 DWORD WINAPI MprAdminInitializeDll(void); |
|
468 DWORD WINAPI MprAdminTerminateDll(void); |
|
469 #endif |
|
470 void WINAPI MprAdminLinkHangupNotification(RAS_PORT_0*,RAS_PORT_1*); |
|
471 void WINAPI MprAdminReleaseIpAddress(WCHAR*,WCHAR*,DWORD*); |
|
472 /*--- Remote Access Service Administration Reference - RAS Administration Functions - RAS User Administration Functions */ |
|
473 DWORD WINAPI MprAdminGetPDCServer(const WCHAR*,const WCHAR*,LPWSTR); |
|
474 DWORD WINAPI MprAdminSendUserMessage(MPR_SERVER_HANDLE,HANDLE,LPWSTR); |
|
475 DWORD WINAPI MprAdminUserGetInfo(const WCHAR*,const WCHAR*,DWORD,LPBYTE); |
|
476 DWORD WINAPI MprAdminUserSetInfo(const WCHAR*,const WCHAR*,DWORD,const LPBYTE); |
|
477 /*--- Router Management Reference - Router Administration Functions */ |
|
478 DWORD WINAPI MprAdminBufferFree(LPVOID); |
|
479 DWORD WINAPI MprAdminDeregisterConnectionNotification(MPR_SERVER_HANDLE,HANDLE); |
|
480 DWORD WINAPI MprAdminEstablishDomainRasServer(PWCHAR,PWCHAR,BOOL); |
|
481 DWORD WINAPI MprAdminGetErrorString(DWORD,LPWSTR*); |
|
482 DWORD WINAPI MprAdminInterfaceConnect(MPR_SERVER_HANDLE,HANDLE,HANDLE,BOOL); |
|
483 DWORD WINAPI MprAdminInterfaceCreate(MPR_SERVER_HANDLE,DWORD,LPBYTE,HANDLE*); |
|
484 DWORD WINAPI MprAdminInterfaceDelete(MPR_SERVER_HANDLE,HANDLE); |
|
485 DWORD WINAPI MprAdminInterfaceDeviceGetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,DWORD,LPBYTE*); |
|
486 DWORD WINAPI MprAdminInterfaceDeviceSetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,DWORD,LPBYTE); |
|
487 DWORD WINAPI MprAdminInterfaceDisconnect(MPR_SERVER_HANDLE,HANDLE); |
|
488 DWORD WINAPI MprAdminInterfaceEnum(MPR_SERVER_HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD); |
|
489 DWORD WINAPI MprAdminInterfaceGetCredentials(LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR); |
|
490 DWORD WINAPI MprAdminInterfaceGetHandle(MPR_SERVER_HANDLE,LPWSTR,HANDLE*,BOOL); |
|
491 DWORD WINAPI MprAdminInterfaceGetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE*); |
|
492 DWORD WINAPI MprAdminInterfaceQueryUpdateResult(MPR_SERVER_HANDLE,HANDLE,DWORD,LPDWORD); |
|
493 DWORD WINAPI MprAdminInterfaceSetCredentials(LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR); |
|
494 DWORD WINAPI MprAdminInterfaceSetCredentialsEx(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE); |
|
495 DWORD WINAPI MprAdminInterfaceSetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE); |
|
496 DWORD WINAPI MprAdminInterfaceTransportAdd(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE,DWORD); |
|
497 DWORD WINAPI MprAdminInterfaceTransportGetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE*,LPDWORD); |
|
498 DWORD WINAPI MprAdminInterfaceTransportRemove(MPR_SERVER_HANDLE,HANDLE,DWORD); |
|
499 DWORD WINAPI MprAdminInterfaceTransportSetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE,DWORD); |
|
500 DWORD WINAPI MprAdminInterfaceUpdatePhonebookInfo(MPR_SERVER_HANDLE,HANDLE); |
|
501 DWORD WINAPI MprAdminInterfaceUpdateRoutes(MPR_SERVER_HANDLE,HANDLE,DWORD,HANDLE); |
|
502 DWORD WINAPI MprAdminIsDomainRasServer(PWCHAR,PWCHAR,PBOOL); |
|
503 BOOL WINAPI MprAdminIsServiceRunning(LPWSTR); |
|
504 DWORD WINAPI MprAdminRegisterConnectionNotification(MPR_SERVER_HANDLE,HANDLE); |
|
505 DWORD WINAPI MprAdminServerConnect(LPWSTR,MPR_SERVER_HANDLE*); |
|
506 void WINAPI MprAdminServerDisconnect(MPR_SERVER_HANDLE); |
|
507 DWORD WINAPI MprAdminServerGetCredentials(MPR_SERVER_HANDLE,DWORD,LPBYTE*); |
|
508 DWORD WINAPI MprAdminInterfaceGetCredentialsEx(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE*); |
|
509 DWORD WINAPI MprAdminServerGetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE*); |
|
510 DWORD WINAPI MprAdminServerSetCredentials(MPR_SERVER_HANDLE,DWORD,LPBYTE); |
|
511 DWORD WINAPI MprAdminServerSetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE); |
|
512 DWORD WINAPI MprAdminTransportCreate(MPR_SERVER_HANDLE,DWORD,LPWSTR,LPBYTE,DWORD,LPBYTE,DWORD,LPWSTR); |
|
513 DWORD WINAPI MprAdminTransportGetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE*,LPDWORD,LPBYTE*,LPDWORD); |
|
514 DWORD WINAPI MprAdminTransportSetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE,DWORD,LPBYTE,DWORD); |
|
515 /*--- Router Management Reference - Router Configuration Functions */ |
|
516 DWORD WINAPI MprConfigBufferFree(LPVOID); |
|
517 DWORD WINAPI MprConfigGetFriendlyName(HANDLE,PWCHAR,PWCHAR,DWORD); |
|
518 DWORD WINAPI MprConfigGetGuidName(HANDLE,PWCHAR,PWCHAR,DWORD); |
|
519 DWORD WINAPI MprConfigInterfaceCreate(HANDLE,DWORD,LPBYTE,HANDLE*); |
|
520 DWORD WINAPI MprConfigInterfaceDelete(HANDLE,HANDLE); |
|
521 DWORD WINAPI MprConfigInterfaceEnum(HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD); |
|
522 DWORD WINAPI MprConfigInterfaceGetHandle(HANDLE,LPWSTR,HANDLE*); |
|
523 DWORD WINAPI MprConfigInterfaceGetInfo(HANDLE,HANDLE,DWORD,LPBYTE*,LPDWORD); |
|
524 DWORD WINAPI MprConfigInterfaceSetInfo(HANDLE,HANDLE,DWORD,LPBYTE); |
|
525 DWORD WINAPI MprConfigInterfaceTransportAdd(HANDLE,HANDLE,DWORD,LPWSTR,LPBYTE,DWORD,HANDLE*); |
|
526 DWORD WINAPI MprConfigInterfaceTransportEnum(HANDLE,HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD); |
|
527 DWORD WINAPI MprConfigInterfaceTransportGetHandle(HANDLE,HANDLE,DWORD,HANDLE*); |
|
528 DWORD WINAPI MprConfigInterfaceTransportGetInfo(HANDLE,HANDLE,HANDLE,LPBYTE*,LPDWORD); |
|
529 DWORD WINAPI MprConfigInterfaceTransportRemove(HANDLE,HANDLE,HANDLE); |
|
530 DWORD WINAPI MprConfigInterfaceTransportSetInfo(HANDLE,HANDLE,HANDLE,LPBYTE,DWORD); |
|
531 DWORD WINAPI MprConfigServerBackup(HANDLE,LPWSTR); |
|
532 DWORD WINAPI MprConfigServerConnect(LPWSTR,HANDLE*); |
|
533 void WINAPI MprConfigServerDisconnect(HANDLE); |
|
534 DWORD WINAPI MprConfigServerGetInfo(HANDLE,DWORD,LPBYTE*); |
|
535 DWORD WINAPI MprConfigServerInstall(DWORD,PVOID); |
|
536 DWORD WINAPI MprConfigServerRestore(HANDLE,LPWSTR); |
|
537 DWORD WINAPI MprConfigServerSetInfo(HANDLE,DWORD,LPBYTE); |
|
538 DWORD WINAPI MprConfigTransportCreate(HANDLE,DWORD,LPWSTR,LPBYTE,DWORD,LPBYTE,DWORD,LPWSTR,HANDLE); |
|
539 DWORD WINAPI MprConfigTransportDelete(HANDLE,HANDLE); |
|
540 DWORD WINAPI MprConfigTransportEnum(HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD); |
|
541 DWORD WINAPI MprConfigTransportGetHandle(HANDLE,DWORD,HANDLE*); |
|
542 DWORD WINAPI MprConfigTransportGetInfo(HANDLE,HANDLE,LPBYTE*,LPDWORD,LPBYTE*,LPDWORD,LPWSTR*); |
|
543 DWORD WINAPI MprConfigTransportSetInfo(HANDLE,HANDLE,LPBYTE,DWORD,LPBYTE,DWORD,LPWSTR); |
|
544 /*--- Router Management Reference - Information Header Functions */ |
|
545 DWORD WINAPI MprInfoBlockAdd(LPVOID,DWORD,DWORD,DWORD,LPBYTE,LPVOID*); |
|
546 DWORD WINAPI MprInfoBlockFind(LPVOID,DWORD,LPDWORD,LPDWORD,LPBYTE*); |
|
547 DWORD WINAPI MprInfoBlockQuerySize(LPVOID); |
|
548 DWORD WINAPI MprInfoBlockRemove(LPVOID,DWORD,LPVOID*); |
|
549 DWORD WINAPI MprInfoBlockSet(LPVOID,DWORD,DWORD,DWORD,LPBYTE,LPVOID*); |
|
550 DWORD WINAPI MprInfoCreate(DWORD,LPVOID*); |
|
551 DWORD WINAPI MprInfoDelete(LPVOID); |
|
552 DWORD WINAPI MprInfoDuplicate(LPVOID,LPVOID*); |
|
553 DWORD WINAPI MprInfoRemoveAll(LPVOID,LPVOID*); |
|
554 /*--- Router Management MIB Reference - Router Management MIB Functions */ |
|
555 typedef HANDLE MIB_SERVER_HANDLE; |
|
556 DWORD WINAPI MprAdminMIBBufferFree(LPVOID); |
|
557 DWORD WINAPI MprAdminMIBEntryCreate(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD); |
|
558 DWORD WINAPI MprAdminMIBEntryDelete(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD); |
|
559 DWORD WINAPI MprAdminMIBEntryGet(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD); |
|
560 DWORD WINAPI MprAdminMIBEntryGetFirst(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD); |
|
561 DWORD WINAPI MprAdminMIBEntryGetNext(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD); |
|
562 DWORD WINAPI MprAdminMIBEntrySet(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD); |
|
563 DWORD WINAPI MprAdminMIBGetTrapInfo(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD); |
|
564 DWORD WINAPI MprAdminMIBServerConnect(LPWSTR,MIB_SERVER_HANDLE*); |
|
565 void WINAPI MprAdminMIBServerDisconnect(MIB_SERVER_HANDLE); |
|
566 DWORD WINAPI MprAdminMIBSetTrapInfo(DWORD,DWORD,HANDLE,LPVOID,DWORD,LPVOID*,LPDWORD); |
|
567 #endif /* (_WIN32_WINNT >= 0x0500) */ |
|
568 |
|
569 #ifdef __cplusplus |
|
570 } |
|
571 #endif |
|
572 #endif |