source: lab.git/Dev/utvpn/utvpn-unix-v101-7101-public/src/Cedar/Command.h @ a1bae3e

trunk
Last change on this file since a1bae3e was a1bae3e, checked in by mitty <mitty@…>, 12 years ago
  • copy vendor drop to trunk

git-svn-id: https://lab.mitty.jp/svn/lab/trunk@147 7d2118f6-f56c-43e7-95a2-4bb3031d96e7

  • Property mode set to 100644
File size: 34.3 KB
Line 
1// SoftEther UT-VPN SourceCode
2//
3// Copyright (C) 2004-2010 SoftEther Corporation.
4// Copyright (C) 2004-2010 University of Tsukuba, Japan.
5// Copyright (C) 2003-2010 Daiyuu Nobori.
6// All Rights Reserved.
7//
8// http://utvpn.tsukuba.ac.jp/
9//
10// This program is free software; you can redistribute it and/or
11// modify it under the terms of the GNU General Public License
12// version 2 as published by the Free Software Foundation.
13//
14// This program is distributed in the hope that it will be useful,
15// but WITHOUT ANY WARRANTY; without even the implied warranty of
16// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17// GNU General Public License for more details.
18//
19// You should have received a copy of the GNU General Public License version 2
20// along with this program; if not, write to the Free Software
21// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22//
23// このファイルは GPL バージョン 2 ライセンスで公開されています。
24// 誰でもこのファイルの内容を複製、改変したり、改変したバージョンを再配布
25// することができます。ただし、原著作物を改変した場合は、原著作物の著作権表示
26// を除去することはできません。改変した著作物を配布する場合は、改変実施者の
27// 著作権表示を原著作物の著作権表示に付随して記載するようにしてください。
28//
29// この SoftEther UT-VPN オープンソース・プロジェクトは、日本国の
30// ソフトイーサ株式会社 (SoftEther Corporation, http://www.softether.co.jp/ )
31// および筑波大学 (University of Tsukuba, http://www.tsukuba.ac.jp/ ) によって
32// ホストされています。
33// 本プログラムの配布者は、本プログラムを、業としての利用以外のため、
34// および、試験または研究のために利用が行われることを想定して配布
35// しています。
36// SoftEther UT-VPN プロジェクトの Web サイトは http://utvpn.tsukuba.ac.jp/ に
37// あります。
38// 本ソフトウェアの不具合の修正、機能改良、セキュリティホールの修復などのコード
39// の改変を行った場合で、その成果物を SoftEther UT-VPN プロジェクトに提出して
40// いただける場合は、 http://utvpn.tsukuba.ac.jp/ までソースコードを送付して
41// ください。SoftEther UT-VPN プロジェクトの本体リリースまたはブランチリリース
42// に組み込みさせていただきます。
43//
44// GPL に基づいて原著作物が提供される本ソフトウェアの改良版を配布、販売する
45// 場合は、そのソースコードを GPL に基づいて誰にでも開示する義務が生じます。
46//
47// 本ソフトウェアに関連する著作権、特許権、商標権はソフトイーサ株式会社
48// (SoftEther Corporation) およびその他の著作権保持者が保有しています。
49// ソフトイーサ株式会社等はこれらの権利を放棄していません。本ソフトウェアの
50// 二次著作物を配布、販売する場合は、これらの権利を侵害しないようにご注意
51// ください。
52//
53// お願い: どのような通信ソフトウェアにも通常は必ず未発見の
54// セキュリティホールが潜んでいます。本ソースコードをご覧いただいた結果、
55// UT-VPN にセキュリティホールを発見された場合は、当該セキュリティホールの
56// 情報を不特定多数に開示される前に、必ず、ソフトイーサ株式会社
57// および脆弱性情報の届出を受け付ける公的機関まで通報いただき、
58// 公益保護にご協力いただきますようお願い申し上げます。
59//
60// ソフトイーサ株式会社は、当該セキュリティホールについて迅速に対処を
61// 行い、UT-VPN および UT-VPN に関連するソフトウェアのユーザー・顧客
62// を保護するための努力を行います。
63//
64// ソフトイーサへの届出先: http://www.softether.co.jp/jp/contact/
65// 日本国内の脆弱性情報届出受付公的機関:
66//         独立行政法人 情報処理推進機構
67//         http://www.ipa.go.jp/security/vuln/report/
68//
69// 上記各事項について不明な点は、ソフトイーサ株式会社までご連絡ください。
70// 連絡先: http://www.softether.co.jp/jp/contact/
71
72// -----------------------------------------------
73// [ChangeLog]
74// 2010.05.20
75//  新規リリース by SoftEther
76// -----------------------------------------------
77
78// Command.h
79// Command.c のヘッダ
80
81#ifndef COMMAND_H
82#define COMMAND_H
83
84// 定数
85#define TRAFFIC_DEFAULT_PORT        9821
86#define TRAFFIC_NUMTCP_MAX          32
87#define TRAFFIC_NUMTCP_DEFAULT      32
88#define TRAFFIC_SPAN_DEFAULT        15
89#define TRAFFIC_TYPE_DOWNLOAD       1
90#define TRAFFIC_TYPE_UPLOAD         2
91#define TRAFFIC_TYPE_FULL           0
92#define TRAFFIC_BUF_SIZE            65535
93#define TRAFFIC_VER_STR_SIZE        16
94#define TRAFFIC_VER_STR             "TrafficServer\r\n"
95
96// Win32 用定数
97#define VPNCMD_BOOTSTRAP_REG_KEYNAME    "Software\\SoftEther Corporation\\UT-VPN Command Line Utility"
98#define VPNCMD_BOOTSTRAP_REG_VALUENAME_VER  "InstalledVersion"
99#define VPNCMD_BOOTSTRAP_REG_VALUENAME_PATH "InstalledPath"
100#define VPNCMD_BOOTSTRAP_FILENAME       "|utvpncmdsys.exe"
101#define VPNCMD_BOOTSTRAP_FILENAME_X64   "|utvpncmdsys_x64.exe"
102#define VPNCMD_BOOTSTRAP_FILENAME_IA64  "|utvpncmdsys_ia64.exe"
103
104
105// トラフィックテスト結果
106struct TT_RESULT
107{
108    bool Raw;                   // 生データかどうか
109    bool Double;                // 2 倍にしているかどうか
110    UINT64 NumBytesUpload;      // アップロードしたサイズ
111    UINT64 NumBytesDownload;    // ダウンロードしたサイズ
112    UINT64 NumBytesTotal;       // 合計サイズ
113    UINT64 Span;                // 期間 (ミリ秒)
114    UINT64 BpsUpload;           // アップロードスループット
115    UINT64 BpsDownload;         // ダウンロードスループット
116    UINT64 BpsTotal;            // 合計スループット
117};
118
119// 文字表示関数
120typedef void (TT_PRINT_PROC)(void *param, wchar_t *str);
121
122// クライアント側ソケット
123struct TTC_SOCK
124{
125    SOCK *Sock;             // ソケット
126    UINT State;             // ステート
127    UINT64 NumBytes;        // 伝送したバイト数
128    bool Download;          // ダウンロードソケット
129    bool ServerUploadReportReceived;    // サーバーからのアップロード量レポートの受信完了
130    UINT64 NextSendRequestReportTick;   // 次にレポートをリクエストする時刻
131    UINT Id;
132};
133
134// トラフィックテストクライアント
135struct TTC
136{
137    TT_PRINT_PROC *Print;   // 文字表示関数
138    void *Param;            // 任意のパラメータ
139    bool Double;            // 2 倍モード
140    bool Raw;               // 生データモード
141    UINT Port;              // ポート番号
142    char Host[MAX_HOST_NAME_LEN + 1];   // ホスト名
143    UINT NumTcp;            // TCP コネクション数
144    UINT Type;              // 種類
145    UINT64 Span;            // 期間
146    UINT64 RealSpan;        // 実際の期間
147    THREAD *Thread;         // スレッド
148    volatile bool Halt;     // 停止フラグ
149    SOCK_EVENT *SockEvent;  // ソケットイベント
150    LIST *ItcSockList;      // クライアントソケットリスト
151    TT_RESULT Result;       // 結果
152    UINT ErrorCode;         // エラーコード
153    bool AbnormalTerminated;    // 異常終了
154    EVENT *StartEvent;      // 開始イベント
155    EVENT *InitedEvent;     // 初期化完了通知イベント
156};
157
158// サーバー側ソケット
159struct TTS_SOCK
160{
161    SOCK *Sock;             // ソケット
162    UINT State;             // ステート
163    UINT64 NumBytes;        // 伝送したバイト数
164    bool SockJoined;        // イベントに追加されたかどうか
165    UINT Id;                // ID
166    UINT64 LastWaitTick;    // クライアントにサイズ情報を通知するための再試行待機時間
167};
168
169// トラフィックテストサーバー
170struct TTS
171{
172    TT_PRINT_PROC *Print;   // 文字表示関数
173    void *Param;            // 任意のパラメータ
174    volatile bool Halt;     // 停止フラグ
175    UINT Port;              // ポート番号
176    THREAD *Thread;         // スレッド
177    THREAD *WorkThread;     // ワーカースレッド
178    THREAD *IPv6AcceptThread;   // IPv6 Accept スレッド
179    SOCK *ListenSocket;     // 待機するソケット
180    SOCK *ListenSocketV6;   // 待機するソケット (IPv6)
181    UINT ErrorCode;         // エラーコード
182    SOCK_EVENT *SockEvent;  // ソケットイベント
183    LIST *TtsSockList;      // サーバーソケットリスト
184    bool NewSocketArrived;  // 新しいソケットが到着している
185    UINT IdSeed;            // ID 値
186};
187
188// VPN Tools コンテキスト
189struct PT
190{
191    CONSOLE *Console;   // コンソール
192    UINT LastError;     // 最後のエラー
193    wchar_t *CmdLine;   // 実行するコマンドライン
194};
195
196// サーバー管理コンテキスト
197struct PS
198{
199    bool ConsoleForServer;  // サーバーのためのコンソール (常に true)
200    CONSOLE *Console;   // コンソール
201    RPC *Rpc;           // RPC
202    char *ServerName;   // サーバー名
203    UINT ServerPort;    // ポート番号
204    char *HubName;      // 現在管理対象にある仮想 HUB 名
205    UINT LastError;     // 最後のエラー
206    char *AdminHub;     // デフォルトで管理する仮想 HUB
207    wchar_t *CmdLine;   // 実行するコマンドライン
208    CAPSLIST *CapsList; // Caps リスト
209};
210
211// クライアント管理コンテキスト
212struct PC
213{
214    bool ConsoleForServer;  // サーバーのためのコンソール (常に false)
215    CONSOLE *Console;   // コンソール
216    REMOTE_CLIENT *RemoteClient;    // リモートクライアント
217    char *ServerName;   // サーバー名
218    UINT LastError;     // 最後のエラー
219    wchar_t *CmdLine;   // コマンドライン
220};
221
222// テーブルのカラム
223struct CTC
224{
225    wchar_t *String;    // 文字列
226    bool Right;         // 右寄せ
227};
228
229// テーブルの行
230struct CTR
231{
232    wchar_t **Strings;  // 文字列リスト
233};
234
235// コンソール用テーブル
236struct CT
237{
238    LIST *Columns;      // カラム一覧
239    LIST *Rows;         // 行一覧
240};
241
242UINT CommandMain(wchar_t *command_line);
243UINT VpnCmdProc(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
244bool ParseHostPort(char *src, char **host, UINT *port, UINT default_port);
245bool ParseHostPortAtmark(char *src, char **host, UINT *port, UINT default_port);
246CT *CtNew();
247void CtFree(CT *ct, CONSOLE *c);
248void CtFreeEx(CT *ct, CONSOLE *c, bool standard_view);
249void CtInsertColumn(CT *ct, wchar_t *str, bool right);
250CT *CtNewStandard();
251CT *CtNewStandardEx();
252void CtInsert(CT *ct, ...);
253void CtPrint(CT *ct, CONSOLE *c);
254void CtPrintStandard(CT *ct, CONSOLE *c);
255void CtPrintRow(CONSOLE *c, UINT num, UINT *widths, wchar_t **strings, bool *rights, char separate_char);
256void VpnCmdInitBootPath();
257void OutRpcTtResult(PACK *p, TT_RESULT *t);
258void InRpcTtResult(PACK *p, TT_RESULT *t);
259
260void CmdPrintError(CONSOLE *c, UINT err);
261void CmdPrintAbout(CONSOLE *c);
262void CmdPrintRow(CONSOLE *c, wchar_t *title, wchar_t *tag, ...);
263wchar_t *CmdPromptPort(CONSOLE *c, void *param);
264wchar_t *CmdPromptChoosePassword(CONSOLE *c, void *param);
265bool CmdEvalPort(CONSOLE *c, wchar_t *str, void *param);
266void CmdInsertTrafficInfo(CT *ct, TRAFFIC *t);
267wchar_t *GetHubTypeStr(UINT type);
268wchar_t *GetServerTypeStr(UINT type);
269char *CmdPasswordPrompt(CONSOLE *c);
270bool CmdEvalIp(CONSOLE *c, wchar_t *str, void *param);
271wchar_t *PsClusterSettingMemberPromptIp(CONSOLE *c, void *param);
272bool CmdEvalHostAndPort(CONSOLE *c, wchar_t *str, void *param);
273LIST *StrToPortList(char *str);
274bool CmdEvalPortList(CONSOLE *c, wchar_t *str, void *param);
275wchar_t *PsClusterSettingMemberPromptPorts(CONSOLE *c, void *param);
276K *CmdLoadKey(CONSOLE *c, char *filename);
277bool CmdLoadCertAndKey(CONSOLE *c, X **xx, K **kk, char *cert_filename, char *key_filename);
278bool CmdEvalTcpOrUdp(CONSOLE *c, wchar_t *str, void *param);
279wchar_t *GetConnectionTypeStr(UINT type);
280bool CmdEvalHostAndSubnetMask4(CONSOLE *c, wchar_t *str, void *param);
281bool CmdEvalNetworkAndSubnetMask4(CONSOLE *c, wchar_t *str, void *param);
282bool CmdEvalNetworkAndSubnetMask6(CONSOLE *c, wchar_t *str, void *param);
283bool CmdEvalNetworkAndSubnetMask46(CONSOLE *c, wchar_t *str, void *param);
284bool CmdEvalIpAndMask4(CONSOLE *c, wchar_t *str, void *param);
285bool CmdEvalIpAndMask6(CONSOLE *c, wchar_t *str, void *param);
286bool CmdEvalIpAndMask46(CONSOLE *c, wchar_t *str, void *param);
287wchar_t *GetLogSwitchStr(UINT i);
288wchar_t *GetPacketLogNameStr(UINT i);
289UINT StrToLogSwitchType(char *str);
290UINT StrToPacketLogType(char *str);
291UINT StrToPacketLogSaveInfoType(char *str);
292wchar_t *GetProxyTypeStr(UINT i);
293wchar_t *GetClientAuthTypeStr(UINT i);
294void PrintPolicyList(CONSOLE *c, char *name);
295void PrintPolicy(CONSOLE *c, POLICY *pol, bool cascade_mode);
296bool EditPolicy(CONSOLE *c, POLICY *pol, char *name, char *value, bool cascade_mode);
297void CmdPrintStatusToListView(CT *ct, RPC_CLIENT_GET_CONNECTION_STATUS *s);
298void CmdPrintStatusToListViewEx(CT *ct, RPC_CLIENT_GET_CONNECTION_STATUS *s, bool server_mode);
299bool CmdEvalPassOrDiscard(CONSOLE *c, wchar_t *str, void *param);
300bool StrToPassOrDiscard(char *str);
301bool CmdEvalProtocol(CONSOLE *c, wchar_t *str, void *param);
302UINT StrToProtocol(char *str);
303bool CmdEvalPortRange(CONSOLE *c, wchar_t *str, void *param);
304bool ParsePortRange(char *str, UINT *start, UINT *end);
305wchar_t *GetAuthTypeStr(UINT id);
306UINT64 StrToDateTime64(char *str);
307bool CmdEvalDateTime(CONSOLE *c, wchar_t *str, void *param);
308void CmdPrintNodeInfo(CT *ct, NODE_INFO *info);
309wchar_t *GetProtocolName(UINT n);
310void CmdGenerateImportName(REMOTE_CLIENT *r, wchar_t *name, UINT size, wchar_t *old_name);
311bool CmdIsAccountName(REMOTE_CLIENT *r, wchar_t *name);
312wchar_t *GetSyslogSettingName(UINT n);
313
314
315void TtPrint(void *param, TT_PRINT_PROC *print_proc, wchar_t *str);
316void TtGenerateRandomData(UCHAR **buf, UINT *size);
317void TtsWorkerThread(THREAD *thread, void *param);
318void TtsListenThread(THREAD *thread, void *param);
319void TtsAcceptProc(TTS *tts, SOCK *listen_socket);
320void TtsIPv6AcceptThread(THREAD *thread, void *param);
321wchar_t *GetTtcTypeStr(UINT type);
322void TtcPrintSummary(TTC *ttc);
323void StopTtc(TTC *ttc);
324void TtcGenerateResult(TTC *ttc);
325void TtcThread(THREAD *thread, void *param);
326TTC *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);
327TTC *NewTtc(char *host, UINT port, UINT numtcp, UINT type, UINT64 span, bool dbl, bool raw, TT_PRINT_PROC *print_proc, void *param);
328UINT FreeTtc(TTC *ttc, TT_RESULT *result);
329TTS *NewTts(UINT port, void *param, TT_PRINT_PROC *print_proc);
330UINT FreeTts(TTS *tts);
331void PtTrafficPrintProc(void *param, wchar_t *str);
332void TtcPrintResult(CONSOLE *c, TT_RESULT *res);
333
334
335bool SystemCheck();
336bool CheckKernel();
337bool CheckMemory();
338bool CheckStrings();
339bool CheckFileSystem();
340bool CheckThread();
341bool CheckNetwork();
342void InputToNull(void *p);
343UINT RetZero();
344
345
346
347UINT PtConnect(CONSOLE *c, wchar_t *cmdline);
348PT *NewPt(CONSOLE *c, wchar_t *cmdline);
349void FreePt(PT *pt);
350void PtMain(PT *pt);
351UINT PtMakeCert(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
352UINT PtTrafficClient(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
353UINT PtTrafficServer(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
354UINT PtCheck(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
355
356
357UINT PcConnect(CONSOLE *c, char *target, wchar_t *cmdline, char *password);
358PC *NewPc(CONSOLE *c, REMOTE_CLIENT *remote_client, char *servername, wchar_t *cmdline);
359void FreePc(PC *pc);
360void PcMain(PC *pc);
361UINT PcAbout(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
362UINT PcVersionGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
363UINT PcPasswordSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
364UINT PcPasswordGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
365UINT PcCertList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
366UINT PcCertAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
367UINT PcCertDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
368UINT PcCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
369UINT PcSecureList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
370UINT PcSecureSelect(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
371UINT PcSecureGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
372UINT PcNicCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
373UINT PcNicDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
374UINT PcNicUpgrade(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
375UINT PcNicGetSetting(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
376UINT PcNicSetSetting(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
377UINT PcNicEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
378UINT PcNicDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
379UINT PcNicList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
380UINT PcAccountList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
381UINT PcAccountCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
382UINT PcAccountSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
383UINT PcAccountGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
384UINT PcAccountDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
385UINT PcAccountUsernameSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
386UINT PcAccountAnonymousSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
387UINT PcAccountPasswordSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
388UINT PcAccountCertSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
389UINT PcAccountCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
390UINT PcAccountEncryptDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
391UINT PcAccountEncryptEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
392UINT PcAccountCompressEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
393UINT PcAccountCompressDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
394UINT PcAccountProxyNone(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
395UINT PcAccountProxyHttp(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
396UINT PcAccountProxySocks(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
397UINT PcAccountServerCertEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
398UINT PcAccountServerCertDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
399UINT PcAccountServerCertSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
400UINT PcAccountServerCertDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
401UINT PcAccountServerCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
402UINT PcAccountDetailSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
403UINT PcAccountRename(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
404UINT PcAccountConnect(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
405UINT PcAccountDisconnect(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
406UINT PcAccountStatusGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
407UINT PcAccountNicSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
408UINT PcAccountStatusShow(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
409UINT PcAccountStatusHide(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
410UINT PcAccountSecureCertSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
411UINT PcAccountRetrySet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
412UINT PcAccountStartupSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
413UINT PcAccountStartupRemove(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
414UINT PcAccountExport(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
415UINT PcAccountImport(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
416UINT PcRemoteEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
417UINT PcRemoteDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
418UINT PcKeepEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
419UINT PcKeepDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
420UINT PcKeepSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
421UINT PcKeepGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
422
423
424PS *NewPs(CONSOLE *c, RPC *rpc, char *servername, UINT serverport, char *hubname, char *adminhub, wchar_t *cmdline);
425void FreePs(PS *ps);
426UINT PsConnect(CONSOLE *c, char *host, UINT port, char *hub, char *adminhub, wchar_t *cmdline, char *password);
427void PsMain(PS *ps);
428UINT PsAbout(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
429UINT PsServerInfoGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
430UINT PsServerStatusGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
431UINT PsListenerCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
432UINT PsListenerDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
433UINT PsListenerList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
434UINT PsListenerEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
435UINT PsListenerDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
436UINT PsServerPasswordSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
437UINT PsClusterSettingGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
438UINT PsClusterSettingStandalone(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
439UINT PsClusterSettingController(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
440UINT PsClusterSettingMember(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
441UINT PsClusterMemberList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
442UINT PsClusterMemberInfoGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
443UINT PsClusterMemberCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
444UINT PsClusterConnectionStatusGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
445UINT PsCrash(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
446UINT PsFlush(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
447UINT PsDebug(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
448UINT PsServerCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
449UINT PsServerKeyGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
450UINT PsServerCertSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
451UINT PsServerCipherGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
452UINT PsServerCipherSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
453UINT PsKeepEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
454UINT PsKeepDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
455UINT PsKeepSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
456UINT PsKeepGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
457UINT PsSyslogGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
458UINT PsSyslogDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
459UINT PsSyslogEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
460UINT PsConnectionList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
461UINT PsConnectionGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
462UINT PsConnectionDisconnect(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
463UINT PsBridgeDeviceList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
464UINT PsBridgeList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
465UINT PsBridgeCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
466UINT PsBridgeDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
467UINT PsCaps(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
468UINT PsReboot(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
469UINT PsConfigGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
470UINT PsConfigSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
471UINT PsRouterList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
472UINT PsRouterAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
473UINT PsRouterDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
474UINT PsRouterStart(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
475UINT PsRouterStop(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
476UINT PsRouterIfList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
477UINT PsRouterIfAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
478UINT PsRouterIfDel(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
479UINT PsRouterTableList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
480UINT PsRouterTableAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
481UINT PsRouterTableDel(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
482UINT PsLogFileList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
483UINT PsLogFileGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
484UINT PsHubCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
485UINT PsHubCreateDynamic(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
486UINT PsHubCreateStatic(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
487UINT PsHubDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
488UINT PsHubSetStatic(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
489UINT PsHubSetDynamic(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
490UINT PsHubList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
491UINT PsHub(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
492UINT PsOnline(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
493UINT PsOffline(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
494UINT PsSetMaxSession(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
495UINT PsSetHubPassword(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
496UINT PsSetEnumAllow(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
497UINT PsSetEnumDeny(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
498UINT PsOptionsGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
499UINT PsRadiusServerSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
500UINT PsRadiusServerDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
501UINT PsRadiusServerGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
502UINT PsStatusGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
503UINT PsLogGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
504UINT PsLogEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
505UINT PsLogDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
506UINT PsLogSwitchSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
507UINT PsLogPacketSaveType(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
508UINT PsCAList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
509UINT PsCAAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
510UINT PsCADelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
511UINT PsCAGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
512UINT PsCascadeList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
513UINT PsCascadeCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
514UINT PsCascadeSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
515UINT PsCascadeGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
516UINT PsCascadeDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
517UINT PsCascadeUsernameSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
518UINT PsCascadeAnonymousSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
519UINT PsCascadePasswordSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
520UINT PsCascadeCertSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
521UINT PsCascadeCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
522UINT PsCascadeEncryptEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
523UINT PsCascadeEncryptDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
524UINT PsCascadeCompressEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
525UINT PsCascadeCompressDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
526UINT PsCascadeProxyNone(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
527UINT PsCascadeProxyHttp(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
528UINT PsCascadeProxySocks(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
529UINT PsCascadeServerCertEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
530UINT PsCascadeServerCertDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
531UINT PsCascadeServerCertSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
532UINT PsCascadeServerCertDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
533UINT PsCascadeServerCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
534UINT PsCascadeDetailSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
535UINT PsCascadePolicyRemove(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
536UINT PsCascadePolicySet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
537UINT PsPolicyList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
538UINT PsCascadeStatusGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
539UINT PsCascadeRename(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
540UINT PsCascadeOnline(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
541UINT PsCascadeOffline(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
542UINT PsAccessAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
543UINT PsAccessAddEx(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
544UINT PsAccessAdd6(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
545UINT PsAccessAddEx6(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
546UINT PsAccessList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
547UINT PsAccessDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
548UINT PsAccessEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
549UINT PsAccessDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
550UINT PsUserList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
551UINT PsUserCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
552UINT PsUserSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
553UINT PsUserDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
554UINT PsUserGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
555UINT PsUserAnonymousSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
556UINT PsUserPasswordSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
557UINT PsUserCertSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
558UINT PsUserCertGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
559UINT PsUserSignedSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
560UINT PsUserRadiusSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
561UINT PsUserNTLMSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
562UINT PsUserPolicyRemove(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
563UINT PsUserPolicySet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
564UINT PsUserExpiresSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
565UINT PsGroupList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
566UINT PsGroupCreate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
567UINT PsGroupSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
568UINT PsGroupDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
569UINT PsGroupGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
570UINT PsGroupJoin(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
571UINT PsGroupUnjoin(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
572UINT PsGroupPolicyRemove(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
573UINT PsGroupPolicySet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
574UINT PsSessionList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
575UINT PsSessionGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
576UINT PsSessionDisconnect(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
577UINT PsMacTable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
578UINT PsMacDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
579UINT PsIpTable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
580UINT PsIpDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
581UINT PsSecureNatEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
582UINT PsSecureNatDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
583UINT PsSecureNatStatusGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
584UINT PsSecureNatHostGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
585UINT PsSecureNatHostSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
586UINT PsNatGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
587UINT PsNatEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
588UINT PsNatDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
589UINT PsNatSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
590UINT PsNatTable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
591UINT PsDhcpGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
592UINT PsDhcpEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
593UINT PsDhcpDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
594UINT PsDhcpSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
595UINT PsDhcpTable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
596UINT PsAdminOptionList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
597UINT PsAdminOptionSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
598UINT PsExtOptionList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
599UINT PsExtOptionSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
600UINT PsCrlList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
601UINT PsCrlAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
602UINT PsCrlDel(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
603UINT PsCrlGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
604UINT PsAcList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
605UINT PsAcAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
606UINT PsAcAdd6(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
607UINT PsAcGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
608UINT PsAcDel(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
609UINT PsLicenseAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
610UINT PsLicenseDel(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
611UINT PsLicenseList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
612UINT PsLicenseStatus(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
613
614
615#endif  // COMMAND_H
616
617
Note: See TracBrowser for help on using the repository browser.