CedarType.h 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762
  1. // SoftEther VPN Source Code - Stable Edition Repository
  2. // Cedar Communication Module
  3. //
  4. // SoftEther VPN Server, Client and Bridge are free software under the Apache License, Version 2.0.
  5. //
  6. // Copyright (c) Daiyuu Nobori.
  7. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
  8. // Copyright (c) SoftEther Corporation.
  9. // Copyright (c) all contributors on SoftEther VPN project in GitHub.
  10. //
  11. // All Rights Reserved.
  12. //
  13. // http://www.softether.org/
  14. //
  15. // This stable branch is officially managed by Daiyuu Nobori, the owner of SoftEther VPN Project.
  16. // Pull requests should be sent to the Developer Edition Master Repository on https://github.com/SoftEtherVPN/SoftEtherVPN
  17. //
  18. // License: The Apache License, Version 2.0
  19. // https://www.apache.org/licenses/LICENSE-2.0
  20. //
  21. // DISCLAIMER
  22. // ==========
  23. //
  24. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  25. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  26. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  27. // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  28. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  29. // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  30. // SOFTWARE.
  31. //
  32. // THIS SOFTWARE IS DEVELOPED IN JAPAN, AND DISTRIBUTED FROM JAPAN, UNDER
  33. // JAPANESE LAWS. YOU MUST AGREE IN ADVANCE TO USE, COPY, MODIFY, MERGE, PUBLISH,
  34. // DISTRIBUTE, SUBLICENSE, AND/OR SELL COPIES OF THIS SOFTWARE, THAT ANY
  35. // JURIDICAL DISPUTES WHICH ARE CONCERNED TO THIS SOFTWARE OR ITS CONTENTS,
  36. // AGAINST US (SOFTETHER PROJECT, SOFTETHER CORPORATION, DAIYUU NOBORI OR OTHER
  37. // SUPPLIERS), OR ANY JURIDICAL DISPUTES AGAINST US WHICH ARE CAUSED BY ANY KIND
  38. // OF USING, COPYING, MODIFYING, MERGING, PUBLISHING, DISTRIBUTING, SUBLICENSING,
  39. // AND/OR SELLING COPIES OF THIS SOFTWARE SHALL BE REGARDED AS BE CONSTRUED AND
  40. // CONTROLLED BY JAPANESE LAWS, AND YOU MUST FURTHER CONSENT TO EXCLUSIVE
  41. // JURISDICTION AND VENUE IN THE COURTS SITTING IN TOKYO, JAPAN. YOU MUST WAIVE
  42. // ALL DEFENSES OF LACK OF PERSONAL JURISDICTION AND FORUM NON CONVENIENS.
  43. // PROCESS MAY BE SERVED ON EITHER PARTY IN THE MANNER AUTHORIZED BY APPLICABLE
  44. // LAW OR COURT RULE.
  45. //
  46. // USE ONLY IN JAPAN. DO NOT USE THIS SOFTWARE IN ANOTHER COUNTRY UNLESS YOU HAVE
  47. // A CONFIRMATION THAT THIS SOFTWARE DOES NOT VIOLATE ANY CRIMINAL LAWS OR CIVIL
  48. // RIGHTS IN THAT PARTICULAR COUNTRY. USING THIS SOFTWARE IN OTHER COUNTRIES IS
  49. // COMPLETELY AT YOUR OWN RISK. THE SOFTETHER VPN PROJECT HAS DEVELOPED AND
  50. // DISTRIBUTED THIS SOFTWARE TO COMPLY ONLY WITH THE JAPANESE LAWS AND EXISTING
  51. // CIVIL RIGHTS INCLUDING PATENTS WHICH ARE SUBJECTS APPLY IN JAPAN. OTHER
  52. // COUNTRIES' LAWS OR CIVIL RIGHTS ARE NONE OF OUR CONCERNS NOR RESPONSIBILITIES.
  53. // WE HAVE NEVER INVESTIGATED ANY CRIMINAL REGULATIONS, CIVIL LAWS OR
  54. // INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENTS IN ANY OF OTHER 200+ COUNTRIES
  55. // AND TERRITORIES. BY NATURE, THERE ARE 200+ REGIONS IN THE WORLD, WITH
  56. // DIFFERENT LAWS. IT IS IMPOSSIBLE TO VERIFY EVERY COUNTRIES' LAWS, REGULATIONS
  57. // AND CIVIL RIGHTS TO MAKE THE SOFTWARE COMPLY WITH ALL COUNTRIES' LAWS BY THE
  58. // PROJECT. EVEN IF YOU WILL BE SUED BY A PRIVATE ENTITY OR BE DAMAGED BY A
  59. // PUBLIC SERVANT IN YOUR COUNTRY, THE DEVELOPERS OF THIS SOFTWARE WILL NEVER BE
  60. // LIABLE TO RECOVER OR COMPENSATE SUCH DAMAGES, CRIMINAL OR CIVIL
  61. // RESPONSIBILITIES. NOTE THAT THIS LINE IS NOT LICENSE RESTRICTION BUT JUST A
  62. // STATEMENT FOR WARNING AND DISCLAIMER.
  63. //
  64. // READ AND UNDERSTAND THE 'WARNING.TXT' FILE BEFORE USING THIS SOFTWARE.
  65. // SOME SOFTWARE PROGRAMS FROM THIRD PARTIES ARE INCLUDED ON THIS SOFTWARE WITH
  66. // LICENSE CONDITIONS WHICH ARE DESCRIBED ON THE 'THIRD_PARTY.TXT' FILE.
  67. //
  68. //
  69. // SOURCE CODE CONTRIBUTION
  70. // ------------------------
  71. //
  72. // Your contribution to SoftEther VPN Project is much appreciated.
  73. // Please send patches to us through GitHub.
  74. // Read the SoftEther VPN Patch Acceptance Policy in advance:
  75. // http://www.softether.org/5-download/src/9.patch
  76. //
  77. //
  78. // DEAR SECURITY EXPERTS
  79. // ---------------------
  80. //
  81. // If you find a bug or a security vulnerability please kindly inform us
  82. // about the problem immediately so that we can fix the security problem
  83. // to protect a lot of users around the world as soon as possible.
  84. //
  85. // Our e-mail address for security reports is:
  86. // softether-vpn-security [at] softether.org
  87. //
  88. // Please note that the above e-mail address is not a technical support
  89. // inquiry address. If you need technical assistance, please visit
  90. // http://www.softether.org/ and ask your question on the users forum.
  91. //
  92. // Thank you for your cooperation.
  93. //
  94. //
  95. // NO MEMORY OR RESOURCE LEAKS
  96. // ---------------------------
  97. //
  98. // The memory-leaks and resource-leaks verification under the stress
  99. // test has been passed before release this source code.
  100. // CedarType.h
  101. // List of types that Cedar using
  102. #ifndef CEDARTYPE_H
  103. #define CEDARTYPE_H
  104. // ==============================================================
  105. // Remote Procedure Call
  106. // ==============================================================
  107. typedef struct RPC RPC;
  108. // ==============================================================
  109. // Account
  110. // ==============================================================
  111. typedef struct POLICY_ITEM POLICY_ITEM;
  112. typedef struct POLICY POLICY;
  113. typedef struct USERGROUP USERGROUP;
  114. typedef struct USER USER;
  115. typedef struct AUTHPASSWORD AUTHPASSWORD;
  116. typedef struct AUTHUSERCERT AUTHUSERCERT;
  117. typedef struct AUTHROOTCERT AUTHROOTCERT;
  118. typedef struct AUTHRADIUS AUTHRADIUS;
  119. typedef struct AUTHNT AUTHNT;
  120. // ==============================================================
  121. // RADIUS
  122. // ==============================================================
  123. typedef struct RADIUS_LOGIN_OPTION RADIUS_LOGIN_OPTION;
  124. typedef struct RADIUS_PACKET RADIUS_PACKET;
  125. typedef struct RADIUS_AVP RADIUS_AVP;
  126. typedef struct EAP_CLIENT EAP_CLIENT;
  127. typedef struct EAP_MESSAGE EAP_MESSAGE;
  128. typedef struct EAP_MSCHAPV2_GENERAL EAP_MSCHAPV2_GENERAL;
  129. typedef struct EAP_MSCHAPV2_CHALLENGE EAP_MSCHAPV2_CHALLENGE;
  130. typedef struct EAP_MSCHAPV2_RESPONSE EAP_MSCHAPV2_RESPONSE;
  131. typedef struct EAP_MSCHAPV2_SUCCESS_SERVER EAP_MSCHAPV2_SUCCESS_SERVER;
  132. typedef struct EAP_MSCHAPV2_SUCCESS_CLIENT EAP_MSCHAPV2_SUCCESS_CLIENT;
  133. typedef struct EAP_PEAP EAP_PEAP;
  134. // ==============================================================
  135. // Listener
  136. // ==============================================================
  137. typedef struct DOS DOS;
  138. typedef struct LISTENER LISTENER;
  139. typedef struct TCP_ACCEPTED_PARAM TCP_ACCEPTED_PARAM;
  140. typedef struct UDP_ENTRY UDP_ENTRY;
  141. typedef struct DYNAMIC_LISTENER DYNAMIC_LISTENER;
  142. // ==============================================================
  143. // Logging
  144. // ==============================================================
  145. typedef struct PACKET_LOG PACKET_LOG;
  146. typedef struct HUB_LOG HUB_LOG;
  147. typedef struct RECORD RECORD;
  148. typedef struct LOG LOG;
  149. typedef struct ERASER ERASER;
  150. typedef struct SLOG SLOG;
  151. // ==============================================================
  152. // Connection
  153. // ==============================================================
  154. typedef struct KEEP KEEP;
  155. typedef struct SECURE_SIGN SECURE_SIGN;
  156. typedef struct RC4_KEY_PAIR RC4_KEY_PAIR;
  157. typedef struct CLIENT_OPTION CLIENT_OPTION;
  158. typedef struct CLIENT_AUTH CLIENT_AUTH;
  159. typedef struct TCPSOCK TCPSOCK;
  160. typedef struct TCP TCP;
  161. typedef struct UDP UDP;
  162. typedef struct BLOCK BLOCK;
  163. typedef struct CONNECTION CONNECTION;
  164. // ==============================================================
  165. // Session
  166. // ==============================================================
  167. typedef struct NODE_INFO NODE_INFO;
  168. typedef struct PACKET_ADAPTER PACKET_ADAPTER;
  169. typedef struct SESSION SESSION;
  170. typedef struct UI_PASSWORD_DLG UI_PASSWORD_DLG;
  171. typedef struct UI_MSG_DLG UI_MSG_DLG;
  172. typedef struct UI_NICINFO UI_NICINFO;
  173. typedef struct UI_CONNECTERROR_DLG UI_CONNECTERROR_DLG;
  174. typedef struct UI_CHECKCERT UI_CHECKCERT;
  175. // ==============================================================
  176. // Hub
  177. // ==============================================================
  178. typedef struct SE_LINK SE_LINK;
  179. typedef struct TEST_HISTORY TEST_HISTORY;
  180. typedef struct SE_TEST SE_TEST;
  181. typedef struct HUBDB HUBDB;
  182. typedef struct TRAFFIC_LIMITER TRAFFIC_LIMITER;
  183. typedef struct STORM STORM;
  184. typedef struct HUB_PA HUB_PA;
  185. typedef struct HUB_OPTION HUB_OPTION;
  186. typedef struct MAC_TABLE_ENTRY MAC_TABLE_ENTRY;
  187. typedef struct IP_TABLE_ENTRY IP_TABLE_ENTRY;
  188. typedef struct LOOP_LIST LOOP_LIST;
  189. typedef struct TICKET TICKET;
  190. typedef struct TRAFFIC_DIFF TRAFFIC_DIFF;
  191. typedef struct HUB HUB;
  192. typedef struct ADMIN_OPTION ADMIN_OPTION;
  193. typedef struct CRL CRL;
  194. typedef struct AC AC;
  195. typedef struct USERLIST USERLIST;
  196. // ==============================================================
  197. // Protocol
  198. // ==============================================================
  199. typedef struct CHECK_CERT_THREAD_PROC CHECK_CERT_THREAD_PROC;
  200. typedef struct SECURE_SIGN_THREAD_PROC SECURE_SIGN_THREAD_PROC;
  201. typedef struct RAND_CACHE RAND_CACHE;
  202. typedef struct BLACK BLACK;
  203. typedef struct SEND_SIGNATURE_PARAM SEND_SIGNATURE_PARAM;
  204. typedef struct UPDATE_CLIENT UPDATE_CLIENT;
  205. typedef struct UPDATE_CLIENT_SETTING UPDATE_CLIENT_SETTING;
  206. typedef struct HTTP_MIME_TYPE HTTP_MIME_TYPE;
  207. typedef struct WS WS;
  208. typedef struct WSP WSP;
  209. // ==============================================================
  210. // Link
  211. // ==============================================================
  212. typedef struct LINK LINK;
  213. // ==============================================================
  214. // Virtual
  215. // ==============================================================
  216. typedef struct ARP_ENTRY ARP_ENTRY;
  217. typedef struct ARP_WAIT ARP_WAIT;
  218. typedef struct IP_WAIT IP_WAIT;
  219. typedef struct IP_PART IP_PART;
  220. typedef struct IP_COMBINE IP_COMBINE;
  221. typedef struct NAT_ENTRY NAT_ENTRY;
  222. typedef struct TCP_OPTION TCP_OPTION;
  223. typedef struct VH VH;
  224. typedef struct VH_OPTION VH_OPTION;
  225. typedef struct DHCP_LEASE DHCP_LEASE;
  226. typedef struct NATIVE_NAT NATIVE_NAT;
  227. typedef struct NATIVE_NAT_ENTRY NATIVE_NAT_ENTRY;
  228. typedef struct DNS_PARSED_PACKET DNS_PARSED_PACKET;
  229. // ==============================================================
  230. // WPC
  231. // ==============================================================
  232. typedef struct INTERNET_SETTING INTERNET_SETTING;
  233. typedef struct URL_DATA URL_DATA;
  234. typedef struct WPC_ENTRY WPC_ENTRY;
  235. typedef struct WPC_PACKET WPC_PACKET;
  236. typedef struct WPC_CONNECT WPC_CONNECT;
  237. // ==============================================================
  238. // VLAN
  239. // ==============================================================
  240. typedef struct ROUTE_TRACKING ROUTE_TRACKING;
  241. typedef struct VLAN VLAN;
  242. typedef struct INSTANCE_LIST INSTANCE_LIST;
  243. typedef struct VLAN_PARAM VLAN_PARAM;
  244. #ifdef OS_UNIX
  245. typedef struct UNIX_VLAN_LIST UNIX_VLAN_LIST;
  246. #endif // OS_UNIX
  247. // ==============================================================
  248. // Null LAN
  249. // ==============================================================
  250. typedef struct NULL_LAN NULL_LAN;
  251. // ==============================================================
  252. // Bridge
  253. // ==============================================================
  254. typedef struct ETH ETH;
  255. typedef struct BRIDGE BRIDGE;
  256. typedef struct LOCALBRIDGE LOCALBRIDGE;
  257. // ==============================================================
  258. // Layer-3 Switch
  259. // ==============================================================
  260. typedef struct L3IF L3IF;
  261. typedef struct L3SW L3SW;
  262. typedef struct L3TABLE L3TABLE;
  263. typedef struct L3ARPENTRY L3ARPENTRY;
  264. typedef struct L3ARPWAIT L3ARPWAIT;
  265. typedef struct L3PACKET L3PACKET;
  266. // ==============================================================
  267. // Client
  268. // ==============================================================
  269. typedef struct ACCOUNT ACCOUNT;
  270. typedef struct CLIENT_CONFIG CLIENT_CONFIG;
  271. typedef struct RPC_CLIENT_VERSION RPC_CLIENT_VERSION;
  272. typedef struct RPC_CLIENT_PASSWORD RPC_CLIENT_PASSWORD;
  273. typedef struct RPC_CLIENT_PASSWORD_SETTING RPC_CLIENT_PASSWORD_SETTING;
  274. typedef struct RPC_CLIENT_ENUM_CA_ITEM RPC_CLIENT_ENUM_CA_ITEM;
  275. typedef struct RPC_CLIENT_ENUM_CA RPC_CLIENT_ENUM_CA;
  276. typedef struct RPC_CERT RPC_CERT;
  277. typedef struct RPC_CLIENT_DELETE_CA RPC_CLIENT_DELETE_CA;
  278. typedef struct RPC_GET_CA RPC_GET_CA;
  279. typedef struct RPC_GET_ISSUER RPC_GET_ISSUER;
  280. typedef struct RPC_CLIENT_ENUM_SECURE_ITEM RPC_CLIENT_ENUM_SECURE_ITEM;
  281. typedef struct RPC_CLIENT_ENUM_SECURE RPC_CLIENT_ENUM_SECURE;
  282. typedef struct RPC_USE_SECURE RPC_USE_SECURE;
  283. typedef struct RPC_ENUM_OBJECT_IN_SECURE RPC_ENUM_OBJECT_IN_SECURE;
  284. typedef struct RPC_CLIENT_CREATE_VLAN RPC_CLIENT_CREATE_VLAN;
  285. typedef struct RPC_CLIENT_GET_VLAN RPC_CLIENT_GET_VLAN;
  286. typedef struct RPC_CLIENT_SET_VLAN RPC_CLIENT_SET_VLAN;
  287. typedef struct RPC_CLIENT_ENUM_VLAN_ITEM RPC_CLIENT_ENUM_VLAN_ITEM;
  288. typedef struct RPC_CLIENT_ENUM_VLAN RPC_CLIENT_ENUM_VLAN;
  289. typedef struct RPC_CLIENT_CREATE_ACCOUNT RPC_CLIENT_CREATE_ACCOUNT;
  290. typedef struct RPC_CLIENT_ENUM_ACCOUNT_ITEM RPC_CLIENT_ENUM_ACCOUNT_ITEM;
  291. typedef struct RPC_CLIENT_ENUM_ACCOUNT RPC_CLIENT_ENUM_ACCOUNT;
  292. typedef struct RPC_CLIENT_DELETE_ACCOUNT RPC_CLIENT_DELETE_ACCOUNT;
  293. typedef struct RPC_RENAME_ACCOUNT RPC_RENAME_ACCOUNT;
  294. typedef struct RPC_CLIENT_GET_ACCOUNT RPC_CLIENT_GET_ACCOUNT;
  295. typedef struct RPC_CLIENT_CONNECT RPC_CLIENT_CONNECT;
  296. typedef struct RPC_CLIENT_GET_CONNECTION_STATUS RPC_CLIENT_GET_CONNECTION_STATUS;
  297. typedef struct CLIENT_RPC_CONNECTION CLIENT_RPC_CONNECTION;
  298. typedef struct CLIENT CLIENT;
  299. typedef struct RPC_CLIENT_NOTIFY RPC_CLIENT_NOTIFY;
  300. typedef struct REMOTE_CLIENT REMOTE_CLIENT;
  301. typedef struct NOTIFY_CLIENT NOTIFY_CLIENT;
  302. typedef struct UNIX_VLAN UNIX_VLAN;
  303. typedef struct CM_SETTING CM_SETTING;
  304. // ==============================================================
  305. // Server
  306. // ==============================================================
  307. typedef struct HUB_LIST HUB_LIST;
  308. typedef struct FARM_TASK FARM_TASK;
  309. typedef struct FARM_MEMBER FARM_MEMBER;
  310. typedef struct FARM_CONTROLLER FARM_CONTROLLER;
  311. typedef struct SERVER_LISTENER SERVER_LISTENER;
  312. typedef struct SERVER SERVER;
  313. typedef struct RPC_ENUM_SESSION RPC_ENUM_SESSION;
  314. typedef struct RPC_SESSION_STATUS RPC_SESSION_STATUS;
  315. typedef struct CAPS CAPS;
  316. typedef struct CAPSLIST CAPSLIST;
  317. typedef struct LOG_FILE LOG_FILE;
  318. typedef struct SYSLOG_SETTING SYSLOG_SETTING;
  319. typedef struct HUB_SNAPSHOT HUB_SNAPSHOT;
  320. typedef struct SERVER_SNAPSHOT SERVER_SNAPSHOT;
  321. typedef struct SERVER_HUB_CREATE_HISTORY SERVER_HUB_CREATE_HISTORY;
  322. typedef struct OPENVPN_SSTP_CONFIG OPENVPN_SSTP_CONFIG;
  323. // ==============================================================
  324. // Server Admin Tool
  325. // ==============================================================
  326. typedef struct ADMIN ADMIN;
  327. typedef struct RPC_TEST RPC_TEST;
  328. typedef struct RPC_SERVER_INFO RPC_SERVER_INFO;
  329. typedef struct RPC_SERVER_STATUS RPC_SERVER_STATUS;
  330. typedef struct RPC_LISTENER RPC_LISTENER;
  331. typedef struct RPC_LISTENER_LIST RPC_LISTENER_LIST;
  332. typedef struct RPC_STR RPC_STR;
  333. typedef struct RPC_SET_PASSWORD RPC_SET_PASSWORD;
  334. typedef struct RPC_FARM RPC_FARM;
  335. typedef struct RPC_FARM_HUB RPC_FARM_HUB;
  336. typedef struct RPC_FARM_INFO RPC_FARM_INFO;
  337. typedef struct RPC_ENUM_FARM_ITEM RPC_ENUM_FARM_ITEM;
  338. typedef struct RPC_ENUM_FARM RPC_ENUM_FARM;
  339. typedef struct RPC_FARM_CONNECTION_STATUS RPC_FARM_CONNECTION_STATUS;
  340. typedef struct RPC_KEY_PAIR RPC_KEY_PAIR;
  341. typedef struct RPC_HUB_OPTION RPC_HUB_OPTION;
  342. typedef struct RPC_RADIUS RPC_RADIUS;
  343. typedef struct RPC_HUB RPC_HUB;
  344. typedef struct RPC_CREATE_HUB RPC_CREATE_HUB;
  345. typedef struct RPC_ENUM_HUB_ITEM RPC_ENUM_HUB_ITEM;
  346. typedef struct RPC_ENUM_HUB RPC_ENUM_HUB;
  347. typedef struct RPC_DELETE_HUB RPC_DELETE_HUB;
  348. typedef struct RPC_ENUM_CONNECTION_ITEM RPC_ENUM_CONNECTION_ITEM;
  349. typedef struct RPC_ENUM_CONNECTION RPC_ENUM_CONNECTION;
  350. typedef struct RPC_DISCONNECT_CONNECTION RPC_DISCONNECT_CONNECTION;
  351. typedef struct RPC_CONNECTION_INFO RPC_CONNECTION_INFO;
  352. typedef struct RPC_SET_HUB_ONLINE RPC_SET_HUB_ONLINE;
  353. typedef struct RPC_HUB_STATUS RPC_HUB_STATUS;
  354. typedef struct RPC_HUB_LOG RPC_HUB_LOG;
  355. typedef struct RPC_HUB_ADD_CA RPC_HUB_ADD_CA;
  356. typedef struct RPC_HUB_ENUM_CA_ITEM RPC_HUB_ENUM_CA_ITEM;
  357. typedef struct RPC_HUB_ENUM_CA RPC_HUB_ENUM_CA;
  358. typedef struct RPC_HUB_GET_CA RPC_HUB_GET_CA;
  359. typedef struct RPC_HUB_DELETE_CA RPC_HUB_DELETE_CA;
  360. typedef struct RPC_CREATE_LINK RPC_CREATE_LINK;
  361. typedef struct RPC_ENUM_LINK_ITEM RPC_ENUM_LINK_ITEM;
  362. typedef struct RPC_ENUM_LINK RPC_ENUM_LINK;
  363. typedef struct RPC_LINK_STATUS RPC_LINK_STATUS;
  364. typedef struct RPC_LINK RPC_LINK;
  365. typedef struct RPC_ENUM_ACCESS_LIST RPC_ENUM_ACCESS_LIST;
  366. typedef struct RPC_ADD_ACCESS RPC_ADD_ACCESS;
  367. typedef struct RPC_DELETE_ACCESS RPC_DELETE_ACCESS;
  368. typedef struct RPC_SET_USER RPC_SET_USER;
  369. typedef struct RPC_ENUM_USER_ITEM RPC_ENUM_USER_ITEM;
  370. typedef struct RPC_ENUM_USER RPC_ENUM_USER;
  371. typedef struct RPC_SET_GROUP RPC_SET_GROUP;
  372. typedef struct RPC_ENUM_GROUP_ITEM RPC_ENUM_GROUP_ITEM;
  373. typedef struct RPC_ENUM_GROUP RPC_ENUM_GROUP;
  374. typedef struct RPC_DELETE_USER RPC_DELETE_USER;
  375. typedef struct RPC_ENUM_SESSION_ITEM RPC_ENUM_SESSION_ITEM;
  376. typedef struct RPC_DELETE_SESSION RPC_DELETE_SESSION;
  377. typedef struct RPC_ENUM_MAC_TABLE_ITEM RPC_ENUM_MAC_TABLE_ITEM;
  378. typedef struct RPC_ENUM_MAC_TABLE RPC_ENUM_MAC_TABLE;
  379. typedef struct RPC_ENUM_IP_TABLE_ITEM RPC_ENUM_IP_TABLE_ITEM;
  380. typedef struct RPC_ENUM_IP_TABLE RPC_ENUM_IP_TABLE;
  381. typedef struct RPC_DELETE_TABLE RPC_DELETE_TABLE;
  382. typedef struct RPC_KEEP RPC_KEEP;
  383. typedef struct RPC_ENUM_ETH_ITEM RPC_ENUM_ETH_ITEM;
  384. typedef struct RPC_ENUM_ETH RPC_ENUM_ETH;
  385. typedef struct RPC_LOCALBRIDGE RPC_LOCALBRIDGE;
  386. typedef struct RPC_ENUM_LOCALBRIDGE RPC_ENUM_LOCALBRIDGE;
  387. typedef struct RPC_BRIDGE_SUPPORT RPC_BRIDGE_SUPPORT;
  388. typedef struct RPC_CONFIG RPC_CONFIG;
  389. typedef struct RPC_ADMIN_OPTION RPC_ADMIN_OPTION;
  390. typedef struct RPC_L3SW RPC_L3SW;
  391. typedef struct RPC_L3IF RPC_L3IF;
  392. typedef struct RPC_L3TABLE RPC_L3TABLE;
  393. typedef struct RPC_ENUM_L3SW_ITEM RPC_ENUM_L3SW_ITEM;
  394. typedef struct RPC_ENUM_L3SW RPC_ENUM_L3SW;
  395. typedef struct RPC_ENUM_L3IF RPC_ENUM_L3IF;
  396. typedef struct RPC_ENUM_L3TABLE RPC_ENUM_L3TABLE;
  397. typedef struct RPC_CRL RPC_CRL;
  398. typedef struct RPC_ENUM_CRL_ITEM RPC_ENUM_CRL_ITEM;
  399. typedef struct RPC_ENUM_CRL RPC_ENUM_CRL;
  400. typedef struct RPC_INT RPC_INT;
  401. typedef struct RPC_AC_LIST RPC_AC_LIST;
  402. typedef struct RPC_ENUM_LOG_FILE_ITEM RPC_ENUM_LOG_FILE_ITEM;
  403. typedef struct RPC_ENUM_LOG_FILE RPC_ENUM_LOG_FILE;
  404. typedef struct RPC_READ_LOG_FILE RPC_READ_LOG_FILE;
  405. typedef struct DOWNLOAD_PROGRESS DOWNLOAD_PROGRESS;
  406. typedef struct RPC_RENAME_LINK RPC_RENAME_LINK;
  407. typedef struct RPC_ENUM_LICENSE_KEY RPC_ENUM_LICENSE_KEY;
  408. typedef struct RPC_ENUM_LICENSE_KEY_ITEM RPC_ENUM_LICENSE_KEY_ITEM;
  409. typedef struct RPC_LICENSE_STATUS RPC_LICENSE_STATUS;
  410. typedef struct RPC_ENUM_ETH_VLAN_ITEM RPC_ENUM_ETH_VLAN_ITEM;
  411. typedef struct RPC_ENUM_ETH_VLAN RPC_ENUM_ETH_VLAN;
  412. typedef struct RPC_MSG RPC_MSG;
  413. typedef struct RPC_WINVER RPC_WINVER;
  414. typedef struct RPC_ENUM_ETHERIP_ID RPC_ENUM_ETHERIP_ID;
  415. typedef struct RPC_SPECIAL_LISTENER RPC_SPECIAL_LISTENER;
  416. typedef struct RPC_AZURE_STATUS RPC_AZURE_STATUS;
  417. // ==============================================================
  418. // NAT
  419. // ==============================================================
  420. typedef struct NAT NAT;
  421. typedef struct NAT_ADMIN NAT_ADMIN;
  422. typedef struct RPC_DUMMY RPC_DUMMY;
  423. typedef struct RPC_NAT_STATUS RPC_NAT_STATUS;
  424. typedef struct RPC_NAT_INFO RPC_NAT_INFO;
  425. typedef struct RPC_ENUM_NAT_ITEM RPC_ENUM_NAT_ITEM;
  426. typedef struct RPC_ENUM_NAT RPC_ENUM_NAT;
  427. typedef struct RPC_ENUM_DHCP_ITEM RPC_ENUM_DHCP_ITEM;
  428. typedef struct RPC_ENUM_DHCP RPC_ENUM_DHCP;
  429. // ==============================================================
  430. // SecureNAT
  431. // ==============================================================
  432. typedef struct SNAT SNAT;
  433. // ==============================================================
  434. // WinUI
  435. // ==============================================================
  436. typedef struct LED LED;
  437. typedef struct WIZARD WIZARD;
  438. typedef struct WIZARD_PAGE WIZARD_PAGE;
  439. typedef struct WINUI_UPDATE WINUI_UPDATE;
  440. typedef struct WINUI_UPDATE_DLG_PARAM WINUI_UPDATE_DLG_PARAM;
  441. // ==============================================================
  442. // Console
  443. // ==============================================================
  444. typedef struct PARAM PARAM;
  445. typedef struct PARAM_VALUE PARAM_VALUE;
  446. typedef struct CONSOLE CONSOLE;
  447. typedef struct LOCAL_CONSOLE_PARAM LOCAL_CONSOLE_PARAM;
  448. typedef struct CMD CMD;
  449. typedef struct CMD_EVAL_MIN_MAX CMD_EVAL_MIN_MAX;
  450. // ==============================================================
  451. // Command
  452. // ==============================================================
  453. typedef struct PS PS;
  454. typedef struct PC PC;
  455. typedef struct CT CT;
  456. typedef struct CTC CTC;
  457. typedef struct CTR CTR;
  458. typedef struct TTC TTC;
  459. typedef struct TTS TTS;
  460. typedef struct TTS_WORKER TTS_WORKER;
  461. typedef struct TTC_WORKER TTC_WORKER;
  462. typedef struct TT_RESULT TT_RESULT;
  463. typedef struct TTS_SOCK TTS_SOCK;
  464. typedef struct TTC_SOCK TTC_SOCK;
  465. typedef struct PT PT;
  466. // ==============================================================
  467. // EtherLogger
  468. // ==============================================================
  469. typedef struct EL EL;
  470. typedef struct EL_DEVICE EL_DEVICE;
  471. typedef struct EL_LICENSE_STATUS EL_LICENSE_STATUS;
  472. typedef struct RPC_ADD_DEVICE RPC_ADD_DEVICE;
  473. typedef struct RPC_DELETE_DEVICE RPC_DELETE_DEVICE;
  474. typedef struct RPC_ENUM_DEVICE_ITEM RPC_ENUM_DEVICE_ITEM;
  475. typedef struct RPC_ENUM_DEVICE RPC_ENUM_DEVICE;
  476. typedef struct RPC_EL_LICENSE_STATUS RPC_EL_LICENSE_STATUS;
  477. // ==============================================================
  478. // Database
  479. // ==============================================================
  480. typedef struct LICENSE_PRODUCT LICENSE_PRODUCT;
  481. typedef struct LICENSE_SYSTEM LICENSE_SYSTEM;
  482. typedef struct LICENSE_DATA LICENSE_DATA;
  483. typedef struct LICENSE LICENSE;
  484. typedef struct LICENSE_STATUS LICENSE_STATUS;
  485. typedef struct SECURE_PACK_FOLDER SECURE_PACK_FOLDER;
  486. typedef struct WIDE_MACHINE_ID WIDE_MACHINE_ID;
  487. typedef struct TRIAL_INFO TRIAL_INFO;
  488. // ==============================================================
  489. // IPsec
  490. // ==============================================================
  491. typedef struct IPSEC_SERVER IPSEC_SERVER;
  492. typedef struct IPSEC_SERVICES IPSEC_SERVICES;
  493. typedef struct ETHERIP_ID ETHERIP_ID;
  494. // ==============================================================
  495. // L2TP
  496. // ==============================================================
  497. typedef struct L2TP_SERVER L2TP_SERVER;
  498. typedef struct L2TP_TUNNEL L2TP_TUNNEL;
  499. typedef struct L2TP_SESSION L2TP_SESSION;
  500. typedef struct L2TP_PACKET L2TP_PACKET;
  501. typedef struct L2TP_AVP L2TP_AVP;
  502. typedef struct L2TP_QUEUE L2TP_QUEUE;
  503. // ==============================================================
  504. // PPP
  505. // ==============================================================
  506. typedef struct PPP_SESSION PPP_SESSION;
  507. typedef struct PPP_OPTION PPP_OPTION;
  508. typedef struct PPP_LCP PPP_LCP;
  509. typedef struct PPP_PACKET PPP_PACKET;
  510. typedef struct PPP_IPOPTION PPP_IPOPTION;
  511. // ==============================================================
  512. // EtherIP
  513. // ==============================================================
  514. typedef struct ETHERIP_SERVER ETHERIP_SERVER;
  515. // ==============================================================
  516. // IKE
  517. // ==============================================================
  518. typedef struct IKE_SERVER IKE_SERVER;
  519. typedef struct IKE_SA IKE_SA;
  520. typedef struct IKE_SA_TRANSFORM_SETTING IKE_SA_TRANSFORM_SETTING;
  521. typedef struct IKE_CLIENT IKE_CLIENT;
  522. typedef struct IPSECSA IPSECSA;
  523. typedef struct IKE_CAPS IKE_CAPS;
  524. typedef struct IKE_INFOMSG_QUOTA_ENTRY IKE_INFOMSG_QUOTA_ENTRY;
  525. // ==============================================================
  526. // IPSec Packet
  527. // ==============================================================
  528. typedef struct IKE_COMMON_HEADER IKE_COMMON_HEADER;
  529. typedef struct IKE_SA_HEADER IKE_SA_HEADER;
  530. typedef struct IKE_PROPOSAL_HEADER IKE_PROPOSAL_HEADER;
  531. typedef struct IKE_TRANSFORM_HEADER IKE_TRANSFORM_HEADER;
  532. typedef struct IKE_TRANSFORM_VALUE IKE_TRANSFORM_VALUE;
  533. typedef struct IKE_ID_HEADER IKE_ID_HEADER;
  534. typedef struct IKE_CERT_HEADER IKE_CERT_HEADER;
  535. typedef struct IKE_CERT_REQUEST_HEADER IKE_CERT_REQUEST_HEADER;
  536. typedef struct IKE_NOTICE_HEADER IKE_NOTICE_HEADER;
  537. typedef struct IKE_DELETE_HEADER IKE_DELETE_HEADER;
  538. typedef struct IKE_NAT_OA_HEADER IKE_NAT_OA_HEADER;
  539. typedef struct IPSEC_SA_TRANSFORM_SETTING IPSEC_SA_TRANSFORM_SETTING;
  540. typedef struct IKE_PACKET_SA_PAYLOAD IKE_PACKET_SA_PAYLOAD;
  541. typedef struct IKE_PACKET_PROPOSAL_PAYLOAD IKE_PACKET_PROPOSAL_PAYLOAD;
  542. typedef struct IKE_PACKET_TRANSFORM_PAYLOAD IKE_PACKET_TRANSFORM_PAYLOAD;
  543. typedef struct IKE_PACKET_TRANSFORM_VALUE IKE_PACKET_TRANSFORM_VALUE;
  544. typedef struct IKE_PACKET_DATA_PAYLOAD IKE_PACKET_DATA_PAYLOAD;
  545. typedef struct IKE_PACKET_ID_PAYLOAD IKE_PACKET_ID_PAYLOAD;
  546. typedef struct IKE_PACKET_CERT_PAYLOAD IKE_PACKET_CERT_PAYLOAD;
  547. typedef struct IKE_PACKET_CERT_REQUEST_PAYLOAD IKE_PACKET_CERT_REQUEST_PAYLOAD;
  548. typedef struct IKE_PACKET_NOTICE_PAYLOAD IKE_PACKET_NOTICE_PAYLOAD;
  549. typedef struct IKE_PACKET_DELETE_PAYLOAD IKE_PACKET_DELETE_PAYLOAD;
  550. typedef struct IKE_PACKET_NAT_OA_PAYLOAD IKE_PACKET_NAT_OA_PAYLOAD;
  551. typedef struct IKE_PACKET_PAYLOAD IKE_PACKET_PAYLOAD;
  552. typedef struct IKE_PACKET IKE_PACKET;
  553. typedef struct IKE_P1_KEYSET IKE_P1_KEYSET;
  554. typedef struct IKE_CRYPTO IKE_CRYPTO;
  555. typedef struct IKE_HASH IKE_HASH;
  556. typedef struct IKE_DH IKE_DH;
  557. typedef struct IKE_ENGINE IKE_ENGINE;
  558. typedef struct IKE_CRYPTO_KEY IKE_CRYPTO_KEY;
  559. typedef struct IKE_CRYPTO_PARAM IKE_CRYPTO_PARAM;
  560. // ==============================================================
  561. // IPSec for Windows 7 / Vista / 2008 / 2008 R2
  562. // ==============================================================
  563. typedef struct IPSEC_WIN7 IPSEC_WIN7;
  564. // ==============================================================
  565. // In-Process VPN Client
  566. // ==============================================================
  567. typedef struct IPC IPC;
  568. typedef struct IPC_ARP IPC_ARP;
  569. typedef struct IPC_ASYNC IPC_ASYNC;
  570. typedef struct IPC_PARAM IPC_PARAM;
  571. typedef struct IPC_DHCP_RELESAE_QUEUE IPC_DHCP_RELESAE_QUEUE;
  572. typedef struct IPC_MSCHAP_V2_AUTHINFO IPC_MSCHAP_V2_AUTHINFO;
  573. typedef struct IPC_SESSION_SHARED_BUFFER_DATA IPC_SESSION_SHARED_BUFFER_DATA;
  574. // ==============================================================
  575. // UDP Acceleration
  576. // ==============================================================
  577. typedef struct UDP_ACCEL UDP_ACCEL;
  578. // ==============================================================
  579. // SSTP (Microsoft Secure Socket Tunneling Protocol) Stack
  580. // ==============================================================
  581. typedef struct SSTP_SERVER SSTP_SERVER;
  582. typedef struct SSTP_PACKET SSTP_PACKET;
  583. typedef struct SSTP_ATTRIBUTE SSTP_ATTRIBUTE;
  584. // ==============================================================
  585. // OpenVPN Protocol Stack
  586. // ==============================================================
  587. typedef struct OPENVPN_SERVER OPENVPN_SERVER;
  588. typedef struct OPENVPN_SERVER_UDP OPENVPN_SERVER_UDP;
  589. typedef struct OPENVPN_SESSION OPENVPN_SESSION;
  590. typedef struct OPENVPN_CHANNEL OPENVPN_CHANNEL;
  591. typedef struct OPENVPN_PACKET OPENVPN_PACKET;
  592. typedef struct OPENVPN_CONTROL_PACKET OPENVPN_CONTROL_PACKET;
  593. typedef struct OPENVPN_KEY_METHOD_2 OPENVPN_KEY_METHOD_2;
  594. // ==============================================================
  595. // Dynamic DNS Client
  596. // ==============================================================
  597. typedef struct DDNS_CLIENT DDNS_CLIENT;
  598. typedef struct DDNS_REGISTER_PARAM DDNS_REGISTER_PARAM;
  599. typedef struct DDNS_CLIENT_STATUS DDNS_CLIENT_STATUS;
  600. // ==============================================================
  601. // VPN Azure Client
  602. // ==============================================================
  603. typedef struct AZURE_CLIENT AZURE_CLIENT;
  604. typedef struct AZURE_PARAM AZURE_PARAM;
  605. // ==============================================================
  606. // VPN Gate Service
  607. // ==============================================================
  608. typedef struct VGS VGS;
  609. typedef struct VGS_CONFIG VGS_CONFIG;
  610. typedef struct VGC VGC;
  611. typedef struct VGHOST VGHOST;
  612. typedef struct VGHOSTLIST VGHOSTLIST;
  613. typedef struct VGHOSTDAT VGHOSTDAT;
  614. typedef struct VGCPOLLTASK VGCPOLLTASK;
  615. typedef struct VGS_LOG VGS_LOG;
  616. typedef struct VGC_UDPHOST VGC_UDPHOST;
  617. typedef struct MIRROR_SERVER MIRROR_SERVER;
  618. // ==============================================================
  619. // Native Stack
  620. // ==============================================================
  621. typedef struct NATIVE_STACK NATIVE_STACK;
  622. typedef struct IPTABLES_STATE IPTABLES_STATE;
  623. typedef struct IPTABLES_ENTRY IPTABLES_ENTRY;
  624. // ==============================================================
  625. // SeLow User-mode
  626. // ==============================================================
  627. typedef struct SU SU;
  628. typedef struct SU_ADAPTER SU_ADAPTER;
  629. typedef struct SU_ADAPTER_LIST SU_ADAPTER_LIST;
  630. #endif // CEDARTYPE_H