source: trunk/include/win/ras.h@ 10367

Last change on this file since 10367 was 2840, checked in by sandervl, 26 years ago

ras header update

File size: 30.6 KB
Line 
1#ifndef __WINE_RAS_H
2#define __WINE_RAS_H
3
4#include "windef.h"
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10#include <pshpack4.h>
11
12#define UNLEN 256 // Maximum user name length
13#define PWLEN 256 // Maximum password length
14#define CNLEN 15 // Computer name length
15#define DNLEN CNLEN // Maximum domain name length
16#define NETBIOS_NAME_LEN 16 // NetBIOS net name (bytes)
17
18#define RAS_MaxDeviceType 16
19#define RAS_MaxPhoneNumber 128
20#define RAS_MaxIpAddress 15
21#define RAS_MaxIpxAddress 21
22
23#if (WINVER >= 0x400)
24#define RAS_MaxEntryName 256
25#define RAS_MaxDeviceName 128
26#define RAS_MaxCallbackNumber RAS_MaxPhoneNumber
27#else
28#define RAS_MaxEntryName 20
29#define RAS_MaxDeviceName 32
30#define RAS_MaxCallbackNumber 48
31#endif
32
33#define RAS_MaxAreaCode 10
34#define RAS_MaxPadType 32
35#define RAS_MaxX25Address 200
36#define RAS_MaxFacilities 200
37#define RAS_MaxUserData 200
38
39DECLARE_HANDLE( HRASCONN );
40#define LPHRASCONN HRASCONN*
41
42
43/* Identifies an active RAS connection. (See RasEnumConnections)
44*/
45#define RASCONNW struct tagRASCONNW
46RASCONNW
47{
48 DWORD dwSize;
49 HRASCONN hrasconn;
50 WCHAR szEntryName[ RAS_MaxEntryName + 1 ];
51 WCHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
52 WCHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
53 WCHAR szPhonebook [ MAX_PATH ];
54 DWORD dwSubEntry;
55};
56
57#define RASCONNA struct tagRASCONNA
58RASCONNA
59{
60 DWORD dwSize;
61 HRASCONN hrasconn;
62 CHAR szEntryName[ RAS_MaxEntryName + 1 ];
63 CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
64 CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
65 CHAR szPhonebook [ MAX_PATH ];
66 DWORD dwSubEntry;
67};
68
69#ifdef UNICODE
70#define RASCONN RASCONNW
71#else
72#define RASCONN RASCONNA
73#endif
74
75#define LPRASCONNW RASCONNW*
76#define LPRASCONNA RASCONNA*
77#define LPRASCONN RASCONN*
78
79
80/* Enumerates intermediate states to a connection. (See RasDial)
81*/
82#define RASCS_PAUSED 0x1000
83#define RASCS_DONE 0x2000
84
85#define RASCONNSTATE enum tagRASCONNSTATE
86RASCONNSTATE
87{
88 RASCS_OpenPort = 0,
89 RASCS_PortOpened,
90 RASCS_ConnectDevice,
91 RASCS_DeviceConnected,
92 RASCS_AllDevicesConnected,
93 RASCS_Authenticate,
94 RASCS_AuthNotify,
95 RASCS_AuthRetry,
96 RASCS_AuthCallback,
97 RASCS_AuthChangePassword,
98 RASCS_AuthProject,
99 RASCS_AuthLinkSpeed,
100 RASCS_AuthAck,
101 RASCS_ReAuthenticate,
102 RASCS_Authenticated,
103 RASCS_PrepareForCallback,
104 RASCS_WaitForModemReset,
105 RASCS_WaitForCallback,
106 RASCS_Projected,
107
108 RASCS_StartAuthentication,
109 RASCS_CallbackComplete,
110 RASCS_LogonNetwork,
111 RASCS_SubEntryConnected,
112 RASCS_SubEntryDisconnected,
113
114 RASCS_Interactive = RASCS_PAUSED,
115 RASCS_RetryAuthentication,
116 RASCS_CallbackSetByCaller,
117 RASCS_PasswordExpired,
118
119 RASCS_Connected = RASCS_DONE,
120 RASCS_Disconnected
121};
122
123#define LPRASCONNSTATE RASCONNSTATE*
124
125
126/* Describes the status of a RAS connection. (See RasConnectionStatus)
127*/
128#define RASCONNSTATUSW struct tagRASCONNSTATUSW
129RASCONNSTATUSW
130{
131 DWORD dwSize;
132 RASCONNSTATE rasconnstate;
133 DWORD dwError;
134 WCHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
135 WCHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
136 WCHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
137};
138
139#define RASCONNSTATUSA struct tagRASCONNSTATUSA
140RASCONNSTATUSA
141{
142 DWORD dwSize;
143 RASCONNSTATE rasconnstate;
144 DWORD dwError;
145 CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
146 CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
147 CHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
148};
149
150#ifdef UNICODE
151#define RASCONNSTATUS RASCONNSTATUSW
152#else
153#define RASCONNSTATUS RASCONNSTATUSA
154#endif
155
156#define LPRASCONNSTATUSW RASCONNSTATUSW*
157#define LPRASCONNSTATUSA RASCONNSTATUSA*
158#define LPRASCONNSTATUS RASCONNSTATUS*
159
160
161/* Describes connection establishment parameters. (See RasDial)
162*/
163#define RASDIALPARAMSW struct tagRASDIALPARAMSW
164RASDIALPARAMSW
165{
166 DWORD dwSize;
167 WCHAR szEntryName[ RAS_MaxEntryName + 1 ];
168 WCHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
169 WCHAR szCallbackNumber[ RAS_MaxCallbackNumber + 1 ];
170 WCHAR szUserName[ UNLEN + 1 ];
171 WCHAR szPassword[ PWLEN + 1 ];
172 WCHAR szDomain[ DNLEN + 1 ];
173 DWORD dwSubEntry;
174 DWORD dwCallbackId;
175};
176
177#define RASDIALPARAMSA struct tagRASDIALPARAMSA
178RASDIALPARAMSA
179{
180 DWORD dwSize;
181 CHAR szEntryName[ RAS_MaxEntryName + 1 ];
182 CHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
183 CHAR szCallbackNumber[ RAS_MaxCallbackNumber + 1 ];
184 CHAR szUserName[ UNLEN + 1 ];
185 CHAR szPassword[ PWLEN + 1 ];
186 CHAR szDomain[ DNLEN + 1 ];
187 DWORD dwSubEntry;
188 DWORD dwCallbackId;
189};
190
191#ifdef UNICODE
192#define RASDIALPARAMS RASDIALPARAMSW
193#else
194#define RASDIALPARAMS RASDIALPARAMSA
195#endif
196
197#define LPRASDIALPARAMSW RASDIALPARAMSW*
198#define LPRASDIALPARAMSA RASDIALPARAMSA*
199#define LPRASDIALPARAMS RASDIALPARAMS*
200
201
202/* Describes extended connection establishment options. (See RasDial)
203*/
204#define RASDIALEXTENSIONS struct tagRASDIALEXTENSIONS
205RASDIALEXTENSIONS
206{
207 DWORD dwSize;
208 DWORD dwfOptions;
209 HWND hwndParent;
210 DWORD reserved;
211};
212
213#define LPRASDIALEXTENSIONS RASDIALEXTENSIONS*
214
215/* 'dwfOptions' bit flags.
216*/
217#define RDEOPT_UsePrefixSuffix 0x00000001
218#define RDEOPT_PausedStates 0x00000002
219#define RDEOPT_IgnoreModemSpeaker 0x00000004
220#define RDEOPT_SetModemSpeaker 0x00000008
221#define RDEOPT_IgnoreSoftwareCompression 0x00000010
222#define RDEOPT_SetSoftwareCompression 0x00000020
223#define RDEOPT_DisableConnectedUI 0x00000040
224#define RDEOPT_DisableReconnectUI 0x00000080
225#define RDEOPT_DisableReconnect 0x00000100
226#define RDEOPT_NoUser 0x00000200
227#define RDEOPT_PauseOnScript 0x00000400
228
229
230/* Describes an enumerated RAS phone book entry name. (See RasEntryEnum)
231*/
232#define RASENTRYNAMEW struct tagRASENTRYNAMEW
233RASENTRYNAMEW
234{
235 DWORD dwSize;
236 WCHAR szEntryName[ RAS_MaxEntryName + 1 ];
237};
238
239#define RASENTRYNAMEA struct tagRASENTRYNAMEA
240RASENTRYNAMEA
241{
242 DWORD dwSize;
243 CHAR szEntryName[ RAS_MaxEntryName + 1 ];
244};
245
246#ifdef UNICODE
247#define RASENTRYNAME RASENTRYNAMEW
248#else
249#define RASENTRYNAME RASENTRYNAMEA
250#endif
251
252#define LPRASENTRYNAMEW RASENTRYNAMEW*
253#define LPRASENTRYNAMEA RASENTRYNAMEA*
254#define LPRASENTRYNAME RASENTRYNAME*
255
256
257/* Protocol code to projection data structure mapping.
258*/
259#define RASPROJECTION enum tagRASPROJECTION
260RASPROJECTION
261{
262 RASP_Amb = 0x10000,
263 RASP_PppNbf = 0x803F,
264 RASP_PppIpx = 0x802B,
265 RASP_PppIp = 0x8021,
266 RASP_PppLcp = 0xC021,
267 RASP_Slip = 0x20000
268};
269
270#define LPRASPROJECTION RASPROJECTION*
271
272/* Describes the result of a RAS AMB (Authentication Message Block)
273** projection. This protocol is used with NT 3.1 and OS/2 1.3 downlevel
274** RAS servers.
275*/
276#define RASAMBW struct tagRASAMBW
277RASAMBW
278{
279 DWORD dwSize;
280 DWORD dwError;
281 WCHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
282 BYTE bLana;
283};
284
285#define RASAMBA struct tagRASAMBA
286RASAMBA
287{
288 DWORD dwSize;
289 DWORD dwError;
290 CHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
291 BYTE bLana;
292};
293
294#ifdef UNICODE
295#define RASAMB RASAMBW
296#else
297#define RASAMB RASAMBA
298#endif
299
300#define LPRASAMBW RASAMBW*
301#define LPRASAMBA RASAMBA*
302#define LPRASAMB RASAMB*
303
304
305/* Describes the result of a PPP NBF (NetBEUI) projection.
306*/
307#define RASPPPNBFW struct tagRASPPPNBFW
308RASPPPNBFW
309{
310 DWORD dwSize;
311 DWORD dwError;
312 DWORD dwNetBiosError;
313 WCHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
314 WCHAR szWorkstationName[ NETBIOS_NAME_LEN + 1 ];
315 BYTE bLana;
316};
317
318#define RASPPPNBFA struct tagRASPPPNBFA
319RASPPPNBFA
320{
321 DWORD dwSize;
322 DWORD dwError;
323 DWORD dwNetBiosError;
324 CHAR szNetBiosError[ NETBIOS_NAME_LEN + 1 ];
325 CHAR szWorkstationName[ NETBIOS_NAME_LEN + 1 ];
326 BYTE bLana;
327};
328
329#ifdef UNICODE
330#define RASPPPNBF RASPPPNBFW
331#else
332#define RASPPPNBF RASPPPNBFA
333#endif
334
335#define LPRASPPPNBFW RASPPPNBFW*
336#define LPRASPPPNBFA RASPPPNBFA*
337#define LPRASPPPNBF RASPPPNBF*
338
339
340/* Describes the results of a PPP IPX (Internetwork Packet Exchange)
341** projection.
342*/
343#define RASPPPIPXW struct tagRASIPXW
344RASPPPIPXW
345{
346 DWORD dwSize;
347 DWORD dwError;
348 WCHAR szIpxAddress[ RAS_MaxIpxAddress + 1 ];
349};
350
351
352#define RASPPPIPXA struct tagRASPPPIPXA
353RASPPPIPXA
354{
355 DWORD dwSize;
356 DWORD dwError;
357 CHAR szIpxAddress[ RAS_MaxIpxAddress + 1 ];
358};
359
360#ifdef UNICODE
361#define RASPPPIPX RASPPPIPXW
362#else
363#define RASPPPIPX RASPPPIPXA
364#endif
365
366#define LPRASPPPIPXW RASPPPIPXW*
367#define LPRASPPPIPXA RASPPPIPXA*
368#define LPRASPPPIPX RASPPPIPX*
369
370
371/* Describes the results of a PPP IP (Internet) projection.
372*/
373#define RASPPPIPW struct tagRASPPPIPW
374RASPPPIPW
375{
376 DWORD dwSize;
377 DWORD dwError;
378 WCHAR szIpAddress[ RAS_MaxIpAddress + 1 ];
379
380#ifndef WINNT35COMPATIBLE
381
382 /* This field was added between Windows NT 3.51 beta and Windows NT 3.51
383 ** final, and between Windows 95 M8 beta and Windows 95 final. If you do
384 ** not require the server address and wish to retrieve PPP IP information
385 ** from Windows NT 3.5 or early Windows NT 3.51 betas, or on early Windows
386 ** 95 betas, define WINNT35COMPATIBLE.
387 **
388 ** The server IP address is not provided by all PPP implementations,
389 ** though Windows NT server's do provide it.
390 */
391 WCHAR szServerIpAddress[ RAS_MaxIpAddress + 1 ];
392
393#endif
394};
395
396#define RASPPPIPA struct tagRASPPPIPA
397RASPPPIPA
398{
399 DWORD dwSize;
400 DWORD dwError;
401 CHAR szIpAddress[ RAS_MaxIpAddress + 1 ];
402
403#ifndef WINNT35COMPATIBLE
404
405 /* See RASPPPIPW comment.
406 */
407 CHAR szServerIpAddress[ RAS_MaxIpAddress + 1 ];
408
409#endif
410};
411
412#ifdef UNICODE
413#define RASPPPIP RASPPPIPW
414#else
415#define RASPPPIP RASPPPIPA
416#endif
417
418#define LPRASPPPIPW RASPPPIPW*
419#define LPRASPPPIPA RASPPPIPA*
420#define LPRASPPPIP RASPPPIP*
421
422
423/* Describes the results of a PPP LCP/multi-link negotiation.
424*/
425#define RASPPPLCP struct tagRASPPPLCP
426RASPPPLCP
427{
428 DWORD dwSize;
429 BOOL fBundled;
430};
431
432#define LPRASPPPLCP RASPPPLCP*
433
434
435/* Describes the results of a SLIP (Serial Line IP) projection.
436*/
437#define RASSLIPW struct tagRASSLIPW
438RASSLIPW
439{
440 DWORD dwSize;
441 DWORD dwError;
442 WCHAR szIpAddress[ RAS_MaxIpAddress + 1 ];
443};
444
445
446#define RASSLIPA struct tagRASSLIPA
447RASSLIPA
448{
449 DWORD dwSize;
450 DWORD dwError;
451 CHAR szIpAddress[ RAS_MaxIpAddress + 1 ];
452};
453
454#ifdef UNICODE
455#define RASSLIP RASSLIPW
456#else
457#define RASSLIP RASSLIPA
458#endif
459
460#define LPRASSLIPW RASSLIPW*
461#define LPRASSLIPA RASSLIPA*
462#define LPRASSLIP RASSLIP*
463
464
465/* If using RasDial message notifications, get the notification message code
466** by passing this string to the RegisterWindowMessageA() API.
467** WM_RASDIALEVENT is used only if a unique message cannot be registered.
468*/
469#define RASDIALEVENT "RasDialEvent"
470#define WM_RASDIALEVENT 0xCCCD
471
472/* Prototypes for caller's RasDial callback handler. Arguments are the
473** message ID (currently always WM_RASDIALEVENT), the current RASCONNSTATE and
474** the error that has occurred (or 0 if none). Extended arguments are the
475** handle of the RAS connection and an extended error code.
476**
477** For RASDIALFUNC2, subsequent callback notifications for all
478** subentries can be cancelled by returning FALSE.
479*/
480typedef VOID (WINAPI *RASDIALFUNC)( UINT, RASCONNSTATE, DWORD );
481typedef VOID (WINAPI *RASDIALFUNC1)( HRASCONN, UINT, RASCONNSTATE, DWORD, DWORD );
482typedef DWORD (WINAPI *RASDIALFUNC2)( DWORD, DWORD, HRASCONN, UINT, RASCONNSTATE, DWORD, DWORD );
483
484
485/* Information describing a RAS-capable device.
486*/
487#define RASDEVINFOW struct tagRASDEVINFOW
488RASDEVINFOW
489{
490 DWORD dwSize;
491 WCHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
492 WCHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
493};
494
495#define RASDEVINFOA struct tagRASDEVINFOA
496RASDEVINFOA
497{
498 DWORD dwSize;
499 CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
500 CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
501};
502
503#ifdef UNICODE
504#define RASDEVINFO RASDEVINFOW
505#else
506#define RASDEVINFO RASDEVINFOA
507#endif
508
509#define LPRASDEVINFOW RASDEVINFOW*
510#define LPRASDEVINFOA RASDEVINFOA*
511#define LPRASDEVINFO RASDEVINFO*
512
513/* RAS country information (currently retrieved from TAPI).
514*/
515#define RASCTRYINFO struct RASCTRYINFO
516RASCTRYINFO
517{
518 DWORD dwSize;
519 DWORD dwCountryID;
520 DWORD dwNextCountryID;
521 DWORD dwCountryCode;
522 DWORD dwCountryNameOffset;
523};
524
525/* There is currently no difference between
526** RASCTRYINFOA and RASCTRYINFOW. This may
527** change in the future.
528*/
529#define RASCTRYINFOW RASCTRYINFO
530#define RASCTRYINFOA RASCTRYINFO
531
532#define LPRASCTRYINFOW RASCTRYINFOW*
533#define LPRASCTRYINFOA RASCTRYINFOW*
534#define LPRASCTRYINFO RASCTRYINFO*
535
536/* A RAS IP address.
537*/
538#define RASIPADDR struct RASIPADDR
539RASIPADDR
540{
541 BYTE a;
542 BYTE b;
543 BYTE c;
544 BYTE d;
545};
546
547/* A RAS phone book entry.
548*/
549#define RASENTRYA struct tagRASENTRYA
550RASENTRYA
551{
552 DWORD dwSize;
553 DWORD dwfOptions;
554 //
555 // Location/phone number.
556 //
557 DWORD dwCountryID;
558 DWORD dwCountryCode;
559 CHAR szAreaCode[ RAS_MaxAreaCode + 1 ];
560 CHAR szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
561 DWORD dwAlternateOffset;
562 //
563 // PPP/Ip
564 //
565 RASIPADDR ipaddr;
566 RASIPADDR ipaddrDns;
567 RASIPADDR ipaddrDnsAlt;
568 RASIPADDR ipaddrWins;
569 RASIPADDR ipaddrWinsAlt;
570 //
571 // Framing
572 //
573 DWORD dwFrameSize;
574 DWORD dwfNetProtocols;
575 DWORD dwFramingProtocol;
576 //
577 // Scripting
578 //
579 CHAR szScript[ MAX_PATH ];
580 //
581 // AutoDial
582 //
583 CHAR szAutodialDll[ MAX_PATH ];
584 CHAR szAutodialFunc[ MAX_PATH ];
585 //
586 // Device
587 //
588 CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
589 CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
590 //
591 // X.25
592 //
593 CHAR szX25PadType[ RAS_MaxPadType + 1 ];
594 CHAR szX25Address[ RAS_MaxX25Address + 1 ];
595 CHAR szX25Facilities[ RAS_MaxFacilities + 1 ];
596 CHAR szX25UserData[ RAS_MaxUserData + 1 ];
597 DWORD dwChannels;
598 //
599 // Reserved
600 //
601 DWORD dwReserved1;
602 DWORD dwReserved2;
603 //
604 // Multilink
605 //
606 DWORD dwSubEntries;
607 DWORD dwDialMode;
608 DWORD dwDialExtraPercent;
609 DWORD dwDialExtraSampleSeconds;
610 DWORD dwHangUpExtraPercent;
611 DWORD dwHangUpExtraSampleSeconds;
612 //
613 // Idle timeout
614 //
615 DWORD dwIdleDisconnectSeconds;
616};
617
618#define RASENTRYW struct tagRASENTRYW
619RASENTRYW
620{
621 DWORD dwSize;
622 DWORD dwfOptions;
623 //
624 // Location/phone number
625 //
626 DWORD dwCountryID;
627 DWORD dwCountryCode;
628 WCHAR szAreaCode[ RAS_MaxAreaCode + 1 ];
629 WCHAR szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
630 DWORD dwAlternateOffset;
631 //
632 // PPP/Ip
633 //
634 RASIPADDR ipaddr;
635 RASIPADDR ipaddrDns;
636 RASIPADDR ipaddrDnsAlt;
637 RASIPADDR ipaddrWins;
638 RASIPADDR ipaddrWinsAlt;
639 //
640 // Framing
641 //
642 DWORD dwFrameSize;
643 DWORD dwfNetProtocols;
644 DWORD dwFramingProtocol;
645 //
646 // Scripting
647 //
648 WCHAR szScript[ MAX_PATH ];
649 //
650 // AutoDial
651 //
652 WCHAR szAutodialDll[ MAX_PATH ];
653 WCHAR szAutodialFunc[ MAX_PATH ];
654 //
655 // Device
656 //
657 WCHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
658 WCHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
659 //
660 // X.25
661 //
662 WCHAR szX25PadType[ RAS_MaxPadType + 1 ];
663 WCHAR szX25Address[ RAS_MaxX25Address + 1 ];
664 WCHAR szX25Facilities[ RAS_MaxFacilities + 1 ];
665 WCHAR szX25UserData[ RAS_MaxUserData + 1 ];
666 DWORD dwChannels;
667 //
668 // Reserved
669 //
670 DWORD dwReserved1;
671 DWORD dwReserved2;
672 //
673 // Multilink
674 //
675 DWORD dwSubEntries;
676 DWORD dwDialMode;
677 DWORD dwDialExtraPercent;
678 DWORD dwDialExtraSampleSeconds;
679 DWORD dwHangUpExtraPercent;
680 DWORD dwHangUpExtraSampleSeconds;
681 //
682 // Idle timeout
683 //
684 DWORD dwIdleDisconnectSeconds;
685};
686
687#ifdef UNICODE
688#define RASENTRY RASENTRYW
689#else
690#define RASENTRY RASENTRYA
691#endif
692
693#define LPRASENTRYW RASENTRYW*
694#define LPRASENTRYA RASENTRYA*
695#define LPRASENTRY RASENTRY*
696
697/* RASENTRY 'dwfOptions' bit flags.
698*/
699#define RASEO_UseCountryAndAreaCodes 0x00000001
700#define RASEO_SpecificIpAddr 0x00000002
701#define RASEO_SpecificNameServers 0x00000004
702#define RASEO_IpHeaderCompression 0x00000008
703#define RASEO_RemoteDefaultGateway 0x00000010
704#define RASEO_DisableLcpExtensions 0x00000020
705#define RASEO_TerminalBeforeDial 0x00000040
706#define RASEO_TerminalAfterDial 0x00000080
707#define RASEO_ModemLights 0x00000100
708#define RASEO_SwCompression 0x00000200
709#define RASEO_RequireEncryptedPw 0x00000400
710#define RASEO_RequireMsEncryptedPw 0x00000800
711#define RASEO_RequireDataEncryption 0x00001000
712#define RASEO_NetworkLogon 0x00002000
713#define RASEO_UseLogonCredentials 0x00004000
714#define RASEO_PromoteAlternates 0x00008000
715#define RASEO_SecureLocalFiles 0x00010000
716
717/* RASENTRY 'dwProtocols' bit flags.
718*/
719#define RASNP_NetBEUI 0x00000001
720#define RASNP_Ipx 0x00000002
721#define RASNP_Ip 0x00000004
722
723/* RASENTRY 'dwFramingProtocols' bit flags.
724*/
725#define RASFP_Ppp 0x00000001
726#define RASFP_Slip 0x00000002
727#define RASFP_Ras 0x00000004
728
729/* RASENTRY 'szDeviceType' default strings.
730*/
731#define RASDT_Modem TEXT("modem")
732#define RASDT_Isdn TEXT("isdn")
733#define RASDT_X25 TEXT("x25")
734
735/* Old AutoDial DLL function prototype.
736**
737** This prototype is documented for backward-compatibility
738** purposes only. It is superceded by the RASADFUNCA
739** and RASADFUNCW definitions below. DO NOT USE THIS
740** PROTOTYPE IN NEW CODE. SUPPORT FOR IT MAY BE REMOVED
741** IN FUTURE VERSIONS OF RAS.
742*/
743typedef BOOL (WINAPI *ORASADFUNC)( HWND, LPSTR, DWORD, LPDWORD );
744
745/* Flags for RasConnectionNotification().
746*/
747#define RASCN_Connection 0x00000001
748#define RASCN_Disconnection 0x00000002
749#define RASCN_BandwidthAdded 0x00000004
750#define RASCN_BandwidthRemoved 0x00000008
751
752/* RASENTRY 'dwDialMode' values.
753*/
754#define RASEDM_DialAll 1
755#define RASEDM_DialAsNeeded 2
756
757/* RASENTRY 'dwIdleDisconnectSeconds' constants.
758*/
759#define RASIDS_Disabled 0xffffffff
760#define RASIDS_UseGlobalValue 0
761
762/* AutoDial DLL function parameter block.
763*/
764#define RASADPARAMS struct tagRASADPARAMS
765RASADPARAMS
766{
767 DWORD dwSize;
768 HWND hwndOwner;
769 DWORD dwFlags;
770 LONG xDlg;
771 LONG yDlg;
772};
773
774#define LPRASADPARAMS RASADPARAMS*
775
776/* AutoDial DLL function parameter block 'dwFlags.'
777*/
778#define RASADFLG_PositionDlg 0x00000001
779
780/* Prototype AutoDial DLL function.
781*/
782typedef BOOL (WINAPI *RASADFUNCA)( LPSTR, LPSTR, LPRASADPARAMS, LPDWORD );
783typedef BOOL (WINAPI *RASADFUNCW)( LPWSTR, LPWSTR, LPRASADPARAMS, LPDWORD );
784
785#ifdef UNICODE
786#define RASADFUNC RASADFUNCW
787#else
788#define RASADFUNC RASADFUNCA
789#endif
790
791/* A RAS phone book multilinked sub-entry.
792*/
793#define RASSUBENTRYA struct tagRASSUBENTRYA
794RASSUBENTRYA
795{
796 DWORD dwSize;
797 DWORD dwfFlags;
798 //
799 // Device
800 //
801 CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
802 CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
803 //
804 // Phone numbers
805 //
806 CHAR szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
807 DWORD dwAlternateOffset;
808};
809
810#define RASSUBENTRYW struct tagRASSUBENTRYW
811RASSUBENTRYW
812{
813 DWORD dwSize;
814 DWORD dwfFlags;
815 //
816 // Device
817 //
818 WCHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
819 WCHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
820 //
821 // Phone numbers
822 //
823 WCHAR szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
824 DWORD dwAlternateOffset;
825};
826
827#ifdef UNICODE
828#define RASSUBENTRY RASSUBENTRYW
829#else
830#define RASSUBENTRY RASSUBENTRYA
831#endif
832
833#define LPRASSUBENTRYW RASSUBENTRYW*
834#define LPRASSUBENTRYA RASSUBENTRYA*
835#define LPRASSUBENTRY RASSUBENTRY*
836
837/* Ras{Get,Set}Credentials structure. These calls
838** supercede Ras{Get,Set}EntryDialParams.
839*/
840#define RASCREDENTIALSA struct tagRASCREDENTIALSA
841RASCREDENTIALSA
842{
843 DWORD dwSize;
844 DWORD dwMask;
845 CHAR szUserName[ UNLEN + 1 ];
846 CHAR szPassword[ PWLEN + 1 ];
847 CHAR szDomain[ DNLEN + 1 ];
848};
849
850#define RASCREDENTIALSW struct tagRASCREDENTIALSW
851RASCREDENTIALSW
852{
853 DWORD dwSize;
854 DWORD dwMask;
855 WCHAR szUserName[ UNLEN + 1 ];
856 WCHAR szPassword[ PWLEN + 1 ];
857 WCHAR szDomain[ DNLEN + 1 ];
858};
859
860#ifdef UNICODE
861#define RASCREDENTIALS RASCREDENTIALSW
862#else
863#define RASCREDENTIALS RASCREDENTIALSA
864#endif
865
866#define LPRASCREDENTIALSW RASCREDENTIALSW*
867#define LPRASCREDENTIALSA RASCREDENTIALSA*
868#define LPRASCREDENTIALS RASCREDENTIALS*
869
870/* RASCREDENTIALS 'dwMask' values.
871*/
872#define RASCM_UserName 0x00000001
873#define RASCM_Password 0x00000002
874#define RASCM_Domain 0x00000004
875
876/* AutoDial address properties.
877*/
878#define RASAUTODIALENTRYA struct tagRASAUTODIALENTRYA
879RASAUTODIALENTRYA
880{
881 DWORD dwSize;
882 DWORD dwFlags;
883 DWORD dwDialingLocation;
884 CHAR szEntry[ RAS_MaxEntryName + 1];
885};
886
887#define RASAUTODIALENTRYW struct tagRASAUTODIALENTRYW
888RASAUTODIALENTRYW
889{
890 DWORD dwSize;
891 DWORD dwFlags;
892 DWORD dwDialingLocation;
893 WCHAR szEntry[ RAS_MaxEntryName + 1];
894};
895
896#ifdef UNICODE
897#define RASAUTODIALENTRY RASAUTODIALENTRYW
898#else
899#define RASAUTODIALENTRY RASAUTODIALENTRYA
900#endif
901
902#define LPRASAUTODIALENTRYW RASAUTODIALENTRYW*
903#define LPRASAUTODIALENTRYA RASAUTODIALENTRYA*
904#define LPRASAUTODIALENTRY RASAUTODIALENTRY*
905
906/* AutoDial control parameter values for
907** Ras{Get,Set}AutodialParam.
908*/
909#define RASADP_DisableConnectionQuery 0
910#define RASADP_LoginSessionDisable 1
911#define RASADP_SavedAddressesLimit 2
912#define RASADP_FailedConnectionTimeout 3
913#define RASADP_ConnectionQueryTimeout 4
914
915
916
917
918/* External RAS API function prototypes.
919*/
920DWORD APIENTRY RasDialA( LPRASDIALEXTENSIONS, LPSTR, LPRASDIALPARAMSA, DWORD,
921 LPVOID, LPHRASCONN );
922
923DWORD APIENTRY RasDialW( LPRASDIALEXTENSIONS, LPWSTR, LPRASDIALPARAMSW, DWORD,
924 LPVOID, LPHRASCONN );
925
926DWORD APIENTRY RasEnumConnectionsA( LPRASCONNA, LPDWORD, LPDWORD );
927
928DWORD APIENTRY RasEnumConnectionsW( LPRASCONNW, LPDWORD, LPDWORD );
929
930DWORD APIENTRY RasEnumEntriesA( LPSTR, LPSTR, LPRASENTRYNAMEA, LPDWORD,
931 LPDWORD );
932
933DWORD APIENTRY RasEnumEntriesW( LPWSTR, LPWSTR, LPRASENTRYNAMEW, LPDWORD,
934 LPDWORD );
935
936DWORD APIENTRY RasGetConnectStatusA( HRASCONN, LPRASCONNSTATUSA );
937
938DWORD APIENTRY RasGetConnectStatusW( HRASCONN, LPRASCONNSTATUSW );
939
940DWORD APIENTRY RasGetErrorStringA( UINT, LPSTR, DWORD );
941
942DWORD APIENTRY RasGetErrorStringW( UINT, LPWSTR, DWORD );
943
944DWORD APIENTRY RasHangUpA( HRASCONN );
945
946DWORD APIENTRY RasHangUpW( HRASCONN );
947
948DWORD APIENTRY RasGetProjectionInfoA( HRASCONN, RASPROJECTION, LPVOID,
949 LPDWORD );
950
951DWORD APIENTRY RasGetProjectionInfoW( HRASCONN, RASPROJECTION, LPVOID,
952 LPDWORD );
953
954DWORD APIENTRY RasCreatePhonebookEntryA( HWND, LPSTR );
955
956DWORD APIENTRY RasCreatePhonebookEntryW( HWND, LPWSTR );
957
958DWORD APIENTRY RasEditPhonebookEntryA( HWND, LPSTR, LPSTR );
959
960DWORD APIENTRY RasEditPhonebookEntryW( HWND, LPWSTR, LPWSTR );
961
962DWORD APIENTRY RasSetEntryDialParamsA( LPSTR, LPRASDIALPARAMSA, BOOL );
963
964DWORD APIENTRY RasSetEntryDialParamsW( LPWSTR, LPRASDIALPARAMSW, BOOL );
965
966DWORD APIENTRY RasGetEntryDialParamsA( LPSTR, LPRASDIALPARAMSA, LPBOOL );
967
968DWORD APIENTRY RasGetEntryDialParamsW( LPWSTR, LPRASDIALPARAMSW, LPBOOL );
969
970DWORD APIENTRY RasEnumDevicesA( LPRASDEVINFOA, LPDWORD, LPDWORD );
971
972DWORD APIENTRY RasEnumDevicesW( LPRASDEVINFOW, LPDWORD, LPDWORD );
973
974DWORD APIENTRY RasGetCountryInfoA( LPRASCTRYINFOA, LPDWORD );
975
976DWORD APIENTRY RasGetCountryInfoW( LPRASCTRYINFOW, LPDWORD );
977
978DWORD APIENTRY RasGetEntryPropertiesA( LPSTR, LPSTR, LPRASENTRYA, LPDWORD, LPBYTE, LPDWORD );
979
980DWORD APIENTRY RasGetEntryPropertiesW( LPWSTR, LPWSTR, LPRASENTRYW, LPDWORD, LPBYTE, LPDWORD );
981
982DWORD APIENTRY RasSetEntryPropertiesA( LPSTR, LPSTR, LPRASENTRYA, DWORD, LPBYTE, DWORD );
983
984DWORD APIENTRY RasSetEntryPropertiesW( LPWSTR, LPWSTR, LPRASENTRYW, DWORD, LPBYTE, DWORD );
985
986DWORD APIENTRY RasRenameEntryA( LPSTR, LPSTR, LPSTR );
987
988DWORD APIENTRY RasRenameEntryW( LPWSTR, LPWSTR, LPWSTR );
989
990DWORD APIENTRY RasDeleteEntryA( LPSTR, LPSTR );
991
992DWORD APIENTRY RasDeleteEntryW( LPWSTR, LPWSTR );
993
994DWORD APIENTRY RasValidateEntryNameA( LPSTR, LPSTR );
995
996DWORD APIENTRY RasValidateEntryNameW( LPWSTR, LPWSTR );
997
998DWORD APIENTRY RasGetSubEntryHandleA( HRASCONN, DWORD, LPHRASCONN );
999
1000DWORD APIENTRY RasGetSubEntryHandleW( HRASCONN, DWORD, LPHRASCONN );
1001
1002DWORD APIENTRY RasGetCredentialsA( LPSTR, LPSTR, LPRASCREDENTIALSA);
1003
1004DWORD APIENTRY RasGetCredentialsW( LPWSTR, LPWSTR, LPRASCREDENTIALSW );
1005
1006DWORD APIENTRY RasSetCredentialsA( LPSTR, LPSTR, LPRASCREDENTIALSA, BOOL );
1007
1008DWORD APIENTRY RasSetCredentialsW( LPWSTR, LPWSTR, LPRASCREDENTIALSW, BOOL );
1009
1010DWORD APIENTRY RasConnectionNotificationA( HRASCONN, HANDLE, DWORD );
1011
1012DWORD APIENTRY RasConnectionNotificationW( HRASCONN, HANDLE, DWORD );
1013
1014DWORD APIENTRY RasGetSubEntryPropertiesA( LPSTR, LPSTR, DWORD,
1015 LPRASSUBENTRYA, LPDWORD, LPBYTE, LPDWORD );
1016
1017DWORD APIENTRY RasGetSubEntryPropertiesW( LPWSTR, LPWSTR, DWORD,
1018 LPRASSUBENTRYW, LPDWORD, LPBYTE, LPDWORD );
1019
1020DWORD APIENTRY RasSetSubEntryPropertiesA( LPSTR, LPSTR, DWORD,
1021 LPRASSUBENTRYA, DWORD, LPBYTE, DWORD );
1022
1023DWORD APIENTRY RasSetSubEntryPropertiesW( LPWSTR, LPWSTR, DWORD,
1024 LPRASSUBENTRYW, DWORD, LPBYTE, DWORD );
1025
1026DWORD APIENTRY RasGetAutodialAddressA( LPSTR, LPDWORD, LPRASAUTODIALENTRYA,
1027 LPDWORD, LPDWORD );
1028
1029DWORD APIENTRY RasGetAutodialAddressW( LPWSTR, LPDWORD, LPRASAUTODIALENTRYW,
1030 LPDWORD, LPDWORD);
1031
1032DWORD APIENTRY RasSetAutodialAddressA( LPSTR, DWORD, LPRASAUTODIALENTRYA,
1033 DWORD, DWORD );
1034
1035DWORD APIENTRY RasSetAutodialAddressW( LPWSTR, DWORD, LPRASAUTODIALENTRYW,
1036 DWORD, DWORD );
1037
1038DWORD APIENTRY RasEnumAutodialAddressesA( LPSTR *, LPDWORD, LPDWORD );
1039
1040DWORD APIENTRY RasEnumAutodialAddressesW( LPWSTR *, LPDWORD, LPDWORD );
1041
1042DWORD APIENTRY RasGetAutodialEnableA( DWORD, LPBOOL );
1043
1044DWORD APIENTRY RasGetAutodialEnableW( DWORD, LPBOOL );
1045
1046DWORD APIENTRY RasSetAutodialEnableA( DWORD, BOOL );
1047
1048DWORD APIENTRY RasSetAutodialEnableW( DWORD, BOOL );
1049
1050DWORD APIENTRY RasGetAutodialParamA( DWORD, LPVOID, LPDWORD );
1051
1052DWORD APIENTRY RasGetAutodialParamW( DWORD, LPVOID, LPDWORD );
1053
1054DWORD APIENTRY RasSetAutodialParamA( DWORD, LPVOID, DWORD );
1055
1056DWORD APIENTRY RasSetAutodialParamW( DWORD, LPVOID, DWORD );
1057
1058
1059#ifdef UNICODE
1060#define RasDial RasDialW
1061#define RasEnumConnections RasEnumConnectionsW
1062#define RasEnumEntries RasEnumEntriesW
1063#define RasGetConnectStatus RasGetConnectStatusW
1064#define RasGetErrorString RasGetErrorStringW
1065#define RasHangUp RasHangUpW
1066#define RasGetProjectionInfo RasGetProjectionInfoW
1067#define RasCreatePhonebookEntry RasCreatePhonebookEntryW
1068#define RasEditPhonebookEntry RasEditPhonebookEntryW
1069#define RasSetEntryDialParams RasSetEntryDialParamsW
1070#define RasGetEntryDialParams RasGetEntryDialParamsW
1071#define RasEnumDevices RasEnumDevicesW
1072#define RasGetCountryInfo RasGetCountryInfoW
1073#define RasGetEntryProperties RasGetEntryPropertiesW
1074#define RasSetEntryProperties RasSetEntryPropertiesW
1075#define RasRenameEntry RasRenameEntryW
1076#define RasDeleteEntry RasDeleteEntryW
1077#define RasValidateEntryName RasValidateEntryNameW
1078
1079/*
1080#if (WINVER >= 0x401)
1081#define RasGetSubEntryHandle RasGetSubEntryHandleW
1082#define RasConnectionNotification RasConnectionNotificationW
1083#define RasGetSubEntryProperties RasGetSubEntryPropertiesW
1084#define RasSetSubEntryProperties RasSetSubEntryPropertiesW
1085#define RasGetCredentials RasGetCredentialsW
1086#define RasSetCredentials RasSetCredentialsW
1087#define RasGetAutodialAddress RasGetAutodialAddressW
1088#define RasSetAutodialAddress RasSetAutodialAddressW
1089#define RasEnumAutodialAddresses RasEnumAutodialAddressesW
1090#define RasGetAutodialEnable RasGetAutodialEnableW
1091#define RasSetAutodialEnable RasSetAutodialEnableW
1092#define RasGetAutodialParam RasGetAutodialParamW
1093#define RasSetAutodialParam RasSetAutodialParamW
1094#endif
1095#else
1096*/
1097#define RasDial RasDialA
1098#define RasEnumConnections RasEnumConnectionsA
1099#define RasEnumEntries RasEnumEntriesA
1100#define RasGetConnectStatus RasGetConnectStatusA
1101#define RasGetErrorString RasGetErrorStringA
1102#define RasHangUp RasHangUpA
1103#define RasGetProjectionInfo RasGetProjectionInfoA
1104#define RasCreatePhonebookEntry RasCreatePhonebookEntryA
1105#define RasEditPhonebookEntry RasEditPhonebookEntryA
1106#define RasSetEntryDialParams RasSetEntryDialParamsA
1107#define RasGetEntryDialParams RasGetEntryDialParamsA
1108#define RasEnumDevices RasEnumDevicesA
1109#define RasGetCountryInfo RasGetCountryInfoA
1110#define RasGetEntryProperties RasGetEntryPropertiesA
1111#define RasSetEntryProperties RasSetEntryPropertiesA
1112#define RasRenameEntry RasRenameEntryA
1113#define RasDeleteEntry RasDeleteEntryA
1114#define RasValidateEntryName RasValidateEntryNameA
1115#define RasGetSubEntryHandle RasGetSubEntryHandleA
1116#define RasConnectionNotification RasConnectionNotificationA
1117#define RasGetSubEntryProperties RasGetSubEntryPropertiesA
1118#define RasSetSubEntryProperties RasSetSubEntryPropertiesA
1119#define RasGetCredentials RasGetCredentialsA
1120#define RasSetCredentials RasSetCredentialsA
1121#define RasGetAutodialAddress RasGetAutodialAddressA
1122#define RasSetAutodialAddress RasSetAutodialAddressA
1123#define RasEnumAutodialAddresses RasEnumAutodialAddressesA
1124#define RasGetAutodialEnable RasGetAutodialEnableA
1125#define RasSetAutodialEnable RasSetAutodialEnableA
1126#define RasGetAutodialParam RasGetAutodialParamA
1127#define RasSetAutodialParam RasSetAutodialParamA
1128#endif
1129
1130#ifdef __cplusplus
1131}
1132#endif
1133
1134#include <poppack.h>
1135
1136/* typedefs
1137*/
1138
1139typedef struct {
1140 DWORD dwSize;
1141 RASPROJECTION RasProjection;
1142// FIXME union ProjInfo;
1143} PROJECTION_INFO, *LPPROJECTION_INFO;
1144
1145typedef struct {
1146 DWORD dwSize;
1147 DWORD dwResult;
1148 UINT idMsg;
1149 BOOL fUnload;
1150 HANDLE hThread;
1151} COMPLETE_INFO, *LPCOMPLETE_INFO;
1152
1153typedef struct {
1154 DWORD dwSize;
1155 char szUserName[UNLEN+1];
1156 char szPassword[PWLEN+1];
1157 char szDomainName[DNLEN+1];
1158 BOOL fUseCallbacks;
1159} USER_PROFILE, *LPUSER_PROFILE;
1160
1161typedef struct {
1162 DWORD dwSize;
1163 HANDLE hDevicePort;
1164 DWORD dwLinkSpeed;
1165} DEVICE_PORT_INFO, *LPDEVICE_PORT_INFO;
1166
1167typedef struct {
1168 DWORD dwSize;
1169// FIXME SESSSTARTPROC lpfnStart;
1170// FIXME SESSSTARTSTOP lpfnStop;
1171} RNA_FUNCS, *LPRNA_FUNCS;
1172
1173#endif // __WINE_RAS_H
Note: See TracBrowser for help on using the repository browser.