home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 14 / hacker14.iso / programacao / cwin / c.exe / $INSTDIR / include / ras.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-12-15  |  32.0 KB  |  967 lines

  1. #ifndef _RAS_H
  2. #define _RAS_H
  3. #if __GNUC__ >=3
  4. #pragma GCC system_header
  5. #endif
  6.  
  7. #ifdef __cplusplus
  8. extern "C"
  9. {
  10. #endif
  11.  
  12. #ifndef _LMCONS_H
  13. #include <lmcons.h>
  14. #endif
  15.  
  16. /* TODO
  17. include <basetsd.h> from winnt.h so that this typedef is not necessary
  18. */
  19. #ifndef _BASETSD_H
  20. typedef unsigned long ULONG_PTR, *PULONG_PTR;
  21. #endif
  22.  
  23. #include <pshpack4.h>
  24.  
  25. #define RAS_MaxDeviceType     16
  26. #define RAS_MaxPhoneNumber    128
  27. #define RAS_MaxIpAddress      15
  28. #define RAS_MaxIpxAddress     21
  29. #define RAS_MaxEntryName      256
  30. #define RAS_MaxDeviceName     128
  31. #define RAS_MaxCallbackNumber RAS_MaxPhoneNumber
  32. #define RAS_MaxAreaCode       10
  33. #define RAS_MaxPadType        32
  34. #define RAS_MaxX25Address     200
  35. #define RAS_MaxFacilities     200
  36. #define RAS_MaxUserData       200
  37. #define RAS_MaxReplyMessage   1024
  38. #define RDEOPT_UsePrefixSuffix           0x00000001
  39. #define RDEOPT_PausedStates              0x00000002
  40. #define RDEOPT_IgnoreModemSpeaker        0x00000004
  41. #define RDEOPT_SetModemSpeaker           0x00000008
  42. #define RDEOPT_IgnoreSoftwareCompression 0x00000010
  43. #define RDEOPT_SetSoftwareCompression    0x00000020
  44. #define RDEOPT_DisableConnectedUI        0x00000040
  45. #define RDEOPT_DisableReconnectUI        0x00000080
  46. #define RDEOPT_DisableReconnect          0x00000100
  47. #define RDEOPT_NoUser                    0x00000200
  48. #define RDEOPT_PauseOnScript             0x00000400
  49. #define RDEOPT_Router                    0x00000800
  50. #define REN_User                         0x00000000
  51. #define REN_AllUsers                     0x00000001
  52. #define VS_Default                        0
  53. #define VS_PptpOnly                        1
  54. #define VS_PptpFirst                    2
  55. #define VS_L2tpOnly                     3
  56. #define VS_L2tpFirst                    4
  57. #define RASDIALEVENT                    "RasDialEvent"
  58. #define WM_RASDIALEVENT                 0xCCCD
  59. #define RASEO_UseCountryAndAreaCodes    0x00000001
  60. #define RASEO_SpecificIpAddr            0x00000002
  61. #define RASEO_SpecificNameServers       0x00000004
  62. #define RASEO_IpHeaderCompression       0x00000008
  63. #define RASEO_RemoteDefaultGateway      0x00000010
  64. #define RASEO_DisableLcpExtensions      0x00000020
  65. #define RASEO_TerminalBeforeDial        0x00000040
  66. #define RASEO_TerminalAfterDial         0x00000080
  67. #define RASEO_ModemLights               0x00000100
  68. #define RASEO_SwCompression             0x00000200
  69. #define RASEO_RequireEncryptedPw        0x00000400
  70. #define RASEO_RequireMsEncryptedPw      0x00000800
  71. #define RASEO_RequireDataEncryption     0x00001000
  72. #define RASEO_NetworkLogon              0x00002000
  73. #define RASEO_UseLogonCredentials       0x00004000
  74. #define RASEO_PromoteAlternates         0x00008000
  75. #define RASNP_NetBEUI                   0x00000001
  76. #define RASNP_Ipx                       0x00000002
  77. #define RASNP_Ip                        0x00000004
  78. #define RASFP_Ppp                       0x00000001
  79. #define RASFP_Slip                      0x00000002
  80. #define RASFP_Ras                       0x00000004
  81. #define RASDT_Modem                     TEXT("modem")
  82. #define RASDT_Isdn                      TEXT("isdn")
  83. #define RASDT_X25                       TEXT("x25")
  84. #define RASDT_Vpn                       TEXT("vpn")
  85. #define RASDT_Pad                       TEXT("pad")
  86. #define RASDT_Generic                   TEXT("GENERIC")
  87. #define RASDT_Serial                TEXT("SERIAL")
  88. #define RASDT_FrameRelay                TEXT("FRAMERELAY")
  89. #define RASDT_Atm                       TEXT("ATM")
  90. #define RASDT_Sonet                     TEXT("SONET")
  91. #define RASDT_SW56                      TEXT("SW56")
  92. #define RASDT_Irda                      TEXT("IRDA")
  93. #define RASDT_Parallel                  TEXT("PARALLEL")
  94. #define RASET_Phone     1
  95. #define RASET_Vpn       2
  96. #define RASET_Direct    3
  97. #define RASET_Internet  4
  98. #if (WINVER >= 0x401)
  99. #define RASEO_SecureLocalFiles  0x00010000
  100. #define RASCN_Connection        0x00000001
  101. #define RASCN_Disconnection     0x00000002
  102. #define RASCN_BandwidthAdded    0x00000004
  103. #define RASCN_BandwidthRemoved  0x00000008
  104. #define RASEDM_DialAll          1
  105. #define RASEDM_DialAsNeeded     2
  106. #define RASIDS_Disabled         0xffffffff
  107. #define RASIDS_UseGlobalValue   0
  108. #define RASADFLG_PositionDlg    0x00000001
  109. #define RASCM_UserName       0x00000001
  110. #define RASCM_Password       0x00000002
  111. #define RASCM_Domain         0x00000004
  112. #define RASADP_DisableConnectionQuery   0
  113. #define RASADP_LoginSessionDisable      1
  114. #define RASADP_SavedAddressesLimit      2
  115. #define RASADP_FailedConnectionTimeout  3
  116. #define RASADP_ConnectionQueryTimeout   4
  117. #endif  /* (WINVER >= 0x401) */
  118. #if (WINVER >= 0x500)
  119. #define RDEOPT_CustomDial   0x00001000
  120. #define RASLCPAP_PAP        0xC023
  121. #define RASLCPAP_SPAP       0xC027
  122. #define RASLCPAP_CHAP       0xC223
  123. #define RASLCPAP_EAP        0xC227
  124. #define RASLCPAD_CHAP_MD5   0x05
  125. #define RASLCPAD_CHAP_MS    0x80
  126. #define RASLCPAD_CHAP_MSV2  0x81
  127. #define RASLCPO_PFC         0x00000001
  128. #define RASLCPO_ACFC        0x00000002
  129. #define RASLCPO_SSHF        0x00000004
  130. #define RASLCPO_DES_56      0x00000008
  131. #define RASLCPO_3_DES       0x00000010
  132. #define RASCCPCA_MPPC       0x00000006
  133. #define RASCCPCA_STAC       0x00000005
  134. #define RASCCPO_Compression         0x00000001
  135. #define RASCCPO_HistoryLess         0x00000002
  136. #define RASCCPO_Encryption56bit     0x00000010
  137. #define RASCCPO_Encryption40bit     0x00000020
  138. #define RASCCPO_Encryption128bit    0x00000040
  139. #define RASEO_RequireEAP            0x00020000
  140. #define RASEO_RequirePAP            0x00040000
  141. #define RASEO_RequireSPAP           0x00080000
  142. #define RASEO_Custom                0x00100000
  143. #define RASEO_PreviewPhoneNumber    0x00200000
  144. #define RASEO_SharedPhoneNumbers    0x00800000
  145. #define RASEO_PreviewUserPw         0x01000000
  146. #define RASEO_PreviewDomain         0x02000000
  147. #define RASEO_ShowDialingProgress   0x04000000
  148. #define RASEO_RequireCHAP           0x08000000
  149. #define RASEO_RequireMsCHAP         0x10000000
  150. #define RASEO_RequireMsCHAP2        0x20000000
  151. #define RASEO_RequireW95MSCHAP      0x40000000
  152. #define RASEO_CustomScript          0x80000000
  153. #define RASIPO_VJ                   0x00000001
  154. #define RCD_SingleUser              0
  155. #define RCD_AllUsers                0x00000001
  156. #define RCD_Eap                     0x00000002
  157. #define RASEAPF_NonInteractive      0x00000002
  158. #define RASEAPF_Logon               0x00000004
  159. #define RASEAPF_Preview             0x00000008
  160. #define ET_40Bit        1
  161. #define ET_128Bit       2
  162. #define ET_None         0
  163. #define ET_Require      1
  164. #define ET_RequireMax   2
  165. #define ET_Optional     3
  166. #endif /* (WINVER >= 0x500) */
  167.  
  168. #define RASCS_PAUSED 0x1000
  169. #define RASCS_DONE   0x2000
  170. typedef enum tagRASCONNSTATE {
  171.       RASCS_OpenPort = 0,
  172.       RASCS_PortOpened,
  173.       RASCS_ConnectDevice,
  174.       RASCS_DeviceConnected,
  175.       RASCS_AllDevicesConnected,
  176.       RASCS_Authenticate,
  177.       RASCS_AuthNotify,
  178.       RASCS_AuthRetry,
  179.       RASCS_AuthCallback,
  180.       RASCS_AuthChangePassword,
  181.       RASCS_AuthProject,
  182.       RASCS_AuthLinkSpeed,
  183.       RASCS_AuthAck,
  184.       RASCS_ReAuthenticate,
  185.       RASCS_Authenticated,
  186.       RASCS_PrepareForCallback,
  187.       RASCS_WaitForModemReset,
  188.       RASCS_WaitForCallback,
  189.       RASCS_Projected,
  190.       RASCS_StartAuthentication,
  191.       RASCS_CallbackComplete,
  192.       RASCS_LogonNetwork,
  193.       RASCS_SubEntryConnected,
  194.       RASCS_SubEntryDisconnected,
  195.       RASCS_Interactive = RASCS_PAUSED,
  196.       RASCS_RetryAuthentication,
  197.       RASCS_CallbackSetByCaller,
  198.       RASCS_PasswordExpired,
  199. #if (WINVER >= 0x500)
  200.       RASCS_InvokeEapUI,
  201. #endif
  202.       RASCS_Connected = RASCS_DONE,
  203.       RASCS_Disconnected
  204. }  RASCONNSTATE, *LPRASCONNSTATE;
  205.  
  206. typedef enum tagRASPROJECTION {
  207.     RASP_Amb =      0x10000,
  208.     RASP_PppNbf =   0x803F,
  209.     RASP_PppIpx =   0x802B,
  210.     RASP_PppIp =    0x8021,
  211. #if (WINVER >= 0x500)
  212.     RASP_PppCcp =   0x80FD,
  213. #endif
  214.     RASP_PppLcp =   0xC021,
  215.     RASP_Slip =     0x20000
  216. } RASPROJECTION, *LPRASPROJECTION;
  217.  
  218. DECLARE_HANDLE (HRASCONN);
  219. typedef  HRASCONN* LPHRASCONN;
  220.  
  221. typedef struct tagRASCONNW {
  222.     DWORD dwSize;
  223.     HRASCONN hrasconn;
  224.     WCHAR szEntryName[RAS_MaxEntryName + 1];
  225. #if (WINVER >= 0x400) 
  226.     WCHAR szDeviceType[RAS_MaxDeviceType + 1];
  227.     WCHAR szDeviceName[RAS_MaxDeviceName + 1];
  228. #endif
  229. #if (WINVER >= 0x401)
  230.     WCHAR szPhonebook[MAX_PATH];
  231.     DWORD dwSubEntry;
  232. #endif
  233. #if (WINVER >= 0x500)
  234.     GUID guidEntry;
  235. #endif
  236. #if (WINVER >= 0x501)
  237.     DWORD dwSessionId;
  238.     DWORD dwFlags;
  239.     LUID luid;
  240. #endif
  241. } RASCONNW, *LPRASCONNW;
  242.  
  243. typedef struct tagRASCONNA {
  244.     DWORD dwSize;
  245.     HRASCONN hrasconn;
  246.     CHAR szEntryName[RAS_MaxEntryName + 1];
  247. #if (WINVER >= 0x400) 
  248.     CHAR szDeviceType[RAS_MaxDeviceType + 1];
  249.     CHAR szDeviceName[RAS_MaxDeviceName + 1];
  250. #endif
  251. #if (WINVER >= 0x401)
  252.     CHAR szPhonebook[MAX_PATH];
  253.     DWORD dwSubEntry;
  254. #endif
  255. #if (WINVER >= 0x500)
  256.     GUID guidEntry;
  257. #endif
  258. #if (WINVER >= 0x501)
  259.     DWORD dwSessionId;
  260.     DWORD dwFlags;
  261.     LUID luid;
  262. #endif
  263. } RASCONNA, *LPRASCONNA;
  264.  
  265. typedef struct tagRASCONNSTATUSW {
  266.     DWORD dwSize;
  267.     RASCONNSTATE rasconnstate;
  268.     DWORD dwError;
  269.     WCHAR szDeviceType[RAS_MaxDeviceType + 1];
  270.     WCHAR szDeviceName[RAS_MaxDeviceName + 1];
  271. #if (WINVER >= 0x401)
  272.     WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
  273. #endif
  274. } RASCONNSTATUSW, *LPRASCONNSTATUSW;
  275.  
  276. typedef struct tagRASCONNSTATUSA {
  277.     DWORD dwSize;
  278.     RASCONNSTATE rasconnstate;
  279.     DWORD dwError;
  280.     CHAR szDeviceType[RAS_MaxDeviceType + 1];
  281.     CHAR szDeviceName[RAS_MaxDeviceName + 1];
  282. #if (WINVER >= 0x401)
  283.     CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
  284. #endif
  285. } RASCONNSTATUSA, *LPRASCONNSTATUSA;
  286.  
  287. typedef struct tagRASDIALPARAMSW {
  288.     DWORD dwSize;
  289.     WCHAR szEntryName[RAS_MaxEntryName + 1];
  290.     WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
  291.     WCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
  292.     WCHAR szUserName[UNLEN + 1];
  293.     WCHAR szPassword[PWLEN + 1];
  294.     WCHAR szDomain[DNLEN + 1];
  295. #if (WINVER >= 0x401)
  296.     DWORD dwSubEntry;
  297.     ULONG_PTR dwCallbackId;
  298. #endif
  299. } RASDIALPARAMSW, *LPRASDIALPARAMSW;
  300.  
  301. typedef struct tagRASDIALPARAMSA {
  302.     DWORD dwSize;
  303.     CHAR szEntryName[RAS_MaxEntryName + 1];
  304.     CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
  305.     CHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
  306.     CHAR szUserName[UNLEN + 1];
  307.     CHAR szPassword[PWLEN + 1];
  308.     CHAR szDomain[DNLEN + 1];
  309. #if (WINVER >= 0x401)
  310.     DWORD dwSubEntry;
  311.     ULONG_PTR dwCallbackId;
  312. #endif
  313. } RASDIALPARAMSA, *LPRASDIALPARAMSA;
  314.  
  315. #if (WINVER >= 0x500)
  316. typedef struct tagRASEAPINFO {
  317.     DWORD dwSizeofEapInfo;
  318.     BYTE *pbEapInfo;
  319. } RASEAPINFO;
  320. #endif
  321.  
  322. typedef struct tagRASDIALEXTENSIONS {
  323.     DWORD dwSize;
  324.     DWORD dwfOptions;
  325.     HWND hwndParent;
  326.     ULONG_PTR reserved;
  327. #if (WINVER >= 0x500)
  328.     ULONG_PTR reserved1;
  329.     RASEAPINFO RasEapInfo;
  330. #endif
  331. } RASDIALEXTENSIONS, *LPRASDIALEXTENSIONS;
  332.  
  333. typedef struct tagRASENTRYNAMEW {
  334.     DWORD dwSize;
  335.     WCHAR szEntryName[RAS_MaxEntryName + 1];
  336. #if (WINVER >= 0x500)
  337.     DWORD dwFlags;
  338.     WCHAR szPhonebookPath[MAX_PATH + 1];
  339. #endif
  340. } RASENTRYNAMEW, *LPRASENTRYNAMEW;
  341.  
  342. typedef struct tagRASENTRYNAMEA {
  343.     DWORD dwSize;
  344.     CHAR szEntryName[RAS_MaxEntryName + 1];
  345. #if (WINVER >= 0x500)
  346.     DWORD dwFlags;
  347.     CHAR szPhonebookPath[MAX_PATH + 1];
  348. #endif
  349. } RASENTRYNAMEA, *LPRASENTRYNAMEA;
  350.  
  351. typedef struct tagRASAMBW {
  352.     DWORD dwSize;
  353.     DWORD dwError;
  354.     WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
  355.     BYTE bLana;
  356. } RASAMBW, *LPRASAMBW;
  357.  
  358. typedef struct tagRASAMBA {
  359.     DWORD dwSize;
  360.     DWORD dwError;
  361.     CHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
  362.     BYTE bLana;
  363. } RASAMBA, *LPRASAMBA;
  364.  
  365. typedef struct tagRASPPPNBFW {
  366.     DWORD dwSize;
  367.     DWORD dwError;
  368.     DWORD dwNetBiosError;
  369.     WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
  370.     WCHAR szWorkstationName[NETBIOS_NAME_LEN + 1];
  371.     BYTE bLana;
  372. } RASPPPNBFW, *LPRASPPPNBFW;
  373.  
  374. typedef struct tagRASPPPNBFA {
  375.     DWORD dwSize;
  376.     DWORD dwError;
  377.     DWORD dwNetBiosError;
  378.     CHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
  379.     CHAR szWorkstationName[NETBIOS_NAME_LEN + 1];
  380.     BYTE bLana;
  381. } RASPPPNBFA, *LPRASPPPNBFA;
  382.  
  383. typedef struct tagRASIPXW {
  384.     DWORD dwSize;
  385.     DWORD dwError;
  386.     WCHAR szIpxAddress[RAS_MaxIpxAddress + 1];
  387. } RASPPPIPXW, *LPRASPPPIPXW;
  388.  
  389. typedef struct tagRASIPXA {
  390.     DWORD dwSize;
  391.     DWORD dwError;
  392.     CHAR szIpxAddress[RAS_MaxIpxAddress + 1];
  393. } RASPPPIPXA, *LPRASPPPIPXA;
  394.  
  395. typedef struct tagRASPPPIPW {
  396.     DWORD dwSize;
  397.     DWORD dwError;
  398.     WCHAR szIpAddress[RAS_MaxIpAddress + 1];
  399. #ifndef WINNT35COMPATIBLE
  400.     WCHAR szServerIpAddress[RAS_MaxIpAddress + 1];
  401. #endif
  402. #if (WINVER >= 0x500)
  403.     DWORD dwOptions;
  404.     DWORD dwServerOptions;
  405. #endif
  406. } RASPPPIPW, *LPRASPPPIPW;
  407.  
  408. typedef struct tagRASPPPIPA {
  409.     DWORD dwSize;
  410.     DWORD dwError;
  411.     CHAR szIpAddress[RAS_MaxIpAddress + 1];
  412. #ifndef WINNT35COMPATIBLE
  413.     CHAR szServerIpAddress[RAS_MaxIpAddress + 1];
  414. #endif
  415. #if (WINVER >= 0x500)
  416.     DWORD dwOptions;
  417.     DWORD dwServerOptions;
  418. #endif
  419. } RASPPPIPA, *LPRASPPPIPA;
  420.  
  421. typedef struct tagRASPPPLCPW {
  422.     DWORD dwSize;
  423.     BOOL fBundled;
  424. #if (WINVER >= 0x500)
  425.     DWORD dwError;
  426.     DWORD dwAuthenticationProtocol;
  427.     DWORD dwAuthenticationData;
  428.     DWORD dwEapTypeId;
  429.     DWORD dwServerAuthenticationProtocol;
  430.     DWORD dwServerAuthenticationData;
  431.     DWORD dwServerEapTypeId;
  432.     BOOL fMultilink;
  433.     DWORD dwTerminateReason;
  434.     DWORD dwServerTerminateReason;
  435.     WCHAR szReplyMessage[RAS_MaxReplyMessage];
  436.     DWORD dwOptions;
  437.     DWORD dwServerOptions;
  438. #endif
  439. } RASPPPLCPW, *LPRASPPPLCPW;
  440.  
  441. typedef struct tagRASPPPLCPA {
  442.     DWORD dwSize;
  443.     BOOL fBundled;
  444. #if (WINVER >= 0x500)
  445.     DWORD dwError;
  446.     DWORD dwAuthenticationProtocol;
  447.     DWORD dwAuthenticationData;
  448.     DWORD dwEapTypeId;
  449.     DWORD dwServerAuthenticationProtocol;
  450.     DWORD dwServerAuthenticationData;
  451.     DWORD dwServerEapTypeId;
  452.     BOOL fMultilink;
  453.     DWORD dwTerminateReason;
  454.     DWORD dwServerTerminateReason;
  455.     CHAR szReplyMessage[RAS_MaxReplyMessage];
  456.     DWORD dwOptions;
  457.     DWORD dwServerOptions;
  458. #endif
  459. } RASPPPLCPA, *LPRASPPPLCPA;
  460.  
  461. typedef struct tagRASSLIPW {
  462.     DWORD dwSize;
  463.     DWORD dwError;
  464.     WCHAR szIpAddress[RAS_MaxIpAddress + 1];
  465. } RASSLIPW, *LPRASSLIPW;
  466.  
  467.  
  468. typedef struct tagRASSLIPA {
  469.     DWORD dwSize;
  470.     DWORD dwError;
  471.     CHAR szIpAddress[RAS_MaxIpAddress + 1];
  472. } RASSLIPA, *LPRASSLIPA;
  473.  
  474. typedef struct tagRASDEVINFOW {
  475.     DWORD dwSize;
  476.     WCHAR szDeviceType[RAS_MaxDeviceType + 1];
  477.     WCHAR szDeviceName[RAS_MaxDeviceName + 1];
  478. } RASDEVINFOW, *LPRASDEVINFOW;
  479.  
  480. typedef struct tagRASDEVINFOA {
  481.     DWORD dwSize;
  482.     CHAR szDeviceType[RAS_MaxDeviceType + 1];
  483.     CHAR szDeviceName[RAS_MaxDeviceName + 1];
  484. } RASDEVINFOA, *LPRASDEVINFOA;
  485.  
  486. typedef struct tagRASCTRYINFO {
  487.     DWORD dwSize;
  488.     DWORD dwCountryID;
  489.     DWORD dwNextCountryID;
  490.     DWORD dwCountryCode;
  491.     DWORD dwCountryNameOffset;
  492. } RASCTRYINFO, *LPRASCTRYINFO;
  493.  
  494. typedef RASCTRYINFO  RASCTRYINFOW, *LPRASCTRYINFOW;
  495. typedef RASCTRYINFO  RASCTRYINFOA, *LPRASCTRYINFOA;
  496.  
  497. typedef struct tagRASIPADDR {
  498.     BYTE a;
  499.     BYTE b;
  500.     BYTE c;
  501.     BYTE d;
  502. } RASIPADDR;
  503.  
  504. typedef struct tagRASENTRYW {
  505.     DWORD dwSize;
  506.     DWORD dwfOptions;
  507.     DWORD dwCountryID;
  508.     DWORD dwCountryCode;
  509.     WCHAR szAreaCode[RAS_MaxAreaCode + 1];
  510.     WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
  511.     DWORD dwAlternateOffset;
  512.     RASIPADDR ipaddr;
  513.     RASIPADDR ipaddrDns;
  514.     RASIPADDR ipaddrDnsAlt;
  515.     RASIPADDR ipaddrWins;
  516.     RASIPADDR ipaddrWinsAlt;
  517.     DWORD dwFrameSize;
  518.     DWORD dwfNetProtocols;
  519.     DWORD dwFramingProtocol;
  520.     WCHAR szScript[MAX_PATH];
  521.     WCHAR szAutodialDll[MAX_PATH];
  522.     WCHAR szAutodialFunc[MAX_PATH];
  523.     WCHAR szDeviceType[RAS_MaxDeviceType + 1];
  524.     WCHAR szDeviceName[RAS_MaxDeviceName + 1];
  525.     WCHAR szX25PadType[RAS_MaxPadType + 1];
  526.     WCHAR szX25Address[RAS_MaxX25Address + 1];
  527.     WCHAR szX25Facilities[RAS_MaxFacilities + 1];
  528.     WCHAR szX25UserData[RAS_MaxUserData + 1];
  529.     DWORD dwChannels;
  530.     DWORD dwReserved1;
  531.     DWORD dwReserved2;
  532. #if (WINVER >= 0x401)
  533.     DWORD dwSubEntries;
  534.     DWORD dwDialMode;
  535.     DWORD dwDialExtraPercent;
  536.     DWORD dwDialExtraSampleSeconds;
  537.     DWORD dwHangUpExtraPercent;
  538.     DWORD dwHangUpExtraSampleSeconds;
  539.     DWORD dwIdleDisconnectSeconds;
  540. #endif
  541. #if (WINVER >= 0x500)
  542.     DWORD dwType;
  543.     DWORD dwEncryptionType;
  544.     DWORD dwCustomAuthKey;
  545.     GUID guidId;
  546.     WCHAR szCustomDialDll[MAX_PATH];
  547.     DWORD dwVpnStrategy;
  548. #endif
  549. } RASENTRYW, *LPRASENTRYW;
  550.  
  551. typedef struct tagRASENTRYA {
  552.     DWORD dwSize;
  553.     DWORD dwfOptions;
  554.     DWORD dwCountryID;
  555.     DWORD dwCountryCode;
  556.     CHAR szAreaCode[RAS_MaxAreaCode + 1];
  557.     CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
  558.     DWORD dwAlternateOffset;
  559.     RASIPADDR ipaddr;
  560.     RASIPADDR ipaddrDns;
  561.     RASIPADDR ipaddrDnsAlt;
  562.     RASIPADDR ipaddrWins;
  563.     RASIPADDR ipaddrWinsAlt;
  564.     DWORD dwFrameSize;
  565.     DWORD dwfNetProtocols;
  566.     DWORD dwFramingProtocol;
  567.     CHAR szScript[MAX_PATH];
  568.     CHAR szAutodialDll[MAX_PATH];
  569.     CHAR szAutodialFunc[MAX_PATH];
  570.     CHAR szDeviceType[RAS_MaxDeviceType + 1];
  571.     CHAR szDeviceName[RAS_MaxDeviceName + 1];
  572.     CHAR szX25PadType[RAS_MaxPadType + 1];
  573.     CHAR szX25Address[RAS_MaxX25Address + 1];
  574.     CHAR szX25Facilities[RAS_MaxFacilities + 1];
  575.     CHAR szX25UserData[RAS_MaxUserData + 1];
  576.     DWORD dwChannels;
  577.     DWORD dwReserved1;
  578.     DWORD dwReserved2;
  579. #if (WINVER >= 0x401)
  580.     DWORD dwSubEntries;
  581.     DWORD dwDialMode;
  582.     DWORD dwDialExtraPercent;
  583.     DWORD dwDialExtraSampleSeconds;
  584.     DWORD dwHangUpExtraPercent;
  585.     DWORD dwHangUpExtraSampleSeconds;
  586.     DWORD dwIdleDisconnectSeconds;
  587. #endif
  588. #if (WINVER >= 0x500)
  589.     DWORD dwType;
  590.     DWORD dwEncryptionType;
  591.     DWORD dwCustomAuthKey;
  592.     GUID guidId;
  593.     CHAR szCustomDialDll[MAX_PATH];
  594.     DWORD dwVpnStrategy;
  595. #endif
  596. } RASENTRYA, *LPRASENTRYA;
  597.  
  598.  
  599. #if (WINVER >= 0x401)
  600. typedef struct tagRASADPARAMS {
  601.     DWORD dwSize;
  602.     HWND hwndOwner;
  603.     DWORD dwFlags;
  604.     LONG xDlg;
  605.     LONG yDlg;
  606. } RASADPARAMS, *LPRASADPARAMS;
  607.  
  608. typedef struct tagRASSUBENTRYW {
  609.     DWORD dwSize;
  610.     DWORD dwfFlags;
  611.     WCHAR szDeviceType[RAS_MaxDeviceType + 1];
  612.     WCHAR szDeviceName[RAS_MaxDeviceName + 1];
  613.     WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
  614.     DWORD dwAlternateOffset;
  615. } RASSUBENTRYW, *LPRASSUBENTRYW;
  616.  
  617. typedef struct tagRASSUBENTRYA {
  618.     DWORD dwSize;
  619.     DWORD dwfFlags;
  620.     CHAR szDeviceType[RAS_MaxDeviceType + 1];
  621.     CHAR szDeviceName[RAS_MaxDeviceName + 1];
  622.     CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
  623.     DWORD dwAlternateOffset;
  624. } RASSUBENTRYA, *LPRASSUBENTRYA;
  625.  
  626. typedef struct tagRASCREDENTIALSW {
  627.     DWORD dwSize;
  628.     DWORD dwMask;
  629.     WCHAR szUserName[UNLEN + 1];
  630.     WCHAR szPassword[PWLEN + 1];
  631.     WCHAR szDomain[DNLEN + 1];
  632. } RASCREDENTIALSW, *LPRASCREDENTIALSW;
  633.  
  634. typedef struct tagRASCREDENTIALSA {
  635.     DWORD dwSize;
  636.     DWORD dwMask;
  637.     CHAR szUserName[UNLEN + 1];
  638.     CHAR szPassword[PWLEN + 1];
  639.     CHAR szDomain[DNLEN + 1];
  640. } RASCREDENTIALSA, *LPRASCREDENTIALSA;
  641.  
  642. typedef struct tagRASAUTODIALENTRYW {
  643.     DWORD dwSize;
  644.     DWORD dwFlags;
  645.     DWORD dwDialingLocation;
  646.     WCHAR szEntry[RAS_MaxEntryName + 1];
  647. } RASAUTODIALENTRYW, *LPRASAUTODIALENTRYW;
  648.  
  649. typedef struct tagRASAUTODIALENTRYA {
  650.     DWORD dwSize;
  651.     DWORD dwFlags;
  652.     DWORD dwDialingLocation;
  653.     CHAR szEntry[RAS_MaxEntryName + 1];
  654. } RASAUTODIALENTRYA, *LPRASAUTODIALENTRYA;
  655. #endif /* (WINVER >= 0x401) */
  656.  
  657. #if (WINVER >= 0x500)
  658. typedef struct tagRASPPPCCP {
  659.     DWORD dwSize;
  660.     DWORD dwError;
  661.     DWORD dwCompressionAlgorithm;
  662.     DWORD dwOptions;
  663.     DWORD dwServerCompressionAlgorithm;
  664.     DWORD dwServerOptions;
  665. } RASPPPCCP, *LPRASPPPCCP;
  666.  
  667. typedef struct tagRASEAPUSERIDENTITYW {
  668.     WCHAR szUserName[UNLEN + 1];
  669.     DWORD dwSizeofEapInfo;
  670.     BYTE pbEapInfo[1];
  671. } RASEAPUSERIDENTITYW, *LPRASEAPUSERIDENTITYW;
  672.  
  673. typedef struct tagRASEAPUSERIDENTITYA {
  674.     CHAR szUserName[UNLEN + 1];
  675.     DWORD dwSizeofEapInfo;
  676.     BYTE pbEapInfo[1];
  677. } RASEAPUSERIDENTITYA, *LPRASEAPUSERIDENTITYA;
  678.  
  679. typedef struct tagRAS_STATS {
  680.     DWORD dwSize;
  681.     DWORD dwBytesXmited;
  682.     DWORD dwBytesRcved;
  683.     DWORD dwFramesXmited;
  684.     DWORD dwFramesRcved;
  685.     DWORD dwCrcErr;
  686.     DWORD dwTimeoutErr;
  687.     DWORD dwAlignmentErr;
  688.     DWORD dwHardwareOverrunErr;
  689.     DWORD dwFramingErr;
  690.     DWORD dwBufferOverrunErr;
  691.     DWORD dwCompressionRatioIn;
  692.     DWORD dwCompressionRatioOut;
  693.     DWORD dwBps;
  694.     DWORD dwConnectDuration;
  695. } RAS_STATS, *PRAS_STATS;
  696. #endif /* (WINVER >= 0x500) */
  697.  
  698.  
  699. /* UNICODE typedefs for structures*/
  700. #ifdef UNICODE
  701. typedef RASCONNW RASCONN, *LPRASCONN;
  702. typedef RASENTRYW  RASENTRY, *LPRASENTRY;
  703. typedef RASCONNSTATUSW RASCONNSTATUS, *LPRASCONNSTATUS;
  704. typedef RASDIALPARAMSW RASDIALPARAMS, *LPRASDIALPARAMS;
  705. typedef RASAMBW RASAMB, *LPRASAM;
  706. typedef RASPPPNBFW RASPPPNBF, *LPRASPPPNBF;
  707. typedef RASPPPIPXW RASPPPIPX, *LPRASPPPIPX;
  708. typedef RASPPPIPW RASPPPIP, *LPRASPPPIP; 
  709. typedef RASPPPLCPW RASPPPLCP, *LPRASPPPLCP;
  710. typedef RASSLIPW RASSLIP, *LPRASSLIP;
  711. typedef RASDEVINFOW  RASDEVINFO, *LPRASDEVINFO;
  712. typedef RASENTRYNAMEW RASENTRYNAME, *LPRASENTRYNAME;
  713.  
  714. #if (WINVER >= 0x401)
  715. typedef RASSUBENTRYW RASSUBENTRY, *LPRASSUBENTRY;
  716. typedef RASCREDENTIALSW RASCREDENTIALS, *LPRASCREDENTIALS;
  717. typedef RASAUTODIALENTRYW RASAUTODIALENTRY, *LPRASAUTODIALENTRY;
  718. #endif /* (WINVER >= 0x401) */
  719.  
  720. #if (WINVER >= 0x500)
  721. typedef RASEAPUSERIDENTITYW RASEAPUSERIDENTITY, *LPRASEAPUSERIDENTITY;
  722. #endif /* (WINVER >= 0x500) */
  723.  
  724. #else  /* ! defined UNICODE */
  725. typedef RASCONNA RASCONN, *LPRASCONN;
  726. typedef RASENTRYA  RASENTRY, *LPRASENTRY;
  727. typedef RASCONNSTATUSA RASCONNSTATUS, *LPRASCONNSTATUS;
  728. typedef RASDIALPARAMSA RASDIALPARAMS, *LPRASDIALPARAMS;
  729. typedef RASAMBA RASAMB, *LPRASAM;
  730. typedef RASPPPNBFA RASPPPNBF, *LPRASPPPNBF;
  731. typedef RASPPPIPXA RASPPPIPX, *LPRASPPPIPX;
  732. typedef RASPPPIPA RASPPPIP, *LPRASPPPIP;
  733. typedef RASPPPLCPA RASPPPLCP, *LPRASPPPLCP;
  734. typedef RASSLIPA RASSLIP, *LPRASSLIP;
  735. typedef RASDEVINFOA  RASDEVINFO, *LPRASDEVINFO;
  736. typedef RASENTRYNAMEA RASENTRYNAME, *LPRASENTRYNAME;
  737.  
  738. #if (WINVER >= 0x401)
  739. typedef RASSUBENTRYA RASSUBENTRY, *LPRASSUBENTRY;
  740. typedef RASCREDENTIALSA RASCREDENTIALS, *LPRASCREDENTIALS;
  741. typedef RASAUTODIALENTRYA RASAUTODIALENTRY, *LPRASAUTODIALENTRY;
  742. #endif /*(WINVER >= 0x401)*/
  743. #if (WINVER >= 0x500)
  744. typedef RASEAPUSERIDENTITYA RASEAPUSERIDENTITY, *LPRASEAPUSERIDENTITY;
  745. #endif /* (WINVER >= 0x500) */
  746. #endif /* ! UNICODE */
  747.  
  748. /* Callback prototypes */
  749. typedef BOOL (WINAPI * ORASADFUNC) (HWND, LPSTR, DWORD, LPDWORD); /* deprecated */
  750. typedef VOID (WINAPI * RASDIALFUNC) (UINT, RASCONNSTATE, DWORD);
  751. typedef VOID (WINAPI * RASDIALFUNC1) (HRASCONN, UINT, RASCONNSTATE, DWORD,
  752.                     DWORD);
  753. typedef DWORD (WINAPI * RASDIALFUNC2) (ULONG_PTR, DWORD, HRASCONN, UINT,
  754.                     RASCONNSTATE, DWORD, DWORD);
  755.  
  756. /* External functions */
  757. DWORD APIENTRY RasDialA (LPRASDIALEXTENSIONS, LPCSTR, LPRASDIALPARAMSA,
  758.                 DWORD, LPVOID, LPHRASCONN);
  759. DWORD APIENTRY RasDialW (LPRASDIALEXTENSIONS, LPCWSTR, LPRASDIALPARAMSW,
  760.                 DWORD, LPVOID, LPHRASCONN);
  761. DWORD APIENTRY RasEnumConnectionsA (LPRASCONNA, LPDWORD, LPDWORD);
  762. DWORD APIENTRY RasEnumConnectionsW (LPRASCONNW, LPDWORD, LPDWORD);
  763. DWORD APIENTRY RasEnumEntriesA (LPCSTR, LPCSTR, LPRASENTRYNAMEA, LPDWORD,
  764.                 LPDWORD);
  765. DWORD APIENTRY RasEnumEntriesW (LPCWSTR, LPCWSTR, LPRASENTRYNAMEW, LPDWORD,
  766.                 LPDWORD);
  767. DWORD APIENTRY RasGetConnectStatusA (HRASCONN, LPRASCONNSTATUSA);
  768. DWORD APIENTRY RasGetConnectStatusW (HRASCONN, LPRASCONNSTATUSW);
  769. DWORD APIENTRY RasGetErrorStringA (UINT, LPSTR, DWORD);
  770. DWORD APIENTRY RasGetErrorStringW (UINT, LPWSTR, DWORD);
  771. DWORD APIENTRY RasHangUpA (HRASCONN);
  772. DWORD APIENTRY RasHangUpW (HRASCONN);
  773. DWORD APIENTRY RasGetProjectionInfoA (HRASCONN, RASPROJECTION, LPVOID,
  774.                  LPDWORD);
  775. DWORD APIENTRY RasGetProjectionInfoW (HRASCONN, RASPROJECTION, LPVOID,
  776.                 LPDWORD);
  777. DWORD APIENTRY RasCreatePhonebookEntryA (HWND, LPCSTR);
  778. DWORD APIENTRY RasCreatePhonebookEntryW (HWND, LPCWSTR);
  779. DWORD APIENTRY RasEditPhonebookEntryA (HWND, LPCSTR, LPCSTR);
  780. DWORD APIENTRY RasEditPhonebookEntryW (HWND, LPCWSTR, LPCWSTR);
  781. DWORD APIENTRY RasSetEntryDialParamsA (LPCSTR, LPRASDIALPARAMSA, BOOL);
  782. DWORD APIENTRY RasSetEntryDialParamsW (LPCWSTR, LPRASDIALPARAMSW, BOOL);
  783. DWORD APIENTRY RasGetEntryDialParamsA (LPCSTR, LPRASDIALPARAMSA, LPBOOL);
  784. DWORD APIENTRY RasGetEntryDialParamsW (LPCWSTR, LPRASDIALPARAMSW, LPBOOL);
  785. DWORD APIENTRY RasEnumDevicesA (LPRASDEVINFOA, LPDWORD, LPDWORD);
  786. DWORD APIENTRY RasEnumDevicesW (LPRASDEVINFOW, LPDWORD, LPDWORD);
  787. DWORD APIENTRY RasGetCountryInfoA (LPRASCTRYINFOA, LPDWORD);
  788. DWORD APIENTRY RasGetCountryInfoW (LPRASCTRYINFOW, LPDWORD);
  789. DWORD APIENTRY RasGetEntryPropertiesA (LPCSTR, LPCSTR, LPRASENTRYA, LPDWORD,
  790.                  LPBYTE, LPDWORD);
  791. DWORD APIENTRY RasGetEntryPropertiesW (LPCWSTR, LPCWSTR, LPRASENTRYW,
  792.                  LPDWORD, LPBYTE, LPDWORD);
  793. DWORD APIENTRY RasSetEntryPropertiesA (LPCSTR, LPCSTR, LPRASENTRYA, DWORD,
  794.                  LPBYTE, DWORD);
  795. DWORD APIENTRY RasSetEntryPropertiesW (LPCWSTR, LPCWSTR, LPRASENTRYW, DWORD,
  796.                  LPBYTE, DWORD);
  797. DWORD APIENTRY RasRenameEntryA (LPCSTR, LPCSTR, LPCSTR);
  798. DWORD APIENTRY RasRenameEntryW (LPCWSTR, LPCWSTR, LPCWSTR);
  799. DWORD APIENTRY RasDeleteEntryA (LPCSTR, LPCSTR);
  800. DWORD APIENTRY RasDeleteEntryW (LPCWSTR, LPCWSTR);
  801. DWORD APIENTRY RasValidateEntryNameA (LPCSTR, LPCSTR);
  802. DWORD APIENTRY RasValidateEntryNameW (LPCWSTR, LPCWSTR);
  803.  
  804. #if (WINVER >= 0x401)
  805. typedef BOOL (WINAPI * RASADFUNCA) (LPSTR, LPSTR, LPRASADPARAMS, LPDWORD);
  806. typedef BOOL (WINAPI * RASADFUNCW) (LPWSTR, LPWSTR, LPRASADPARAMS, LPDWORD);
  807.  
  808. DWORD APIENTRY RasGetSubEntryHandleA (HRASCONN, DWORD, LPHRASCONN);
  809. DWORD APIENTRY RasGetSubEntryHandleW (HRASCONN, DWORD, LPHRASCONN);
  810. DWORD APIENTRY RasGetCredentialsA (LPCSTR, LPCSTR, LPRASCREDENTIALSA);
  811. DWORD APIENTRY RasGetCredentialsW (LPCWSTR, LPCWSTR, LPRASCREDENTIALSW);
  812. DWORD APIENTRY RasSetCredentialsA (LPCSTR, LPCSTR, LPRASCREDENTIALSA, BOOL);
  813. DWORD APIENTRY RasSetCredentialsW (LPCWSTR, LPCWSTR, LPRASCREDENTIALSW, BOOL);
  814. DWORD APIENTRY RasConnectionNotificationA (HRASCONN, HANDLE, DWORD);
  815. DWORD APIENTRY RasConnectionNotificationW (HRASCONN, HANDLE, DWORD);
  816. DWORD APIENTRY RasGetSubEntryPropertiesA (LPCSTR, LPCSTR, DWORD,
  817.                     LPRASSUBENTRYA, LPDWORD, LPBYTE, LPDWORD);
  818. DWORD APIENTRY RasGetSubEntryPropertiesW (LPCWSTR, LPCWSTR, DWORD,
  819.                     LPRASSUBENTRYW, LPDWORD, LPBYTE, LPDWORD);
  820. DWORD APIENTRY RasSetSubEntryPropertiesA (LPCSTR, LPCSTR, DWORD,
  821.                     LPRASSUBENTRYA, DWORD, LPBYTE, DWORD);
  822. DWORD APIENTRY RasSetSubEntryPropertiesW (LPCWSTR, LPCWSTR, DWORD,
  823.                     LPRASSUBENTRYW, DWORD, LPBYTE, DWORD);
  824. DWORD APIENTRY RasGetAutodialAddressA (LPCSTR, LPDWORD, LPRASAUTODIALENTRYA,
  825.                     LPDWORD, LPDWORD);
  826. DWORD APIENTRY RasGetAutodialAddressW (LPCWSTR, LPDWORD,
  827.                     LPRASAUTODIALENTRYW, LPDWORD, LPDWORD);
  828. DWORD APIENTRY RasSetAutodialAddressA (LPCSTR, DWORD, LPRASAUTODIALENTRYA,
  829.                     DWORD, DWORD);
  830. DWORD APIENTRY RasSetAutodialAddressW (LPCWSTR, DWORD, LPRASAUTODIALENTRYW,
  831.                     DWORD, DWORD);
  832. DWORD APIENTRY RasEnumAutodialAddressesA (LPSTR *, LPDWORD, LPDWORD);
  833. DWORD APIENTRY RasEnumAutodialAddressesW (LPWSTR *, LPDWORD, LPDWORD);
  834. DWORD APIENTRY RasGetAutodialEnableA (DWORD, LPBOOL);
  835. DWORD APIENTRY RasGetAutodialEnableW (DWORD, LPBOOL);
  836. DWORD APIENTRY RasSetAutodialEnableA (DWORD, BOOL);
  837. DWORD APIENTRY RasSetAutodialEnableW (DWORD, BOOL);
  838. DWORD APIENTRY RasGetAutodialParamA (DWORD, LPVOID, LPDWORD);
  839. DWORD APIENTRY RasGetAutodialParamW (DWORD, LPVOID, LPDWORD);
  840. DWORD APIENTRY RasSetAutodialParamA (DWORD, LPVOID, DWORD);
  841. DWORD APIENTRY RasSetAutodialParamW (DWORD, LPVOID, DWORD);
  842. #endif
  843.  
  844. #if (WINVER >= 0x500)
  845. typedef DWORD (WINAPI * RasCustomHangUpFn) (HRASCONN);
  846. typedef DWORD (WINAPI * RasCustomDeleteEntryNotifyFn) (LPCTSTR,    LPCTSTR, DWORD);
  847. typedef DWORD (WINAPI * RasCustomDialFn) (HINSTANCE, LPRASDIALEXTENSIONS,
  848.                 LPCTSTR, LPRASDIALPARAMS, DWORD, LPVOID, LPHRASCONN, DWORD);
  849.  
  850. DWORD APIENTRY RasInvokeEapUI (HRASCONN, DWORD, LPRASDIALEXTENSIONS, HWND);
  851. DWORD APIENTRY RasGetLinkStatistics (HRASCONN, DWORD, RAS_STATS*);
  852. DWORD APIENTRY RasGetConnectionStatistics (HRASCONN, RAS_STATS*);
  853. DWORD APIENTRY RasClearLinkStatistics (HRASCONN, DWORD);
  854. DWORD APIENTRY RasClearConnectionStatistics (HRASCONN);
  855. DWORD APIENTRY RasGetEapUserDataA (HANDLE, LPCSTR, LPCSTR, BYTE*, DWORD*);
  856. DWORD APIENTRY RasGetEapUserDataW (HANDLE, LPCWSTR, LPCWSTR, BYTE*, DWORD*);
  857. DWORD APIENTRY RasSetEapUserDataA (HANDLE, LPCSTR, LPCSTR, BYTE*, DWORD);
  858. DWORD APIENTRY RasSetEapUserDataW (HANDLE, LPCWSTR, LPCWSTR, BYTE*, DWORD);
  859. DWORD APIENTRY RasGetCustomAuthDataA (LPCSTR,    LPCSTR,    BYTE*,    DWORD*);
  860. DWORD APIENTRY RasGetCustomAuthDataW (LPCWSTR, LPCWSTR, BYTE*, DWORD*);
  861. DWORD APIENTRY RasSetCustomAuthDataA (LPCSTR,    LPCSTR,    BYTE*,    DWORD);
  862. DWORD APIENTRY RasSetCustomAuthDataW (LPCWSTR, LPCWSTR, BYTE*, DWORD);
  863. DWORD APIENTRY RasGetEapUserIdentityW (LPCWSTR, LPCWSTR, DWORD, HWND, LPRASEAPUSERIDENTITYW*);
  864. DWORD APIENTRY RasGetEapUserIdentityA (LPCSTR, LPCSTR, DWORD, HWND, LPRASEAPUSERIDENTITYA*);
  865. VOID APIENTRY RasFreeEapUserIdentityW (LPRASEAPUSERIDENTITYW);
  866. VOID APIENTRY RasFreeEapUserIdentityA (LPRASEAPUSERIDENTITYA);
  867. #endif  /* (WINVER >= 0x500) */
  868.  
  869.  
  870. /* UNICODE defines for functions */
  871. #ifdef UNICODE
  872. #define RasDial RasDialW
  873. #define RasEnumConnections RasEnumConnectionsW
  874. #define RasEnumEntries RasEnumEntriesW
  875. #define RasGetConnectStatus RasGetConnectStatusW
  876. #define RasGetErrorString RasGetErrorStringW
  877. #define RasHangUp RasHangUpW
  878. #define RasGetProjectionInfo RasGetProjectionInfoW
  879. #define RasCreatePhonebookEntry RasCreatePhonebookEntryW
  880. #define RasEditPhonebookEntry RasEditPhonebookEntryW
  881. #define RasSetEntryDialParams RasSetEntryDialParamsW
  882. #define RasGetEntryDialParams RasGetEntryDialParamsW
  883. #define RasEnumDevices RasEnumDevicesW
  884. #define RasGetCountryInfo RasGetCountryInfoW
  885. #define RasGetEntryProperties RasGetEntryPropertiesW
  886. #define RasSetEntryProperties RasSetEntryPropertiesW
  887. #define RasRenameEntry RasRenameEntryW
  888. #define RasDeleteEntry RasDeleteEntryW
  889. #define RasValidateEntryName RasValidateEntryNameW
  890. #if (WINVER >= 0x401)
  891. #define RASADFUNC RASADFUNCW
  892. #define RasGetSubEntryHandle RasGetSubEntryHandleW
  893. #define RasConnectionNotification RasConnectionNotificationW
  894. #define RasGetSubEntryProperties RasGetSubEntryPropertiesW
  895. #define RasSetSubEntryProperties RasSetSubEntryPropertiesW
  896. #define RasGetCredentials RasGetCredentialsW
  897. #define RasSetCredentials RasSetCredentialsW
  898. #define RasGetAutodialAddress RasGetAutodialAddressW
  899. #define RasSetAutodialAddress RasSetAutodialAddressW
  900. #define RasEnumAutodialAddresses RasEnumAutodialAddressesW
  901. #define RasGetAutodialEnable RasGetAutodialEnableW
  902. #define RasSetAutodialEnable RasSetAutodialEnableW
  903. #define RasGetAutodialParam RasGetAutodialParamW
  904. #define RasSetAutodialParam RasSetAutodialParamW
  905. #endif /* (WINVER >= 0x401) */
  906. #if (WINVER >= 0x500)
  907. #define RasGetEapUserData RasGetEapUserDataW
  908. #define RasSetEapUserData RasSetEapUserDataW
  909. #define RasGetCustomAuthData RasGetCustomAuthDataW
  910. #define RasSetCustomAuthData RasSetCustomAuthDataW
  911. #define RasGetEapUserIdentity RasGetEapUserIdentityW
  912. #define RasFreeEapUserIdentity RasFreeEapUserIdentityW
  913. #endif /* (WINVER >= 0x500) */
  914.  
  915. #else  /* ! defined UNICODE */
  916. #define RasDial RasDialA
  917. #define RasEnumConnections RasEnumConnectionsA
  918. #define RasEnumEntries RasEnumEntriesA
  919. #define RasGetConnectStatus RasGetConnectStatusA
  920. #define RasGetErrorString RasGetErrorStringA
  921. #define RasHangUp RasHangUpA
  922. #define RasGetProjectionInfo RasGetProjectionInfoA
  923. #define RasCreatePhonebookEntry RasCreatePhonebookEntryA
  924. #define RasEditPhonebookEntry RasEditPhonebookEntryA
  925. #define RasSetEntryDialParams RasSetEntryDialParamsA
  926. #define RasGetEntryDialParams RasGetEntryDialParamsA
  927. #define RasEnumDevices RasEnumDevicesA
  928. #define RasGetCountryInfo RasGetCountryInfoA
  929. #define RasGetEntryProperties RasGetEntryPropertiesA
  930. #define RasSetEntryProperties RasSetEntryPropertiesA
  931. #define RasRenameEntry RasRenameEntryA
  932. #define RasDeleteEntry RasDeleteEntryA
  933. #define RasValidateEntryName RasValidateEntryNameA
  934.  
  935. #if (WINVER >= 0x401)
  936. #define RASADFUNC RASADFUNCA
  937. #define RasGetSubEntryHandle RasGetSubEntryHandleA
  938. #define RasConnectionNotification RasConnectionNotificationA
  939. #define RasGetSubEntryProperties RasGetSubEntryPropertiesA
  940. #define RasSetSubEntryProperties RasSetSubEntryPropertiesA
  941. #define RasGetCredentials RasGetCredentialsA
  942. #define RasSetCredentials RasSetCredentialsA
  943. #define RasGetAutodialAddress RasGetAutodialAddressA
  944. #define RasSetAutodialAddress RasSetAutodialAddressA
  945. #define RasEnumAutodialAddressesRasEnumAutodialAddressesA
  946. #define RasGetAutodialEnable RasGetAutodialEnableA
  947. #define RasSetAutodialEnable RasSetAutodialEnableA
  948. #define RasGetAutodialParam RasGetAutodialParamA
  949. #define RasSetAutodialParam RasSetAutodialParamA
  950. #endif /*(WINVER >= 0x401)*/
  951.  
  952. #if (WINVER >= 0x500)
  953. #define RasGetEapUserData RasGetEapUserDataA
  954. #define RasSetEapUserData RasSetEapUserDataA
  955. #define RasGetCustomAuthData RasGetCustomAuthDataA
  956. #define RasSetCustomAuthData RasSetCustomAuthDataA
  957. #define RasGetEapUserIdentity RasGetEapUserIdentityA
  958. #define RasFreeEapUserIdentity RasFreeEapUserIdentityA
  959. #endif /* (WINVER >= 0x500) */
  960. #endif /* ! UNICODE */
  961.  
  962. #ifdef __cplusplus
  963. }
  964. #endif
  965. #include <poppack.h>
  966. #endif /* _RAS_H */ 
  967.