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 101 102 // CedarType.h 103 // List of types that Cedar using 104 105 #ifndef CEDARTYPE_H 106 #define CEDARTYPE_H 107 108 109 // ============================================================== 110 // Remote Procedure Call 111 // ============================================================== 112 113 typedef struct RPC RPC; 114 115 116 // ============================================================== 117 // Account 118 // ============================================================== 119 120 typedef struct POLICY_ITEM POLICY_ITEM; 121 typedef struct POLICY POLICY; 122 typedef struct USERGROUP USERGROUP; 123 typedef struct USER USER; 124 typedef struct AUTHPASSWORD AUTHPASSWORD; 125 typedef struct AUTHUSERCERT AUTHUSERCERT; 126 typedef struct AUTHROOTCERT AUTHROOTCERT; 127 typedef struct AUTHRADIUS AUTHRADIUS; 128 typedef struct AUTHNT AUTHNT; 129 130 131 // ============================================================== 132 // RADIUS 133 // ============================================================== 134 135 typedef struct RADIUS_LOGIN_OPTION RADIUS_LOGIN_OPTION; 136 typedef struct RADIUS_PACKET RADIUS_PACKET; 137 typedef struct RADIUS_AVP RADIUS_AVP; 138 typedef struct EAP_CLIENT EAP_CLIENT; 139 typedef struct EAP_MESSAGE EAP_MESSAGE; 140 typedef struct EAP_MSCHAPV2_GENERAL EAP_MSCHAPV2_GENERAL; 141 typedef struct EAP_MSCHAPV2_CHALLENGE EAP_MSCHAPV2_CHALLENGE; 142 typedef struct EAP_MSCHAPV2_RESPONSE EAP_MSCHAPV2_RESPONSE; 143 typedef struct EAP_MSCHAPV2_SUCCESS_SERVER EAP_MSCHAPV2_SUCCESS_SERVER; 144 typedef struct EAP_MSCHAPV2_SUCCESS_CLIENT EAP_MSCHAPV2_SUCCESS_CLIENT; 145 typedef struct EAP_PEAP EAP_PEAP; 146 147 148 // ============================================================== 149 // Listener 150 // ============================================================== 151 152 typedef struct DOS DOS; 153 typedef struct LISTENER LISTENER; 154 typedef struct TCP_ACCEPTED_PARAM TCP_ACCEPTED_PARAM; 155 typedef struct UDP_ENTRY UDP_ENTRY; 156 typedef struct DYNAMIC_LISTENER DYNAMIC_LISTENER; 157 158 159 // ============================================================== 160 // Logging 161 // ============================================================== 162 163 typedef struct PACKET_LOG PACKET_LOG; 164 typedef struct HUB_LOG HUB_LOG; 165 typedef struct RECORD RECORD; 166 typedef struct LOG LOG; 167 typedef struct ERASER ERASER; 168 typedef struct SLOG SLOG; 169 170 171 // ============================================================== 172 // Connection 173 // ============================================================== 174 175 typedef struct KEEP KEEP; 176 typedef struct SECURE_SIGN SECURE_SIGN; 177 typedef struct RC4_KEY_PAIR RC4_KEY_PAIR; 178 typedef struct CLIENT_OPTION CLIENT_OPTION; 179 typedef struct CLIENT_AUTH CLIENT_AUTH; 180 typedef struct TCPSOCK TCPSOCK; 181 typedef struct TCP TCP; 182 typedef struct UDP UDP; 183 typedef struct BLOCK BLOCK; 184 typedef struct CONNECTION CONNECTION; 185 186 187 // ============================================================== 188 // Session 189 // ============================================================== 190 191 typedef struct NODE_INFO NODE_INFO; 192 typedef struct PACKET_ADAPTER PACKET_ADAPTER; 193 typedef struct SESSION SESSION; 194 typedef struct UI_PASSWORD_DLG UI_PASSWORD_DLG; 195 typedef struct UI_MSG_DLG UI_MSG_DLG; 196 typedef struct UI_NICINFO UI_NICINFO; 197 typedef struct UI_CONNECTERROR_DLG UI_CONNECTERROR_DLG; 198 typedef struct UI_CHECKCERT UI_CHECKCERT; 199 200 201 // ============================================================== 202 // Hub 203 // ============================================================== 204 205 typedef struct SE_LINK SE_LINK; 206 typedef struct TEST_HISTORY TEST_HISTORY; 207 typedef struct SE_TEST SE_TEST; 208 typedef struct HUBDB HUBDB; 209 typedef struct TRAFFIC_LIMITER TRAFFIC_LIMITER; 210 typedef struct STORM STORM; 211 typedef struct HUB_PA HUB_PA; 212 typedef struct HUB_OPTION HUB_OPTION; 213 typedef struct MAC_TABLE_ENTRY MAC_TABLE_ENTRY; 214 typedef struct IP_TABLE_ENTRY IP_TABLE_ENTRY; 215 typedef struct LOOP_LIST LOOP_LIST; 216 typedef struct ACCESS ACCESS; 217 typedef struct TICKET TICKET; 218 typedef struct TRAFFIC_DIFF TRAFFIC_DIFF; 219 typedef struct HUB HUB; 220 typedef struct ADMIN_OPTION ADMIN_OPTION; 221 typedef struct CRL CRL; 222 typedef struct AC AC; 223 typedef struct USERLIST USERLIST; 224 225 226 // ============================================================== 227 // Protocol 228 // ============================================================== 229 230 typedef struct CHECK_CERT_THREAD_PROC CHECK_CERT_THREAD_PROC; 231 typedef struct SECURE_SIGN_THREAD_PROC SECURE_SIGN_THREAD_PROC; 232 typedef struct RAND_CACHE RAND_CACHE; 233 typedef struct BLACK BLACK; 234 typedef struct SEND_SIGNATURE_PARAM SEND_SIGNATURE_PARAM; 235 typedef struct UPDATE_CLIENT UPDATE_CLIENT; 236 typedef struct UPDATE_CLIENT_SETTING UPDATE_CLIENT_SETTING; 237 typedef struct HTTP_MIME_TYPE HTTP_MIME_TYPE; 238 typedef struct WS WS; 239 typedef struct WSP WSP; 240 241 242 // ============================================================== 243 // Link 244 // ============================================================== 245 246 typedef struct LINK LINK; 247 248 249 // ============================================================== 250 // Virtual 251 // ============================================================== 252 253 typedef struct ARP_ENTRY ARP_ENTRY; 254 typedef struct ARP_WAIT ARP_WAIT; 255 typedef struct IP_WAIT IP_WAIT; 256 typedef struct IP_PART IP_PART; 257 typedef struct IP_COMBINE IP_COMBINE; 258 typedef struct NAT_ENTRY NAT_ENTRY; 259 typedef struct TCP_OPTION TCP_OPTION; 260 typedef struct VH VH; 261 typedef struct VH_OPTION VH_OPTION; 262 typedef struct DHCP_LEASE DHCP_LEASE; 263 typedef struct NATIVE_NAT NATIVE_NAT; 264 typedef struct NATIVE_NAT_ENTRY NATIVE_NAT_ENTRY; 265 typedef struct DNS_PARSED_PACKET DNS_PARSED_PACKET; 266 267 268 // ============================================================== 269 // WPC 270 // ============================================================== 271 272 typedef struct INTERNET_SETTING INTERNET_SETTING; 273 typedef struct URL_DATA URL_DATA; 274 typedef struct WPC_ENTRY WPC_ENTRY; 275 typedef struct WPC_PACKET WPC_PACKET; 276 typedef struct WPC_CONNECT WPC_CONNECT; 277 278 // ============================================================== 279 // VLAN 280 // ============================================================== 281 282 typedef struct ROUTE_TRACKING ROUTE_TRACKING; 283 typedef struct VLAN VLAN; 284 typedef struct INSTANCE_LIST INSTANCE_LIST; 285 typedef struct VLAN_PARAM VLAN_PARAM; 286 287 #ifdef OS_UNIX 288 typedef struct UNIX_VLAN_LIST UNIX_VLAN_LIST; 289 #endif // OS_UNIX 290 291 // ============================================================== 292 // Null LAN 293 // ============================================================== 294 295 typedef struct NULL_LAN NULL_LAN; 296 297 298 // ============================================================== 299 // Bridge 300 // ============================================================== 301 302 typedef struct ETH ETH; 303 typedef struct BRIDGE BRIDGE; 304 typedef struct LOCALBRIDGE LOCALBRIDGE; 305 306 307 // ============================================================== 308 // Layer-3 Switch 309 // ============================================================== 310 311 typedef struct L3IF L3IF; 312 typedef struct L3SW L3SW; 313 typedef struct L3TABLE L3TABLE; 314 typedef struct L3ARPENTRY L3ARPENTRY; 315 typedef struct L3ARPWAIT L3ARPWAIT; 316 typedef struct L3PACKET L3PACKET; 317 318 319 // ============================================================== 320 // Client 321 // ============================================================== 322 323 typedef struct ACCOUNT ACCOUNT; 324 typedef struct CLIENT_CONFIG CLIENT_CONFIG; 325 typedef struct RPC_CLIENT_VERSION RPC_CLIENT_VERSION; 326 typedef struct RPC_CLIENT_PASSWORD RPC_CLIENT_PASSWORD; 327 typedef struct RPC_CLIENT_PASSWORD_SETTING RPC_CLIENT_PASSWORD_SETTING; 328 typedef struct RPC_CLIENT_ENUM_CA_ITEM RPC_CLIENT_ENUM_CA_ITEM; 329 typedef struct RPC_CLIENT_ENUM_CA RPC_CLIENT_ENUM_CA; 330 typedef struct RPC_CERT RPC_CERT; 331 typedef struct RPC_CLIENT_DELETE_CA RPC_CLIENT_DELETE_CA; 332 typedef struct RPC_GET_CA RPC_GET_CA; 333 typedef struct RPC_GET_ISSUER RPC_GET_ISSUER; 334 typedef struct RPC_CLIENT_ENUM_SECURE_ITEM RPC_CLIENT_ENUM_SECURE_ITEM; 335 typedef struct RPC_CLIENT_ENUM_SECURE RPC_CLIENT_ENUM_SECURE; 336 typedef struct RPC_USE_SECURE RPC_USE_SECURE; 337 typedef struct RPC_ENUM_OBJECT_IN_SECURE RPC_ENUM_OBJECT_IN_SECURE; 338 typedef struct RPC_CLIENT_CREATE_VLAN RPC_CLIENT_CREATE_VLAN; 339 typedef struct RPC_CLIENT_GET_VLAN RPC_CLIENT_GET_VLAN; 340 typedef struct RPC_CLIENT_SET_VLAN RPC_CLIENT_SET_VLAN; 341 typedef struct RPC_CLIENT_ENUM_VLAN_ITEM RPC_CLIENT_ENUM_VLAN_ITEM; 342 typedef struct RPC_CLIENT_ENUM_VLAN RPC_CLIENT_ENUM_VLAN; 343 typedef struct RPC_CLIENT_CREATE_ACCOUNT RPC_CLIENT_CREATE_ACCOUNT; 344 typedef struct RPC_CLIENT_ENUM_ACCOUNT_ITEM RPC_CLIENT_ENUM_ACCOUNT_ITEM; 345 typedef struct RPC_CLIENT_ENUM_ACCOUNT RPC_CLIENT_ENUM_ACCOUNT; 346 typedef struct RPC_CLIENT_DELETE_ACCOUNT RPC_CLIENT_DELETE_ACCOUNT; 347 typedef struct RPC_RENAME_ACCOUNT RPC_RENAME_ACCOUNT; 348 typedef struct RPC_CLIENT_GET_ACCOUNT RPC_CLIENT_GET_ACCOUNT; 349 typedef struct RPC_CLIENT_CONNECT RPC_CLIENT_CONNECT; 350 typedef struct RPC_CLIENT_GET_CONNECTION_STATUS RPC_CLIENT_GET_CONNECTION_STATUS; 351 typedef struct CLIENT_RPC_CONNECTION CLIENT_RPC_CONNECTION; 352 typedef struct CLIENT CLIENT; 353 typedef struct RPC_CLIENT_NOTIFY RPC_CLIENT_NOTIFY; 354 typedef struct REMOTE_CLIENT REMOTE_CLIENT; 355 typedef struct NOTIFY_CLIENT NOTIFY_CLIENT; 356 typedef struct UNIX_VLAN UNIX_VLAN; 357 typedef struct CM_SETTING CM_SETTING; 358 359 360 // ============================================================== 361 // Server 362 // ============================================================== 363 364 typedef struct HUB_LIST HUB_LIST; 365 typedef struct FARM_TASK FARM_TASK; 366 typedef struct FARM_MEMBER FARM_MEMBER; 367 typedef struct FARM_CONTROLLER FARM_CONTROLLER; 368 typedef struct SERVER_LISTENER SERVER_LISTENER; 369 typedef struct SERVER SERVER; 370 typedef struct RPC_ENUM_SESSION RPC_ENUM_SESSION; 371 typedef struct RPC_SESSION_STATUS RPC_SESSION_STATUS; 372 typedef struct CAPS CAPS; 373 typedef struct CAPSLIST CAPSLIST; 374 typedef struct LOG_FILE LOG_FILE; 375 typedef struct SYSLOG_SETTING SYSLOG_SETTING; 376 typedef struct HUB_SNAPSHOT HUB_SNAPSHOT; 377 typedef struct SERVER_SNAPSHOT SERVER_SNAPSHOT; 378 typedef struct SERVER_HUB_CREATE_HISTORY SERVER_HUB_CREATE_HISTORY; 379 typedef struct OPENVPN_SSTP_CONFIG OPENVPN_SSTP_CONFIG; 380 381 // ============================================================== 382 // Server Admin Tool 383 // ============================================================== 384 385 typedef struct ADMIN ADMIN; 386 typedef struct RPC_TEST RPC_TEST; 387 typedef struct RPC_SERVER_INFO RPC_SERVER_INFO; 388 typedef struct RPC_SERVER_STATUS RPC_SERVER_STATUS; 389 typedef struct RPC_LISTENER RPC_LISTENER; 390 typedef struct RPC_LISTENER_LIST RPC_LISTENER_LIST; 391 typedef struct RPC_STR RPC_STR; 392 typedef struct RPC_SET_PASSWORD RPC_SET_PASSWORD; 393 typedef struct RPC_FARM RPC_FARM; 394 typedef struct RPC_FARM_HUB RPC_FARM_HUB; 395 typedef struct RPC_FARM_INFO RPC_FARM_INFO; 396 typedef struct RPC_ENUM_FARM_ITEM RPC_ENUM_FARM_ITEM; 397 typedef struct RPC_ENUM_FARM RPC_ENUM_FARM; 398 typedef struct RPC_FARM_CONNECTION_STATUS RPC_FARM_CONNECTION_STATUS; 399 typedef struct RPC_KEY_PAIR RPC_KEY_PAIR; 400 typedef struct RPC_HUB_OPTION RPC_HUB_OPTION; 401 typedef struct RPC_RADIUS RPC_RADIUS; 402 typedef struct RPC_HUB RPC_HUB; 403 typedef struct RPC_CREATE_HUB RPC_CREATE_HUB; 404 typedef struct RPC_ENUM_HUB_ITEM RPC_ENUM_HUB_ITEM; 405 typedef struct RPC_ENUM_HUB RPC_ENUM_HUB; 406 typedef struct RPC_DELETE_HUB RPC_DELETE_HUB; 407 typedef struct RPC_ENUM_CONNECTION_ITEM RPC_ENUM_CONNECTION_ITEM; 408 typedef struct RPC_ENUM_CONNECTION RPC_ENUM_CONNECTION; 409 typedef struct RPC_DISCONNECT_CONNECTION RPC_DISCONNECT_CONNECTION; 410 typedef struct RPC_CONNECTION_INFO RPC_CONNECTION_INFO; 411 typedef struct RPC_SET_HUB_ONLINE RPC_SET_HUB_ONLINE; 412 typedef struct RPC_HUB_STATUS RPC_HUB_STATUS; 413 typedef struct RPC_HUB_LOG RPC_HUB_LOG; 414 typedef struct RPC_HUB_ADD_CA RPC_HUB_ADD_CA; 415 typedef struct RPC_HUB_ENUM_CA_ITEM RPC_HUB_ENUM_CA_ITEM; 416 typedef struct RPC_HUB_ENUM_CA RPC_HUB_ENUM_CA; 417 typedef struct RPC_HUB_GET_CA RPC_HUB_GET_CA; 418 typedef struct RPC_HUB_DELETE_CA RPC_HUB_DELETE_CA; 419 typedef struct RPC_CREATE_LINK RPC_CREATE_LINK; 420 typedef struct RPC_ENUM_LINK_ITEM RPC_ENUM_LINK_ITEM; 421 typedef struct RPC_ENUM_LINK RPC_ENUM_LINK; 422 typedef struct RPC_LINK_STATUS RPC_LINK_STATUS; 423 typedef struct RPC_LINK RPC_LINK; 424 typedef struct RPC_ENUM_ACCESS_LIST RPC_ENUM_ACCESS_LIST; 425 typedef struct RPC_ADD_ACCESS RPC_ADD_ACCESS; 426 typedef struct RPC_DELETE_ACCESS RPC_DELETE_ACCESS; 427 typedef struct RPC_SET_USER RPC_SET_USER; 428 typedef struct RPC_ENUM_USER_ITEM RPC_ENUM_USER_ITEM; 429 typedef struct RPC_ENUM_USER RPC_ENUM_USER; 430 typedef struct RPC_SET_GROUP RPC_SET_GROUP; 431 typedef struct RPC_ENUM_GROUP_ITEM RPC_ENUM_GROUP_ITEM; 432 typedef struct RPC_ENUM_GROUP RPC_ENUM_GROUP; 433 typedef struct RPC_DELETE_USER RPC_DELETE_USER; 434 typedef struct RPC_ENUM_SESSION_ITEM RPC_ENUM_SESSION_ITEM; 435 typedef struct RPC_DELETE_SESSION RPC_DELETE_SESSION; 436 typedef struct RPC_ENUM_MAC_TABLE_ITEM RPC_ENUM_MAC_TABLE_ITEM; 437 typedef struct RPC_ENUM_MAC_TABLE RPC_ENUM_MAC_TABLE; 438 typedef struct RPC_ENUM_IP_TABLE_ITEM RPC_ENUM_IP_TABLE_ITEM; 439 typedef struct RPC_ENUM_IP_TABLE RPC_ENUM_IP_TABLE; 440 typedef struct RPC_DELETE_TABLE RPC_DELETE_TABLE; 441 typedef struct RPC_KEEP RPC_KEEP; 442 typedef struct RPC_ENUM_ETH_ITEM RPC_ENUM_ETH_ITEM; 443 typedef struct RPC_ENUM_ETH RPC_ENUM_ETH; 444 typedef struct RPC_LOCALBRIDGE RPC_LOCALBRIDGE; 445 typedef struct RPC_ENUM_LOCALBRIDGE RPC_ENUM_LOCALBRIDGE; 446 typedef struct RPC_BRIDGE_SUPPORT RPC_BRIDGE_SUPPORT; 447 typedef struct RPC_CONFIG RPC_CONFIG; 448 typedef struct RPC_ADMIN_OPTION RPC_ADMIN_OPTION; 449 typedef struct RPC_L3SW RPC_L3SW; 450 typedef struct RPC_L3IF RPC_L3IF; 451 typedef struct RPC_L3TABLE RPC_L3TABLE; 452 typedef struct RPC_ENUM_L3SW_ITEM RPC_ENUM_L3SW_ITEM; 453 typedef struct RPC_ENUM_L3SW RPC_ENUM_L3SW; 454 typedef struct RPC_ENUM_L3IF RPC_ENUM_L3IF; 455 typedef struct RPC_ENUM_L3TABLE RPC_ENUM_L3TABLE; 456 typedef struct RPC_CRL RPC_CRL; 457 typedef struct RPC_ENUM_CRL_ITEM RPC_ENUM_CRL_ITEM; 458 typedef struct RPC_ENUM_CRL RPC_ENUM_CRL; 459 typedef struct RPC_INT RPC_INT; 460 typedef struct RPC_AC_LIST RPC_AC_LIST; 461 typedef struct RPC_ENUM_LOG_FILE_ITEM RPC_ENUM_LOG_FILE_ITEM; 462 typedef struct RPC_ENUM_LOG_FILE RPC_ENUM_LOG_FILE; 463 typedef struct RPC_READ_LOG_FILE RPC_READ_LOG_FILE; 464 typedef struct DOWNLOAD_PROGRESS DOWNLOAD_PROGRESS; 465 typedef struct RPC_RENAME_LINK RPC_RENAME_LINK; 466 typedef struct RPC_ENUM_LICENSE_KEY RPC_ENUM_LICENSE_KEY; 467 typedef struct RPC_ENUM_LICENSE_KEY_ITEM RPC_ENUM_LICENSE_KEY_ITEM; 468 typedef struct RPC_LICENSE_STATUS RPC_LICENSE_STATUS; 469 typedef struct RPC_ENUM_ETH_VLAN_ITEM RPC_ENUM_ETH_VLAN_ITEM; 470 typedef struct RPC_ENUM_ETH_VLAN RPC_ENUM_ETH_VLAN; 471 typedef struct RPC_MSG RPC_MSG; 472 typedef struct RPC_WINVER RPC_WINVER; 473 typedef struct RPC_ENUM_ETHERIP_ID RPC_ENUM_ETHERIP_ID; 474 typedef struct RPC_SPECIAL_LISTENER RPC_SPECIAL_LISTENER; 475 typedef struct RPC_AZURE_STATUS RPC_AZURE_STATUS; 476 477 478 // ============================================================== 479 // NAT 480 // ============================================================== 481 482 typedef struct NAT NAT; 483 typedef struct NAT_ADMIN NAT_ADMIN; 484 typedef struct RPC_DUMMY RPC_DUMMY; 485 typedef struct RPC_NAT_STATUS RPC_NAT_STATUS; 486 typedef struct RPC_NAT_INFO RPC_NAT_INFO; 487 typedef struct RPC_ENUM_NAT_ITEM RPC_ENUM_NAT_ITEM; 488 typedef struct RPC_ENUM_NAT RPC_ENUM_NAT; 489 typedef struct RPC_ENUM_DHCP_ITEM RPC_ENUM_DHCP_ITEM; 490 typedef struct RPC_ENUM_DHCP RPC_ENUM_DHCP; 491 492 493 // ============================================================== 494 // SecureNAT 495 // ============================================================== 496 497 typedef struct SNAT SNAT; 498 499 500 // ============================================================== 501 // WinUI 502 // ============================================================== 503 504 typedef struct LED LED; 505 typedef struct WIZARD WIZARD; 506 typedef struct WIZARD_PAGE WIZARD_PAGE; 507 typedef struct WINUI_UPDATE WINUI_UPDATE; 508 typedef struct WINUI_UPDATE_DLG_PARAM WINUI_UPDATE_DLG_PARAM; 509 510 511 512 // ============================================================== 513 // Console 514 // ============================================================== 515 516 typedef struct PARAM PARAM; 517 typedef struct PARAM_VALUE PARAM_VALUE; 518 typedef struct CONSOLE CONSOLE; 519 typedef struct LOCAL_CONSOLE_PARAM LOCAL_CONSOLE_PARAM; 520 typedef struct CMD CMD; 521 typedef struct CMD_EVAL_MIN_MAX CMD_EVAL_MIN_MAX; 522 523 524 // ============================================================== 525 // Command 526 // ============================================================== 527 528 typedef struct PS PS; 529 typedef struct PC PC; 530 typedef struct CT CT; 531 typedef struct CTC CTC; 532 typedef struct CTR CTR; 533 typedef struct TTC TTC; 534 typedef struct TTS TTS; 535 typedef struct TTS_WORKER TTS_WORKER; 536 typedef struct TTC_WORKER TTC_WORKER; 537 typedef struct TT_RESULT TT_RESULT; 538 typedef struct TTS_SOCK TTS_SOCK; 539 typedef struct TTC_SOCK TTC_SOCK; 540 typedef struct PT PT; 541 542 // ============================================================== 543 // EtherLogger 544 // ============================================================== 545 546 typedef struct EL EL; 547 typedef struct EL_DEVICE EL_DEVICE; 548 typedef struct EL_LICENSE_STATUS EL_LICENSE_STATUS; 549 typedef struct RPC_ADD_DEVICE RPC_ADD_DEVICE; 550 typedef struct RPC_DELETE_DEVICE RPC_DELETE_DEVICE; 551 typedef struct RPC_ENUM_DEVICE_ITEM RPC_ENUM_DEVICE_ITEM; 552 typedef struct RPC_ENUM_DEVICE RPC_ENUM_DEVICE; 553 typedef struct RPC_EL_LICENSE_STATUS RPC_EL_LICENSE_STATUS; 554 555 556 // ============================================================== 557 // Database 558 // ============================================================== 559 560 typedef struct LICENSE_PRODUCT LICENSE_PRODUCT; 561 typedef struct LICENSE_SYSTEM LICENSE_SYSTEM; 562 typedef struct LICENSE_DATA LICENSE_DATA; 563 typedef struct LICENSE LICENSE; 564 typedef struct LICENSE_STATUS LICENSE_STATUS; 565 typedef struct SECURE_PACK_FOLDER SECURE_PACK_FOLDER; 566 typedef struct WIDE_MACHINE_ID WIDE_MACHINE_ID; 567 typedef struct TRIAL_INFO TRIAL_INFO; 568 569 570 // ============================================================== 571 // IPsec 572 // ============================================================== 573 574 typedef struct IPSEC_SERVER IPSEC_SERVER; 575 typedef struct IPSEC_SERVICES IPSEC_SERVICES; 576 typedef struct ETHERIP_ID ETHERIP_ID; 577 578 579 // ============================================================== 580 // L2TP 581 // ============================================================== 582 583 typedef struct L2TP_SERVER L2TP_SERVER; 584 typedef struct L2TP_TUNNEL L2TP_TUNNEL; 585 typedef struct L2TP_SESSION L2TP_SESSION; 586 typedef struct L2TP_PACKET L2TP_PACKET; 587 typedef struct L2TP_AVP L2TP_AVP; 588 typedef struct L2TP_QUEUE L2TP_QUEUE; 589 590 591 // ============================================================== 592 // PPP 593 // ============================================================== 594 595 typedef struct PPP_SESSION PPP_SESSION; 596 typedef struct PPP_OPTION PPP_OPTION; 597 typedef struct PPP_LCP PPP_LCP; 598 typedef struct PPP_PACKET PPP_PACKET; 599 typedef struct PPP_IPOPTION PPP_IPOPTION; 600 601 602 // ============================================================== 603 // EtherIP 604 // ============================================================== 605 606 typedef struct ETHERIP_SERVER ETHERIP_SERVER; 607 608 609 // ============================================================== 610 // IKE 611 // ============================================================== 612 613 typedef struct IKE_SERVER IKE_SERVER; 614 typedef struct IKE_SA IKE_SA; 615 typedef struct IKE_SA_TRANSFORM_SETTING IKE_SA_TRANSFORM_SETTING; 616 typedef struct IKE_CLIENT IKE_CLIENT; 617 typedef struct IPSECSA IPSECSA; 618 typedef struct IKE_CAPS IKE_CAPS; 619 620 // ============================================================== 621 // IPSec Packet 622 // ============================================================== 623 624 typedef struct IKE_COMMON_HEADER IKE_COMMON_HEADER; 625 typedef struct IKE_SA_HEADER IKE_SA_HEADER; 626 typedef struct IKE_PROPOSAL_HEADER IKE_PROPOSAL_HEADER; 627 typedef struct IKE_TRANSFORM_HEADER IKE_TRANSFORM_HEADER; 628 typedef struct IKE_TRANSFORM_VALUE IKE_TRANSFORM_VALUE; 629 typedef struct IKE_ID_HEADER IKE_ID_HEADER; 630 typedef struct IKE_CERT_HEADER IKE_CERT_HEADER; 631 typedef struct IKE_CERT_REQUEST_HEADER IKE_CERT_REQUEST_HEADER; 632 typedef struct IKE_NOTICE_HEADER IKE_NOTICE_HEADER; 633 typedef struct IKE_DELETE_HEADER IKE_DELETE_HEADER; 634 typedef struct IKE_NAT_OA_HEADER IKE_NAT_OA_HEADER; 635 typedef struct IPSEC_SA_TRANSFORM_SETTING IPSEC_SA_TRANSFORM_SETTING; 636 637 typedef struct IKE_PACKET_SA_PAYLOAD IKE_PACKET_SA_PAYLOAD; 638 typedef struct IKE_PACKET_PROPOSAL_PAYLOAD IKE_PACKET_PROPOSAL_PAYLOAD; 639 typedef struct IKE_PACKET_TRANSFORM_PAYLOAD IKE_PACKET_TRANSFORM_PAYLOAD; 640 typedef struct IKE_PACKET_TRANSFORM_VALUE IKE_PACKET_TRANSFORM_VALUE; 641 typedef struct IKE_PACKET_DATA_PAYLOAD IKE_PACKET_DATA_PAYLOAD; 642 typedef struct IKE_PACKET_ID_PAYLOAD IKE_PACKET_ID_PAYLOAD; 643 typedef struct IKE_PACKET_CERT_PAYLOAD IKE_PACKET_CERT_PAYLOAD; 644 typedef struct IKE_PACKET_CERT_REQUEST_PAYLOAD IKE_PACKET_CERT_REQUEST_PAYLOAD; 645 typedef struct IKE_PACKET_NOTICE_PAYLOAD IKE_PACKET_NOTICE_PAYLOAD; 646 typedef struct IKE_PACKET_DELETE_PAYLOAD IKE_PACKET_DELETE_PAYLOAD; 647 typedef struct IKE_PACKET_NAT_OA_PAYLOAD IKE_PACKET_NAT_OA_PAYLOAD; 648 649 typedef struct IKE_PACKET_PAYLOAD IKE_PACKET_PAYLOAD; 650 typedef struct IKE_PACKET IKE_PACKET; 651 652 typedef struct IKE_P1_KEYSET IKE_P1_KEYSET; 653 654 typedef struct IKE_CRYPTO IKE_CRYPTO; 655 typedef struct IKE_HASH IKE_HASH; 656 typedef struct IKE_DH IKE_DH; 657 typedef struct IKE_ENGINE IKE_ENGINE; 658 typedef struct IKE_CRYPTO_KEY IKE_CRYPTO_KEY; 659 typedef struct IKE_CRYPTO_PARAM IKE_CRYPTO_PARAM; 660 661 662 // ============================================================== 663 // IPSec for Windows 7 / Vista / 2008 / 2008 R2 664 // ============================================================== 665 666 typedef struct IPSEC_WIN7 IPSEC_WIN7; 667 668 669 // ============================================================== 670 // In-Process VPN Client 671 // ============================================================== 672 673 typedef struct IPC IPC; 674 typedef struct IPC_ARP IPC_ARP; 675 typedef struct IPC_ASYNC IPC_ASYNC; 676 typedef struct IPC_PARAM IPC_PARAM; 677 typedef struct IPC_DHCP_RELESAE_QUEUE IPC_DHCP_RELESAE_QUEUE; 678 typedef struct IPC_MSCHAP_V2_AUTHINFO IPC_MSCHAP_V2_AUTHINFO; 679 typedef struct IPC_SESSION_SHARED_BUFFER_DATA IPC_SESSION_SHARED_BUFFER_DATA; 680 681 682 // ============================================================== 683 // UDP Acceleration 684 // ============================================================== 685 686 typedef struct UDP_ACCEL UDP_ACCEL; 687 688 689 // ============================================================== 690 // SSTP (Microsoft Secure Socket Tunneling Protocol) Stack 691 // ============================================================== 692 693 typedef struct SSTP_SERVER SSTP_SERVER; 694 typedef struct SSTP_PACKET SSTP_PACKET; 695 typedef struct SSTP_ATTRIBUTE SSTP_ATTRIBUTE; 696 697 698 // ============================================================== 699 // OpenVPN Protocol Stack 700 // ============================================================== 701 702 typedef struct OPENVPN_SERVER OPENVPN_SERVER; 703 typedef struct OPENVPN_SERVER_UDP OPENVPN_SERVER_UDP; 704 typedef struct OPENVPN_SESSION OPENVPN_SESSION; 705 typedef struct OPENVPN_CHANNEL OPENVPN_CHANNEL; 706 typedef struct OPENVPN_PACKET OPENVPN_PACKET; 707 typedef struct OPENVPN_CONTROL_PACKET OPENVPN_CONTROL_PACKET; 708 typedef struct OPENVPN_KEY_METHOD_2 OPENVPN_KEY_METHOD_2; 709 710 711 // ============================================================== 712 // Dynamic DNS Client 713 // ============================================================== 714 715 typedef struct DDNS_CLIENT DDNS_CLIENT; 716 typedef struct DDNS_REGISTER_PARAM DDNS_REGISTER_PARAM; 717 typedef struct DDNS_CLIENT_STATUS DDNS_CLIENT_STATUS; 718 719 720 // ============================================================== 721 // VPN Azure Client 722 // ============================================================== 723 typedef struct AZURE_CLIENT AZURE_CLIENT; 724 typedef struct AZURE_PARAM AZURE_PARAM; 725 726 727 // ============================================================== 728 // VPN Gate Service 729 // ============================================================== 730 731 typedef struct VGS VGS; 732 typedef struct VGS_CONFIG VGS_CONFIG; 733 typedef struct VGC VGC; 734 typedef struct VGHOST VGHOST; 735 typedef struct VGHOSTLIST VGHOSTLIST; 736 typedef struct VGHOSTDAT VGHOSTDAT; 737 typedef struct VGCPOLLTASK VGCPOLLTASK; 738 typedef struct VGS_LOG VGS_LOG; 739 typedef struct VGC_UDPHOST VGC_UDPHOST; 740 typedef struct MIRROR_SERVER MIRROR_SERVER; 741 742 743 // ============================================================== 744 // Native Stack 745 // ============================================================== 746 747 typedef struct NATIVE_STACK NATIVE_STACK; 748 typedef struct IPTABLES_STATE IPTABLES_STATE; 749 typedef struct IPTABLES_ENTRY IPTABLES_ENTRY; 750 751 752 // ============================================================== 753 // SeLow User-mode 754 // ============================================================== 755 756 typedef struct SU SU; 757 typedef struct SU_ADAPTER SU_ADAPTER; 758 typedef struct SU_ADAPTER_LIST SU_ADAPTER_LIST; 759 760 761 762 #endif // CEDARTYPE_H 763