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 // Command.h 103 // Header of Command.c 104 105 #ifndef COMMAND_H 106 #define COMMAND_H 107 108 // Constants 109 #define TRAFFIC_DEFAULT_PORT 9821 110 #define TRAFFIC_NUMTCP_MAX 32 111 #define TRAFFIC_NUMTCP_DEFAULT 32 112 #define TRAFFIC_SPAN_DEFAULT 15 113 #define TRAFFIC_TYPE_DOWNLOAD 1 114 #define TRAFFIC_TYPE_UPLOAD 2 115 #define TRAFFIC_TYPE_FULL 0 116 #define TRAFFIC_BUF_SIZE 65535 117 #define TRAFFIC_VER_STR_SIZE 16 118 #define TRAFFIC_VER_STR "TrafficServer\r\n" 119 120 // Constants for Win32 121 #define VPNCMD_BOOTSTRAP_REG_KEYNAME "Software\\" GC_REG_COMPANY_NAME "\\VPN Command Line Utility" 122 #define VPNCMD_BOOTSTRAP_REG_VALUENAME_VER "InstalledVersion" 123 #define VPNCMD_BOOTSTRAP_REG_VALUENAME_PATH "InstalledPath" 124 #define VPNCMD_BOOTSTRAP_FILENAME "|vpncmdsys.exe" 125 #define VPNCMD_BOOTSTRAP_FILENAME_X64 "|vpncmdsys_x64.exe" 126 #define VPNCMD_BOOTSTRAP_FILENAME_IA64 "|vpncmdsys_ia64.exe" 127 128 129 // Traffic test results 130 struct TT_RESULT 131 { 132 bool Raw; // Whether raw data 133 bool Double; // Whether it is doubled 134 UINT64 NumBytesUpload; // Uploaded size 135 UINT64 NumBytesDownload; // Downloaded size 136 UINT64 NumBytesTotal; // Total size 137 UINT64 Span; // Period (in milliseconds) 138 UINT64 BpsUpload; // Upload throughput 139 UINT64 BpsDownload; // Download throughput 140 UINT64 BpsTotal; // Total throughput 141 }; 142 143 // Text display function 144 typedef void (TT_PRINT_PROC)(void *param, wchar_t *str); 145 146 // Client side socket 147 struct TTC_SOCK 148 { 149 SOCK *Sock; // Socket 150 UINT State; // State 151 UINT64 NumBytes; // Transmitted bytes 152 bool Download; // Download socket 153 bool ServerUploadReportReceived; // Complete to receive the report of upload amount from the server 154 UINT64 NextSendRequestReportTick; // Time to request a next report 155 UINT Id; 156 bool HideErrMsg; 157 }; 158 159 // Traffic test Client 160 struct TTC 161 { 162 TT_PRINT_PROC *Print; // Text display function 163 void *Param; // Any parameters 164 bool Double; // Double mode 165 bool Raw; // Raw data mode 166 UINT Port; // Port number 167 char Host[MAX_HOST_NAME_LEN + 1]; // Host name 168 UINT NumTcp; // Number of TCP connections 169 UINT Type; // Type 170 UINT64 Span; // Period 171 UINT64 RealSpan; // The actual span 172 THREAD *Thread; // Thread 173 volatile bool Halt; // Halting flag 174 bool *Cancel; // Halting flag 2 175 LIST *ItcSockList; // Client socket list 176 TT_RESULT Result; // Result 177 UINT ErrorCode; // Error code 178 bool AbnormalTerminated; // Abnormal termination 179 EVENT *StartEvent; // Start event 180 EVENT *InitedEvent; // Initialize completion notification event 181 LIST *WorkerThreadList; // List of worker threads 182 183 UINT flag1, flag2; 184 185 UINT64 session_id; 186 UINT64 end_tick; 187 UINT64 start_tick; 188 }; 189 190 // Traffic test worker thread 191 struct TTC_WORKER 192 { 193 THREAD *WorkerThread; 194 TTC *Ttc; 195 LIST *SockList; // Client socket list 196 SOCK_EVENT *SockEvent; // Socket event 197 EVENT *StartEvent; // Start event 198 bool Ok; // The result 199 }; 200 201 // Server side socket 202 struct TTS_SOCK 203 { 204 SOCK *Sock; // Socket 205 UINT State; // State 206 UINT64 NumBytes; // Transmitted bytes 207 bool SockJoined; // Whether it has been added to the event 208 UINT Id; // ID 209 UINT64 LastWaitTick; // Retry waiting time to notify the size information to the client 210 UINT64 SessionId; // Session ID 211 bool NoMoreSendData; // Flag not to send more data 212 UINT64 FirstRecvTick; // Time which the data has been received last 213 UINT64 FirstSendTick; // Time which the data has been sent last 214 UINT64 Span; // Period 215 UINT64 GiveupSpan; 216 UINT64 LastCommTime; 217 }; 218 219 // Traffic test server 220 struct TTS 221 { 222 TT_PRINT_PROC *Print; // Text display function 223 void *Param; // Any parameters 224 volatile bool Halt; // Halting flag 225 UINT Port; // Port number 226 THREAD *Thread; // Thread 227 THREAD *IPv6AcceptThread; // IPv6 Accept thread 228 SOCK *ListenSocket; // Socket to wait 229 SOCK *ListenSocketV6; // Socket to wait (IPv6) 230 UINT ErrorCode; // Error code 231 UINT IdSeed; // ID value 232 LIST *WorkerList; // Worker threads list 233 }; 234 235 // Traffic test worker thread 236 struct TTS_WORKER 237 { 238 TTS *Tts; // TTS 239 THREAD *WorkThread; // Worker thread 240 SOCK_EVENT *SockEvent; // Socket event 241 LIST *TtsSockList; // Server socket list 242 bool NewSocketArrived; // New socket has arrived 243 }; 244 245 // VPN Tools context 246 struct PT 247 { 248 CONSOLE *Console; // Console 249 UINT LastError; // Last error 250 wchar_t *CmdLine; // Command line to execute 251 }; 252 253 // Server management context 254 struct PS 255 { 256 bool ConsoleForServer; // Console for the server (always true) 257 CONSOLE *Console; // Console 258 RPC *Rpc; // RPC 259 char *ServerName; // Server name 260 UINT ServerPort; // Port number 261 char *HubName; // Virtual HUB name in the currently managed 262 UINT LastError; // Last error 263 char *AdminHub; // Virtual HUB to be managed by default 264 wchar_t *CmdLine; // Command line to execute 265 CAPSLIST *CapsList; // Caps list 266 }; 267 268 // Client management context 269 struct PC 270 { 271 bool ConsoleForServer; // Console for the server (always false) 272 CONSOLE *Console; // Console 273 REMOTE_CLIENT *RemoteClient; // Remote client 274 char *ServerName; // Server name 275 UINT LastError; // Last error 276 wchar_t *CmdLine; // Command line 277 }; 278 279 // A column of the table 280 struct CTC 281 { 282 wchar_t *String; // String 283 bool Right; // Right justification 284 }; 285 286 // A row of the table 287 struct CTR 288 { 289 wchar_t **Strings; // String list 290 }; 291 292 // Table for console 293 struct CT 294 { 295 LIST *Columns; // Column list 296 LIST *Rows; // Row list 297 }; 298 299 UINT CommandMain(wchar_t *command_line); 300 UINT VpnCmdProc(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 301 bool ParseHostPort(char *src, char **host, UINT *port, UINT default_port); 302 bool ParseHostPortAtmark(char *src, char **host, UINT *port, UINT default_port); 303 CT *CtNew(); 304 void CtFree(CT *ct, CONSOLE *c); 305 void CtFreeEx(CT *ct, CONSOLE *c, bool standard_view); 306 void CtInsertColumn(CT *ct, wchar_t *str, bool right); 307 CT *CtNewStandard(); 308 CT *CtNewStandardEx(); 309 void CtInsert(CT *ct, ...); 310 void CtPrint(CT *ct, CONSOLE *c); 311 void CtPrintStandard(CT *ct, CONSOLE *c); 312 void CtPrintRow(CONSOLE *c, UINT num, UINT *widths, wchar_t **strings, bool *rights, char separate_char); 313 void VpnCmdInitBootPath(); 314 void OutRpcTtResult(PACK *p, TT_RESULT *t); 315 void InRpcTtResult(PACK *p, TT_RESULT *t); 316 317 void CmdPrintError(CONSOLE *c, UINT err); 318 void CmdPrintAbout(CONSOLE *c); 319 void CmdPrintRow(CONSOLE *c, wchar_t *title, wchar_t *tag, ...); 320 wchar_t *CmdPromptPort(CONSOLE *c, void *param); 321 wchar_t *CmdPromptChoosePassword(CONSOLE *c, void *param); 322 bool CmdEvalPort(CONSOLE *c, wchar_t *str, void *param); 323 void CmdInsertTrafficInfo(CT *ct, TRAFFIC *t); 324 wchar_t *GetHubTypeStr(UINT type); 325 wchar_t *GetServerTypeStr(UINT type); 326 char *CmdPasswordPrompt(CONSOLE *c); 327 bool CmdEvalIp(CONSOLE *c, wchar_t *str, void *param); 328 wchar_t *PsClusterSettingMemberPromptIp(CONSOLE *c, void *param); 329 bool CmdEvalHostAndPort(CONSOLE *c, wchar_t *str, void *param); 330 LIST *StrToPortList(char *str); 331 bool CmdEvalPortList(CONSOLE *c, wchar_t *str, void *param); 332 wchar_t *PsClusterSettingMemberPromptPorts(CONSOLE *c, void *param); 333 K *CmdLoadKey(CONSOLE *c, wchar_t *filename); 334 bool CmdLoadCertAndKey(CONSOLE *c, X **xx, K **kk, wchar_t *cert_filename, wchar_t *key_filename); 335 bool CmdEvalTcpOrUdp(CONSOLE *c, wchar_t *str, void *param); 336 wchar_t *GetConnectionTypeStr(UINT type); 337 bool CmdEvalHostAndSubnetMask4(CONSOLE *c, wchar_t *str, void *param); 338 bool CmdEvalNetworkAndSubnetMask4(CONSOLE *c, wchar_t *str, void *param); 339 bool CmdEvalNetworkAndSubnetMask6(CONSOLE *c, wchar_t *str, void *param); 340 bool CmdEvalNetworkAndSubnetMask46(CONSOLE *c, wchar_t *str, void *param); 341 bool CmdEvalIpAndMask4(CONSOLE *c, wchar_t *str, void *param); 342 bool CmdEvalIpAndMask6(CONSOLE *c, wchar_t *str, void *param); 343 bool CmdEvalIpAndMask46(CONSOLE *c, wchar_t *str, void *param); 344 wchar_t *GetLogSwitchStr(UINT i); 345 wchar_t *GetPacketLogNameStr(UINT i); 346 UINT StrToLogSwitchType(char *str); 347 UINT StrToPacketLogType(char *str); 348 UINT StrToPacketLogSaveInfoType(char *str); 349 wchar_t *GetProxyTypeStr(UINT i); 350 wchar_t *GetClientAuthTypeStr(UINT i); 351 void PrintPolicyList(CONSOLE *c, char *name); 352 void PrintPolicy(CONSOLE *c, POLICY *pol, bool cascade_mode); 353 bool EditPolicy(CONSOLE *c, POLICY *pol, char *name, char *value, bool cascade_mode); 354 void CmdPrintStatusToListView(CT *ct, RPC_CLIENT_GET_CONNECTION_STATUS *s); 355 void CmdPrintStatusToListViewEx(CT *ct, RPC_CLIENT_GET_CONNECTION_STATUS *s, bool server_mode); 356 bool CmdEvalPassOrDiscard(CONSOLE *c, wchar_t *str, void *param); 357 bool StrToPassOrDiscard(char *str); 358 bool CmdEvalProtocol(CONSOLE *c, wchar_t *str, void *param); 359 UINT StrToProtocol(char *str); 360 bool CmdEvalPortRange(CONSOLE *c, wchar_t *str, void *param); 361 bool ParsePortRange(char *str, UINT *start, UINT *end); 362 wchar_t *GetAuthTypeStr(UINT id); 363 UINT64 StrToDateTime64(char *str); 364 bool CmdEvalDateTime(CONSOLE *c, wchar_t *str, void *param); 365 void CmdPrintNodeInfo(CT *ct, NODE_INFO *info); 366 wchar_t *GetProtocolName(UINT n); 367 void CmdGenerateImportName(REMOTE_CLIENT *r, wchar_t *name, UINT size, wchar_t *old_name); 368 bool CmdIsAccountName(REMOTE_CLIENT *r, wchar_t *name); 369 wchar_t *GetSyslogSettingName(UINT n); 370 371 372 void TtPrint(void *param, TT_PRINT_PROC *print_proc, wchar_t *str); 373 void TtGenerateRandomData(UCHAR **buf, UINT *size); 374 void TtsWorkerThread(THREAD *thread, void *param); 375 void TtsListenThread(THREAD *thread, void *param); 376 void TtsAcceptProc(TTS *tts, SOCK *listen_socket); 377 void TtsIPv6AcceptThread(THREAD *thread, void *param); 378 wchar_t *GetTtcTypeStr(UINT type); 379 void TtcPrintSummary(TTC *ttc); 380 void StopTtc(TTC *ttc); 381 void TtcGenerateResult(TTC *ttc); 382 void TtcThread(THREAD *thread, void *param); 383 TTC *NewTtcEx(char *host, UINT port, UINT numtcp, UINT type, UINT64 span, bool dbl, bool raw, TT_PRINT_PROC *print_proc, void *param, EVENT *start_event, bool *cancel); 384 TTC *NewTtc(char *host, UINT port, UINT numtcp, UINT type, UINT64 span, bool dbl, bool raw, TT_PRINT_PROC *print_proc, void *param); 385 UINT FreeTtc(TTC *ttc, TT_RESULT *result); 386 TTS *NewTts(UINT port, void *param, TT_PRINT_PROC *print_proc); 387 UINT FreeTts(TTS *tts); 388 void PtTrafficPrintProc(void *param, wchar_t *str); 389 void TtcPrintResult(CONSOLE *c, TT_RESULT *res); 390 391 392 bool SystemCheck(); 393 bool CheckKernel(); 394 bool CheckMemory(); 395 bool CheckStrings(); 396 bool CheckFileSystem(); 397 bool CheckThread(); 398 bool CheckNetwork(); 399 void InputToNull(void *p); 400 UINT RetZero(); 401 402 void Win32CmdDebug(bool is_uac); 403 404 405 UINT PtConnect(CONSOLE *c, wchar_t *cmdline); 406 PT *NewPt(CONSOLE *c, wchar_t *cmdline); 407 void FreePt(PT *pt); 408 void PtMain(PT *pt); 409 UINT PtMakeCert(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 410 UINT PtMakeCert2048(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 411 UINT PtTrafficClient(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 412 UINT PtTrafficServer(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 413 UINT PtCheck(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 414 415 416 UINT PcConnect(CONSOLE *c, char *target, wchar_t *cmdline, char *password); 417 PC *NewPc(CONSOLE *c, REMOTE_CLIENT *remote_client, char *servername, wchar_t *cmdline); 418 void FreePc(PC *pc); 419 void PcMain(PC *pc); 420 UINT PcAbout(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 421 UINT PcVersionGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 422 UINT PcPasswordSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 423 UINT PcPasswordGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 424 UINT PcCertList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 425 UINT PcCertAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 426 UINT PcCertDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 427 UINT PcCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 428 UINT PcSecureList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 429 UINT PcSecureSelect(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 430 UINT PcSecureGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 431 UINT PcNicCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 432 UINT PcNicDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 433 UINT PcNicUpgrade(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 434 UINT PcNicGetSetting(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 435 UINT PcNicSetSetting(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 436 UINT PcNicEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 437 UINT PcNicDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 438 UINT PcNicList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 439 UINT PcAccountList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 440 UINT PcAccountCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 441 UINT PcAccountSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 442 UINT PcAccountGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 443 UINT PcAccountDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 444 UINT PcAccountUsernameSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 445 UINT PcAccountAnonymousSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 446 UINT PcAccountPasswordSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 447 UINT PcAccountCertSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 448 UINT PcAccountCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 449 UINT PcAccountEncryptDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 450 UINT PcAccountEncryptEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 451 UINT PcAccountCompressEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 452 UINT PcAccountCompressDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 453 UINT PcAccountProxyNone(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 454 UINT PcAccountProxyHttp(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 455 UINT PcAccountProxySocks(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 456 UINT PcAccountServerCertEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 457 UINT PcAccountServerCertDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 458 UINT PcAccountServerCertSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 459 UINT PcAccountServerCertDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 460 UINT PcAccountServerCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 461 UINT PcAccountDetailSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 462 UINT PcAccountRename(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 463 UINT PcAccountConnect(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 464 UINT PcAccountDisconnect(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 465 UINT PcAccountStatusGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 466 UINT PcAccountNicSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 467 UINT PcAccountStatusShow(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 468 UINT PcAccountStatusHide(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 469 UINT PcAccountSecureCertSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 470 UINT PcAccountRetrySet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 471 UINT PcAccountStartupSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 472 UINT PcAccountStartupRemove(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 473 UINT PcAccountExport(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 474 UINT PcAccountImport(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 475 UINT PcRemoteEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 476 UINT PcRemoteDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 477 UINT PcKeepEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 478 UINT PcKeepDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 479 UINT PcKeepSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 480 UINT PcKeepGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 481 482 483 PS *NewPs(CONSOLE *c, RPC *rpc, char *servername, UINT serverport, char *hubname, char *adminhub, wchar_t *cmdline); 484 void FreePs(PS *ps); 485 UINT PsConnect(CONSOLE *c, char *host, UINT port, char *hub, char *adminhub, wchar_t *cmdline, char *password); 486 void PsMain(PS *ps); 487 UINT PsAbout(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 488 UINT PsServerInfoGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 489 UINT PsServerStatusGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 490 UINT PsListenerCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 491 UINT PsListenerDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 492 UINT PsListenerList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 493 UINT PsListenerEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 494 UINT PsListenerDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 495 UINT PsServerPasswordSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 496 UINT PsClusterSettingGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 497 UINT PsClusterSettingStandalone(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 498 UINT PsClusterSettingController(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 499 UINT PsClusterSettingMember(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 500 UINT PsClusterMemberList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 501 UINT PsClusterMemberInfoGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 502 UINT PsClusterMemberCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 503 UINT PsClusterConnectionStatusGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 504 UINT PsCrash(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 505 UINT PsFlush(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 506 UINT PsDebug(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 507 UINT PsServerCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 508 UINT PsServerKeyGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 509 UINT PsServerCertSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 510 UINT PsServerCipherGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 511 UINT PsServerCipherSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 512 UINT PsKeepEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 513 UINT PsKeepDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 514 UINT PsKeepSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 515 UINT PsKeepGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 516 UINT PsSyslogGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 517 UINT PsSyslogDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 518 UINT PsSyslogEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 519 UINT PsConnectionList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 520 UINT PsConnectionGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 521 UINT PsConnectionDisconnect(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 522 UINT PsBridgeDeviceList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 523 UINT PsBridgeList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 524 UINT PsBridgeCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 525 UINT PsBridgeDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 526 UINT PsCaps(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 527 UINT PsReboot(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 528 UINT PsConfigGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 529 UINT PsConfigSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 530 UINT PsRouterList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 531 UINT PsRouterAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 532 UINT PsRouterDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 533 UINT PsRouterStart(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 534 UINT PsRouterStop(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 535 UINT PsRouterIfList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 536 UINT PsRouterIfAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 537 UINT PsRouterIfDel(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 538 UINT PsRouterTableList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 539 UINT PsRouterTableAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 540 UINT PsRouterTableDel(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 541 UINT PsLogFileList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 542 UINT PsLogFileGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 543 UINT PsHubCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 544 UINT PsHubCreateDynamic(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 545 UINT PsHubCreateStatic(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 546 UINT PsHubDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 547 UINT PsHubSetStatic(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 548 UINT PsHubSetDynamic(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 549 UINT PsHubList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 550 UINT PsHub(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 551 UINT PsOnline(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 552 UINT PsOffline(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 553 UINT PsSetMaxSession(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 554 UINT PsSetHubPassword(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 555 UINT PsSetEnumAllow(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 556 UINT PsSetEnumDeny(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 557 UINT PsOptionsGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 558 UINT PsRadiusServerSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 559 UINT PsRadiusServerDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 560 UINT PsRadiusServerGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 561 UINT PsStatusGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 562 UINT PsLogGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 563 UINT PsLogEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 564 UINT PsLogDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 565 UINT PsLogSwitchSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 566 UINT PsLogPacketSaveType(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 567 UINT PsCAList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 568 UINT PsCAAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 569 UINT PsCADelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 570 UINT PsCAGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 571 UINT PsCascadeList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 572 UINT PsCascadeCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 573 UINT PsCascadeSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 574 UINT PsCascadeGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 575 UINT PsCascadeDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 576 UINT PsCascadeUsernameSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 577 UINT PsCascadeAnonymousSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 578 UINT PsCascadePasswordSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 579 UINT PsCascadeCertSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 580 UINT PsCascadeCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 581 UINT PsCascadeEncryptEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 582 UINT PsCascadeEncryptDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 583 UINT PsCascadeCompressEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 584 UINT PsCascadeCompressDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 585 UINT PsCascadeProxyNone(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 586 UINT PsCascadeProxyHttp(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 587 UINT PsCascadeProxySocks(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 588 UINT PsCascadeServerCertEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 589 UINT PsCascadeServerCertDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 590 UINT PsCascadeServerCertSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 591 UINT PsCascadeServerCertDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 592 UINT PsCascadeServerCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 593 UINT PsCascadeDetailSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 594 UINT PsCascadePolicyRemove(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 595 UINT PsCascadePolicySet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 596 UINT PsPolicyList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 597 UINT PsCascadeStatusGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 598 UINT PsCascadeRename(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 599 UINT PsCascadeOnline(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 600 UINT PsCascadeOffline(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 601 UINT PsAccessAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 602 UINT PsAccessAddEx(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 603 UINT PsAccessAdd6(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 604 UINT PsAccessAddEx6(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 605 UINT PsAccessList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 606 UINT PsAccessDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 607 UINT PsAccessEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 608 UINT PsAccessDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 609 UINT PsUserList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 610 UINT PsUserCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 611 UINT PsUserSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 612 UINT PsUserDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 613 UINT PsUserGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 614 UINT PsUserAnonymousSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 615 UINT PsUserPasswordSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 616 UINT PsUserCertSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 617 UINT PsUserCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 618 UINT PsUserSignedSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 619 UINT PsUserRadiusSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 620 UINT PsUserNTLMSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 621 UINT PsUserPolicyRemove(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 622 UINT PsUserPolicySet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 623 UINT PsUserExpiresSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 624 UINT PsGroupList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 625 UINT PsGroupCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 626 UINT PsGroupSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 627 UINT PsGroupDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 628 UINT PsGroupGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 629 UINT PsGroupJoin(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 630 UINT PsGroupUnjoin(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 631 UINT PsGroupPolicyRemove(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 632 UINT PsGroupPolicySet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 633 UINT PsSessionList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 634 UINT PsSessionGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 635 UINT PsSessionDisconnect(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 636 UINT PsMacTable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 637 UINT PsMacDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 638 UINT PsIpTable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 639 UINT PsIpDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 640 UINT PsSecureNatEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 641 UINT PsSecureNatDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 642 UINT PsSecureNatStatusGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 643 UINT PsSecureNatHostGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 644 UINT PsSecureNatHostSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 645 UINT PsNatGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 646 UINT PsNatEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 647 UINT PsNatDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 648 UINT PsNatSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 649 UINT PsNatTable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 650 UINT PsDhcpGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 651 UINT PsDhcpEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 652 UINT PsDhcpDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 653 UINT PsDhcpSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 654 UINT PsDhcpTable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 655 UINT PsAdminOptionList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 656 UINT PsAdminOptionSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 657 UINT PsExtOptionList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 658 UINT PsExtOptionSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 659 UINT PsCrlList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 660 UINT PsCrlAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 661 UINT PsCrlDel(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 662 UINT PsCrlGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 663 UINT PsAcList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 664 UINT PsAcAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 665 UINT PsAcAdd6(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 666 UINT PsAcGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 667 UINT PsAcDel(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 668 UINT PsLicenseAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 669 UINT PsLicenseDel(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 670 UINT PsLicenseList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 671 UINT PsLicenseStatus(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 672 UINT PsIPsecEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 673 UINT PsIPsecGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 674 UINT PsEtherIpClientAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 675 UINT PsEtherIpClientDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 676 UINT PsEtherIpClientList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 677 UINT PsOpenVpnEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 678 UINT PsOpenVpnGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 679 UINT PsOpenVpnMakeConfig(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 680 UINT PsSstpEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 681 UINT PsSstpGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 682 UINT PsServerCertRegenerate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 683 UINT PsVpnOverIcmpDnsEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 684 UINT PsVpnOverIcmpDnsGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 685 UINT PsDynamicDnsGetStatus(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 686 UINT PsDynamicDnsSetHostname(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 687 UINT PsVpnAzureSetEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 688 UINT PsVpnAzureGetStatus(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); 689 690 691 #endif // COMMAND_H 692 693 694