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 |