ras.h 34 KB

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