Updated for Git 1.7.3.2
[msysgit/mtrensch.git] / mingw / include / mprapi.h
blob01452645ac6776980d9aa2977349ce31256a507d
1 /*
2 * mprapi.h - Routing and Remote Access Services
4 * THIS SOFTWARE IS NOT COPYRIGHTED
6 * This source code is offered for use in the public domain. You may use,
7 * modify or distribute it freely.
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.
15 #ifndef _MPRAPI_H
16 #define _MPRAPI_H
17 #if __GNUC__ >= 3
18 #pragma GCC system_header
19 #endif
21 #include <ras.h>
22 #include <lmcons.h>
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
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) */
573 #ifdef __cplusplus
575 #endif
576 #endif