source: lab.git/Dev/utvpn/utvpn-unix-v101-7101-public/src/Cedar/Admin.h @ 072e48b

trunk
Last change on this file since 072e48b 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: 53.0 KB
RevLine 
[a1bae3e]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// Admin.h
79// Admin.c のヘッダ
80
81#ifndef ADMIN_H
82#define ADMIN_H
83
84// Windows のバージョン
85struct RPC_WINVER
86{
87    bool IsWindows;
88    bool IsNT;
89    bool IsServer;
90    bool IsBeta;
91    UINT VerMajor;
92    UINT VerMinor;
93    UINT Build;
94    UINT ServicePack;
95    char Title[128];
96};
97
98// サーバー側構造体
99struct ADMIN
100{
101    SERVER *Server;             // サーバー
102    bool ServerAdmin;           // サーバー Administrator
103    char *HubName;              // 管理することができる HUB 名
104    RPC *Rpc;                   // RPC
105    LIST *LogFileList;          // アクセス可能なログファイルリスト
106    UINT ClientBuild;           // クライアントのビルド番号
107    RPC_WINVER ClientWinVer;    // クライアントの Windows のバージョン
108};
109
110// テスト
111struct RPC_TEST
112{
113    UINT IntValue;
114    char StrValue[1024];
115};
116
117// サーバー情報 *
118struct RPC_SERVER_INFO
119{
120    char ServerProductName[128];        // サーバー製品名
121    char ServerVersionString[128];      // サーバーバージョン文字列
122    char ServerBuildInfoString[128];    // サーバービルド情報文字列
123    UINT ServerVerInt;                  // サーバーバージョン整数値
124    UINT ServerBuildInt;                // サーバービルド番号整数値
125    char ServerHostName[MAX_HOST_NAME_LEN + 1]; // サーバーホスト名
126    UINT ServerType;                    // サーバーの種類
127    OS_INFO OsInfo;                     // OS 情報
128};
129
130// サーバー状態
131struct RPC_SERVER_STATUS
132{
133    UINT ServerType;                    // サーバーの種類
134    UINT NumTcpConnections;             // 合計 TCP コネクション数
135    UINT NumTcpConnectionsLocal;        // ローカル TCP コネクション数
136    UINT NumTcpConnectionsRemote;       // リモート TCP コネクション数
137    UINT NumHubTotal;                   // 合計 HUB 数
138    UINT NumHubStandalone;              // スタンドアロン HUB 数
139    UINT NumHubStatic;                  // スタティック HUB 数
140    UINT NumHubDynamic;                 // ダイナミック HUB 数
141    UINT NumSessionsTotal;              // 合計セッション数
142    UINT NumSessionsLocal;              // ローカルセッション数 (コントローラのみ)
143    UINT NumSessionsRemote;             // リモートセッション数 (コントローラ以外)
144    UINT NumMacTables;                  // MAC テーブル数
145    UINT NumIpTables;                   // IP テーブル数
146    UINT NumUsers;                      // ユーザー数
147    UINT NumGroups;                     // グループ数
148    UINT AssignedBridgeLicenses;        // 割り当て済みブリッジライセンス数
149    UINT AssignedClientLicenses;        // 割り当て済みクライアントライセンス数
150    UINT AssignedBridgeLicensesTotal;   // 割り当て済みブリッジライセンス数 (クラスタ全体)
151    UINT AssignedClientLicensesTotal;   // 割り当て済みクライアントライセンス数 (クラスタ全体)
152    TRAFFIC Traffic;                    // トラフィック情報
153    UINT64 CurrentTime;                 // 現在時刻
154    UINT64 CurrentTick;                 // 現在 Tick
155    UINT64 StartTime;                   // 起動時刻
156    MEMINFO MemInfo;                    // メモリ情報
157};
158
159// リスナー
160struct RPC_LISTENER
161{
162    UINT Port;                          // ポート番号
163    bool Enable;                        // 有効状態
164};
165
166// リスナーのリスト*
167struct RPC_LISTENER_LIST
168{
169    UINT NumPort;                       // ポート数
170    UINT *Ports;                        // ポート一覧
171    bool *Enables;                      // 有効状態
172    bool *Errors;                       // エラー発生
173};
174
175// 文字列*
176struct RPC_STR
177{
178    char *String;                       // 文字列
179};
180
181// 整数
182struct RPC_INT
183{
184    UINT IntValue;                      // 整数
185};
186
187// パスワードの設定
188struct RPC_SET_PASSWORD
189{
190    UCHAR HashedPassword[SHA1_SIZE];    // ハッシュされたパスワード
191};
192
193// サーバーファーム設定*
194struct RPC_FARM
195{
196    UINT ServerType;                    // サーバーの種類
197    UINT NumPort;                       // 公開ポート数
198    UINT *Ports;                        // 公開ポート一覧
199    UINT PublicIp;                      // 公開 IP
200    char ControllerName[MAX_HOST_NAME_LEN + 1]; // コントローラ名
201    UINT ControllerPort;                // コントローラポート
202    UCHAR MemberPassword[SHA1_SIZE];    // メンバパスワード
203    UINT Weight;                        // 性能基準比
204    bool ControllerOnly;                // コントローラ機能のみ
205};
206
207// ファームメンバごとの HUB アイテム
208struct RPC_FARM_HUB
209{
210    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
211    bool DynamicHub;                    // ダイナミック HUB
212};
213
214// サーバーファームメンバ情報取得*
215struct RPC_FARM_INFO
216{
217    UINT Id;                            // ID
218    bool Controller;                    // コントローラ
219    UINT64 ConnectedTime;               // 接続時刻
220    UINT Ip;                            // IP アドレス
221    char Hostname[MAX_HOST_NAME_LEN + 1];   // ホスト名
222    UINT Point;                         // ポイント
223    UINT NumPort;                       // ポート数
224    UINT *Ports;                        // ポート
225    X *ServerCert;                      // サーバー証明書
226    UINT NumFarmHub;                    // ファーム HUB 数
227    RPC_FARM_HUB *FarmHubs;             // ファーム HUB
228    UINT NumSessions;                   // セッション数
229    UINT NumTcpConnections;             // TCP コネクション数
230    UINT Weight;                        // 性能基準比
231};
232
233// サーバーファームメンバ列挙項目
234struct RPC_ENUM_FARM_ITEM
235{
236    UINT Id;                            // ID
237    bool Controller;                    // コントローラ
238    UINT64 ConnectedTime;               // 接続時刻
239    UINT Ip;                            // IP アドレス
240    char Hostname[MAX_HOST_NAME_LEN + 1];   // ホスト名
241    UINT Point;                         // ポイント
242    UINT NumSessions;                   // セッション数
243    UINT NumTcpConnections;             // TCP コネクション数
244    UINT NumHubs;                       // HUB 数
245    UINT AssignedClientLicense;         // 割り当て済みクライアントライセンス数
246    UINT AssignedBridgeLicense;         // 割り当て済みブリッジライセンス数
247};
248
249// サーバーファームメンバ列挙*
250struct RPC_ENUM_FARM
251{
252    UINT NumFarm;                       // ファーム数
253    RPC_ENUM_FARM_ITEM *Farms;          // ファーム一覧
254};
255
256// コントローラへの接続状態
257struct RPC_FARM_CONNECTION_STATUS
258{
259    UINT Ip;                            // IP アドレス
260    UINT Port;                          // ポート番号
261    bool Online;                        // オンライン状態
262    UINT LastError;                     // 最終エラー
263    UINT64 StartedTime;                 // 接続開始時刻
264    UINT64 FirstConnectedTime;          // 最初の接続時刻
265    UINT64 CurrentConnectedTime;        // 今回の接続時刻
266    UINT NumTry;                        // 試行回数
267    UINT NumConnected;                  // 接続回数
268    UINT NumFailed;                     // 接続失敗回数
269};
270
271// キーペア
272struct RPC_KEY_PAIR
273{
274    X *Cert;                            // 証明書
275    K *Key;                             // 秘密鍵
276};
277
278// HUB オプション
279struct RPC_HUB_OPTION
280{
281    UINT MaxSession;                    // 最大セッション数
282    bool NoEnum;                        // 列挙しない
283};
284
285// Radius サーバーオプション
286struct RPC_RADIUS
287{
288    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
289    char RadiusServerName[MAX_HOST_NAME_LEN + 1];   // Radius サーバー名
290    UINT RadiusPort;                    // Radius ポート番号
291    char RadiusSecret[MAX_PASSWORD_LEN + 1];    // 秘密鍵
292    UINT RadiusRetryInterval;           // Radius 再試行間隔
293};
294
295// HUB の指定
296struct RPC_HUB
297{
298    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
299};
300
301// HUB の作成
302struct RPC_CREATE_HUB
303{
304    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
305    UCHAR HashedPassword[SHA1_SIZE];    // 管理用パスワード
306    UCHAR SecurePassword[SHA1_SIZE];    // Administrator パスワード
307    bool Online;                        // オンラインフラグ
308    RPC_HUB_OPTION HubOption;           // HUB オプション
309    UINT HubType;                       // HUB の種類
310};
311
312// HUB の列挙項目
313struct RPC_ENUM_HUB_ITEM
314{
315    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
316    bool Online;                        // オンライン
317    UINT HubType;                       // HUB の種類
318    UINT NumUsers;                      // ユーザー数
319    UINT NumGroups;                     // グループ数
320    UINT NumSessions;                   // セッション数
321    UINT NumMacTables;                  // MAC テーブル数
322    UINT NumIpTables;                   // IP テーブル数
323    UINT64 LastCommTime;                // 最終通信日時
324    UINT64 LastLoginTime;               // 最終ログイン日時
325    UINT64 CreatedTime;                 // 作成日時
326    UINT NumLogin;                      // ログイン回数
327};
328
329// HUB の列挙*
330struct RPC_ENUM_HUB
331{
332    UINT NumHub;                        // HUB 数
333    RPC_ENUM_HUB_ITEM *Hubs;            // HUB
334};
335
336// HUB の削除
337struct RPC_DELETE_HUB
338{
339    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
340};
341
342// コネクション列挙項目
343struct RPC_ENUM_CONNECTION_ITEM
344{
345    char Name[MAX_SIZE];                // コネクション名
346    char Hostname[MAX_SIZE];            // ホスト名
347    UINT Ip;                            // IP アドレス
348    UINT Port;                          // ポート番号
349    UINT64 ConnectedTime;               // 接続された時刻
350    UINT Type;                          // 種類
351};
352
353// コネクション列挙
354struct RPC_ENUM_CONNECTION
355{
356    UINT NumConnection;                 // コネクション数
357    RPC_ENUM_CONNECTION_ITEM *Connections;  // コネクション一覧
358};
359
360// コネクション切断
361struct RPC_DISCONNECT_CONNECTION
362{
363    char Name[MAX_SIZE];                // コネクション名
364};
365
366// コネクション情報
367struct RPC_CONNECTION_INFO
368{
369    char Name[MAX_SIZE];                // コネクション名
370    UINT Type;                          // 種類
371    char Hostname[MAX_SIZE];            // ホスト名
372    UINT Ip;                            // IP アドレス
373    UINT Port;                          // ポート番号
374    UINT64 ConnectedTime;               // 接続された時刻
375    char ServerStr[MAX_SERVER_STR_LEN + 1]; // サーバー文字列
376    UINT ServerVer;                     // サーバーバージョン
377    UINT ServerBuild;                   // サーバービルド番号
378    char ClientStr[MAX_CLIENT_STR_LEN + 1]; // クライアント文字列
379    UINT ClientVer;                     // クライアントバージョン
380    UINT ClientBuild;                   // クライアントビルド番号
381};
382
383// HUB をオンラインまたはオフラインにする
384struct RPC_SET_HUB_ONLINE
385{
386    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
387    bool Online;                        // オンライン・オフラインフラグ
388};
389
390// HUB 状態の取得
391struct RPC_HUB_STATUS
392{
393    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
394    bool Online;                        // オンライン
395    UINT HubType;                       // HUB の種類
396    UINT NumSessions;                   // セッション数
397    UINT NumSessionsClient;             // セッション数 (クライアント)
398    UINT NumSessionsBridge;             // セッション数 (ブリッジ)
399    UINT NumAccessLists;                // アクセスリスト数
400    UINT NumUsers;                      // ユーザー数
401    UINT NumGroups;                     // グループ数
402    UINT NumMacTables;                  // MAC テーブル数
403    UINT NumIpTables;                   // IP テーブル数
404    TRAFFIC Traffic;                    // トラフィック
405    bool SecureNATEnabled;              // SecureNAT が有効かどうか
406    UINT64 LastCommTime;                // 最終通信日時
407    UINT64 LastLoginTime;               // 最終ログイン日時
408    UINT64 CreatedTime;                 // 作成日時
409    UINT NumLogin;                      // ログイン回数
410};
411
412// HUB ログ設定
413struct RPC_HUB_LOG
414{
415    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
416    HUB_LOG LogSetting;                 // ログ設定
417};
418
419// HUB への CA 追加*
420struct RPC_HUB_ADD_CA
421{
422    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
423    X *Cert;                            // 証明書
424};
425
426// HUB の CA 列挙項目
427struct RPC_HUB_ENUM_CA_ITEM
428{
429    UINT Key;                               // 証明書キー
430    wchar_t SubjectName[MAX_SIZE];          // 発行先
431    wchar_t IssuerName[MAX_SIZE];           // 発行者
432    UINT64 Expires;                         // 有効期限
433};
434
435// HUB の CA 列挙*
436struct RPC_HUB_ENUM_CA
437{
438    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
439    UINT NumCa;                             // CA 数
440    RPC_HUB_ENUM_CA_ITEM *Ca;               // CA
441};
442
443// HUB の CA の取得*
444struct RPC_HUB_GET_CA
445{
446    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
447    UINT Key;                           // 証明書キー
448    X *Cert;                            // 証明書
449};
450
451// HUB の CA の削除
452struct RPC_HUB_DELETE_CA
453{
454    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
455    UINT Key;                           // 削除する証明書キー
456};
457
458// リンクの作成・設定*
459struct RPC_CREATE_LINK
460{
461    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
462    bool Online;                        // オンラインフラグ
463    CLIENT_OPTION *ClientOption;        // クライアントオプション
464    CLIENT_AUTH *ClientAuth;            // クライアント認証データ
465    POLICY Policy;                      // ポリシー
466    bool CheckServerCert;               // サーバー証明書を検証する
467    X *ServerCert;                      // サーバー証明書
468};
469
470// リンクの列挙項目
471struct RPC_ENUM_LINK_ITEM
472{
473    wchar_t AccountName[MAX_ACCOUNT_NAME_LEN + 1];  // アカウント名
474    bool Online;                                    // オンラインフラグ
475    bool Connected;                                 // 接続完了フラグ
476    UINT LastError;                                 // 最後に発生したエラー
477    UINT64 ConnectedTime;                           // 接続完了時刻
478    char Hostname[MAX_HOST_NAME_LEN + 1];           // ホスト名
479    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
480};
481
482// リンクの列挙*
483struct RPC_ENUM_LINK
484{
485    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
486    UINT NumLink;                                   // リンク数
487    RPC_ENUM_LINK_ITEM *Links;                      // リンク一覧
488};
489
490// リンク状態の取得*
491struct RPC_LINK_STATUS
492{
493    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
494    wchar_t AccountName[MAX_ACCOUNT_NAME_LEN + 1];  // アカウント名
495    RPC_CLIENT_GET_CONNECTION_STATUS Status;        // ステータス
496};
497
498// リンクの指定
499struct RPC_LINK
500{
501    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
502    wchar_t AccountName[MAX_ACCOUNT_NAME_LEN + 1];  // アカウント名
503};
504
505// リンクの名前変更
506struct RPC_RENAME_LINK
507{
508    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
509    wchar_t OldAccountName[MAX_ACCOUNT_NAME_LEN + 1];   // 古いアカウント名
510    wchar_t NewAccountName[MAX_ACCOUNT_NAME_LEN + 1];   // 新しいアカウント名
511};
512
513// アクセスリストの列挙*
514struct RPC_ENUM_ACCESS_LIST
515{
516    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
517    UINT NumAccess;                                 // アクセスリスト数
518    ACCESS *Accesses;                               // アクセスリスト
519};
520
521// アクセスリストの追加
522struct RPC_ADD_ACCESS
523{
524    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
525    ACCESS Access;                                  // アクセスリスト
526};
527
528// アクセスリストの削除
529struct RPC_DELETE_ACCESS
530{
531    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
532    UINT Id;                                        // ID
533};
534
535// ユーザーの作成・設定・取得*
536struct RPC_SET_USER
537{
538    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
539    char Name[MAX_USERNAME_LEN + 1];                // ユーザー名
540    char GroupName[MAX_USERNAME_LEN + 1];           // グループ名
541    wchar_t Realname[MAX_SIZE];                     // 本名
542    wchar_t Note[MAX_SIZE];                         // メモ
543    UINT64 CreatedTime;                             // 作成日時
544    UINT64 UpdatedTime;                             // 更新日時
545    UINT64 ExpireTime;                              // 有効期限
546    UINT AuthType;                                  // 認証方法
547    void *AuthData;                                 // 認証データ
548    UINT NumLogin;                                  // ログイン回数
549    TRAFFIC Traffic;                                // トラフィックデータ
550    POLICY *Policy;                                 // ポリシー
551};
552
553// ユーザーの列挙項目
554struct RPC_ENUM_USER_ITEM
555{
556    char Name[MAX_USERNAME_LEN + 1];                // ユーザー名
557    char GroupName[MAX_USERNAME_LEN + 1];           // グループ名
558    wchar_t Realname[MAX_SIZE];                     // 本名
559    wchar_t Note[MAX_SIZE];                         // メモ
560    UINT AuthType;                                  // 認証方法
561    UINT NumLogin;                                  // ログイン回数
562    UINT64 LastLoginTime;                           // 最終ログイン日時
563    bool DenyAccess;                                // アクセス拒否
564};
565
566// ユーザーの列挙
567struct RPC_ENUM_USER
568{
569    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
570    UINT NumUser;                                   // ユーザー数
571    RPC_ENUM_USER_ITEM *Users;                      // ユーザー
572};
573
574// グループの作成・設定・取得*
575struct RPC_SET_GROUP
576{
577    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
578    char Name[MAX_USERNAME_LEN + 1];                // ユーザー名
579    wchar_t Realname[MAX_SIZE];                     // 本名
580    wchar_t Note[MAX_SIZE];                         // メモ
581    TRAFFIC Traffic;                                // トラフィックデータ
582    POLICY *Policy;                                 // ポリシー
583};
584
585// グループの列挙項目
586struct RPC_ENUM_GROUP_ITEM
587{
588    char Name[MAX_USERNAME_LEN + 1];                // ユーザー名
589    wchar_t Realname[MAX_SIZE];                     // 本名
590    wchar_t Note[MAX_SIZE];                         // メモ
591    UINT NumUsers;                                  // ユーザー数
592    bool DenyAccess;                                // アクセス拒否
593};
594
595// グループの列挙
596struct RPC_ENUM_GROUP
597{
598    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
599    UINT NumGroup;                                  // グループ数
600    RPC_ENUM_GROUP_ITEM *Groups;                    // グループ
601};
602
603// ユーザーまたはグループの削除
604struct RPC_DELETE_USER
605{
606    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
607    char Name[MAX_USERNAME_LEN + 1];                // ユーザー名またはグループ名
608};
609
610// セッションの列挙項目
611struct RPC_ENUM_SESSION_ITEM
612{
613    char Name[MAX_SESSION_NAME_LEN + 1];            // セッション名
614    bool RemoteSession;                             // リモートセッション
615    char RemoteHostname[MAX_HOST_NAME_LEN + 1];     // リモートサーバー名
616    char Username[MAX_USERNAME_LEN + 1];            // ユーザー名
617    UINT Ip;                                        // IP アドレス (IPv4)
618    char Hostname[MAX_HOST_NAME_LEN + 1];           // ホスト名
619    UINT MaxNumTcp;                                 // TCP コネクション数最大
620    UINT CurrentNumTcp;                             // TCP コネクション数現在
621    UINT64 PacketSize;                              // パケットサイズ
622    UINT64 PacketNum;                               // パケット数
623    bool LinkMode;                                  // リンクモード
624    bool SecureNATMode;                             // SecureNAT モード
625    bool BridgeMode;                                // ブリッジモード
626    bool Layer3Mode;                                // レイヤ 3 モード
627    bool Client_BridgeMode;                         // クライアントがブリッジモード
628    bool Client_MonitorMode;                        // クライアントがモニタリングモード
629    UINT VLanId;                                    // VLAN ID
630    UCHAR UniqueId[16];                             // Unique ID
631};
632
633// セッションの切断
634struct RPC_DELETE_SESSION
635{
636    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
637    char Name[MAX_SESSION_NAME_LEN + 1];            // セッション名
638};
639
640// MAC テーブルの列挙項目
641struct RPC_ENUM_MAC_TABLE_ITEM
642{
643    UINT Key;                                       // キー
644    char SessionName[MAX_SESSION_NAME_LEN + 1];     // セッション名
645    UCHAR MacAddress[6];                            // MAC アドレス
646    UCHAR Padding[2];
647    UINT64 CreatedTime;                             // 作成日時
648    UINT64 UpdatedTime;                             // 更新日時
649    bool RemoteItem;                                // リモートアイテム
650    char RemoteHostname[MAX_HOST_NAME_LEN + 1];     // リモートホスト名
651    UINT VlanId;                                    // VLAN ID
652};
653
654// MAC テーブルの列挙
655struct RPC_ENUM_MAC_TABLE
656{
657    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
658    UINT NumMacTable;                               // テーブル数
659    RPC_ENUM_MAC_TABLE_ITEM *MacTables;             // MAC テーブル
660};
661
662// IP テーブルの列挙項目
663struct RPC_ENUM_IP_TABLE_ITEM
664{
665    UINT Key;                                       // キー
666    char SessionName[MAX_SESSION_NAME_LEN + 1];     // セッション名
667    UINT Ip;                                        // IP アドレス
668    IP IpV6;                                        // IPv6 アドレス
669    bool DhcpAllocated;                             // DHCP によって割り当て済み
670    UINT64 CreatedTime;                             // 作成日時
671    UINT64 UpdatedTime;                             // 更新日時
672    bool RemoteItem;                                // リモートアイテム
673    char RemoteHostname[MAX_HOST_NAME_LEN + 1];     // リモートホスト名
674};
675
676// IP テーブルの列挙
677struct RPC_ENUM_IP_TABLE
678{
679    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
680    UINT NumIpTable;                                // テーブル数
681    RPC_ENUM_IP_TABLE_ITEM *IpTables;               // MAC テーブル
682};
683
684// テーブルの削除
685struct RPC_DELETE_TABLE
686{
687    char HubName[MAX_HUBNAME_LEN + 1];              // HUB 名
688    UINT Key;                                       // キー
689};
690
691// KEEP 設定
692struct RPC_KEEP
693{
694    bool UseKeepConnect;                    // インターネットへの接続を維持
695    char KeepConnectHost[MAX_HOST_NAME_LEN + 1];    // ホスト名
696    UINT KeepConnectPort;                   // ポート番号
697    UINT KeepConnectProtocol;               // プロトコル
698    UINT KeepConnectInterval;               // 間隔
699};
700
701// Ethernet 列挙アイテム
702struct RPC_ENUM_ETH_ITEM
703{
704    char DeviceName[MAX_SIZE];              // デバイス名
705    wchar_t NetworkConnectionName[MAX_SIZE];// ネットワーク接続名
706};
707
708// Ethernet 列挙
709struct RPC_ENUM_ETH
710{
711    UINT NumItem;                           // アイテム数
712    RPC_ENUM_ETH_ITEM *Items;               // アイテム
713};
714
715// ブリッジ項目
716struct RPC_LOCALBRIDGE
717{
718    char DeviceName[MAX_SIZE];              // デバイス名
719    char HubName[MAX_HUBNAME_LEN + 1];      // HUB 名
720    bool Online;                            // オンラインフラグ
721    bool Active;                            // 動作フラグ
722    bool TapMode;                           // tap モード
723};
724
725// ブリッジ列挙
726struct RPC_ENUM_LOCALBRIDGE
727{
728    UINT NumItem;                           // アイテム数
729    RPC_LOCALBRIDGE *Items;                 // アイテム
730};
731
732// ブリッジサポート情報
733struct RPC_BRIDGE_SUPPORT
734{
735    bool IsBridgeSupportedOs;               // ブリッジがサポートされている OS か
736    bool IsWinPcapNeeded;                   // WinPcap が必要とされているか
737};
738
739// config 操作
740struct RPC_CONFIG
741{
742    char FileName[MAX_PATH];                // ファイル名
743    char *FileData;                         // ファイルデータ
744};
745
746// 管理オプションリスト
747struct RPC_ADMIN_OPTION
748{
749    char HubName[MAX_HUBNAME_LEN + 1];      // 仮想 HUB 名
750    UINT NumItem;                           // 個数
751    ADMIN_OPTION *Items;                    // データ
752};
753
754// Layer-3 スイッチ
755struct RPC_L3SW
756{
757    char Name[MAX_HUBNAME_LEN + 1];         // L3 スイッチ名
758};
759
760// Layer-3 スイッチ列挙
761struct RPC_ENUM_L3SW_ITEM
762{
763    char Name[MAX_HUBNAME_LEN + 1];         // 名前
764    UINT NumInterfaces;                     // インターフェイス数
765    UINT NumTables;                         // ルーティングテーブル数
766    bool Active;                            // 動作中
767    bool Online;                            // オンライン
768};
769struct RPC_ENUM_L3SW
770{
771    UINT NumItem;
772    RPC_ENUM_L3SW_ITEM *Items;
773};
774
775// Layer-3 インターフェイス
776struct RPC_L3IF
777{
778    char Name[MAX_HUBNAME_LEN + 1];         // L3 スイッチ名
779    char HubName[MAX_HUBNAME_LEN + 1];      // 仮想 HUB 名
780    UINT IpAddress;                         // IP アドレス
781    UINT SubnetMask;                        // サブネットマスク
782};
783
784// Layer-3 インターフェイス列挙
785struct RPC_ENUM_L3IF
786{
787    char Name[MAX_HUBNAME_LEN + 1];         // L3 スイッチ名
788    UINT NumItem;
789    RPC_L3IF *Items;
790};
791
792// ルーティングテーブル
793struct RPC_L3TABLE
794{
795    char Name[MAX_HUBNAME_LEN + 1];         // L3 スイッチ名
796    UINT NetworkAddress;                    // ネットワークアドレス
797    UINT SubnetMask;                        // サブネットマスク
798    UINT GatewayAddress;                    // ゲートウェイアドレス
799    UINT Metric;                            // メトリック
800};
801
802// ルーティングテーブル列挙
803struct RPC_ENUM_L3TABLE
804{
805    char Name[MAX_HUBNAME_LEN + 1];         // L3 スイッチ名
806    UINT NumItem;
807    RPC_L3TABLE *Items;
808};
809
810// CRL エントリ
811struct RPC_CRL
812{
813    char HubName[MAX_HUBNAME_LEN + 1];      // HUB 名
814    UINT Key;                               // キー
815    CRL *Crl;                               // CRL 本体
816};
817
818// CRL 列挙
819struct RPC_ENUM_CRL_ITEM
820{
821    UINT Key;                               // キー
822    wchar_t CrlInfo[MAX_SIZE];              // 情報
823};
824struct RPC_ENUM_CRL
825{
826    char HubName[MAX_HUBNAME_LEN + 1];      // HUB 名
827    UINT NumItem;                           // アイテム数
828    RPC_ENUM_CRL_ITEM *Items;               // リスト
829};
830
831// AC リスト
832struct RPC_AC_LIST
833{
834    char HubName[MAX_HUBNAME_LEN + 1];      // HUB 名
835    LIST *o;                                // リスト本体
836};
837
838// ログファイル列挙
839struct RPC_ENUM_LOG_FILE_ITEM
840{
841    char ServerName[MAX_HOST_NAME_LEN + 1]; // サーバー名
842    char FilePath[MAX_PATH];                // ファイルパス
843    UINT FileSize;                          // ファイルサイズ
844    UINT64 UpdatedTime;                     // 更新日時
845};
846struct RPC_ENUM_LOG_FILE
847{
848    UINT NumItem;                           // アイテム数
849    RPC_ENUM_LOG_FILE_ITEM *Items;          // リスト
850};
851
852// ログファイル読み込み
853struct RPC_READ_LOG_FILE
854{
855    char ServerName[MAX_HOST_NAME_LEN + 1]; // サーバー名
856    char FilePath[MAX_PATH];                // ファイルパス
857    UINT Offset;                            // オフセット
858    BUF *Buffer;                            // バッファ
859};
860
861// ダウンロード情報
862struct DOWNLOAD_PROGRESS
863{
864    void *Param;                            // ユーザー定義データ
865    UINT TotalSize;                         // 合計ファイルサイズ
866    UINT CurrentSize;                       // 読み込みが完了したサイズ
867    UINT ProgressPercent;                   // 完了パーセント
868};
869
870// ライセンスキーの列挙
871struct RPC_ENUM_LICENSE_KEY_ITEM
872{
873    UINT Id;                                // ID
874    char LicenseKey[LICENSE_KEYSTR_LEN + 1];    // ライセンスキー
875    char LicenseId[LICENSE_LICENSEID_STR_LEN + 1];  // ライセンス ID
876    char LicenseName[LICENSE_MAX_PRODUCT_NAME_LEN + 1]; // ライセンス名
877    UINT64 Expires;                         // 有効期限
878    UINT Status;                            // 状況
879    UINT ProductId;                         // 製品 ID
880    UINT64 SystemId;                        // システム ID
881    UINT SerialId;                          // シリアル ID
882};
883struct RPC_ENUM_LICENSE_KEY
884{
885    UINT NumItem;                           // アイテム数
886    RPC_ENUM_LICENSE_KEY_ITEM *Items;       // リスト
887};
888
889// サーバーのライセンスの状態
890struct RPC_LICENSE_STATUS
891{
892    UINT EditionId;                         // エディション ID
893    char EditionStr[LICENSE_MAX_PRODUCT_NAME_LEN + 1];  // エディション名
894    UINT64 SystemId;                        // システム ID
895    UINT64 SystemExpires;                   // システム有効期限
896    UINT NumClientConnectLicense;           // クライアント同時接続可能数
897    UINT NumBridgeConnectLicense;           // ブリッジ同時接続可能数
898
899    // v3.0
900    bool NeedSubscription;                  // サブスクリプション制度が有効かどうか
901    UINT64 SubscriptionExpires;             // サブスクリプション有効期限
902    bool IsSubscriptionExpired;             // サブスクリプション有効期限が切れているかどうか
903    UINT NumUserCreationLicense;            // ユーザー作成可能数
904    bool AllowEnterpriseFunction;           // エンタープライズ機能の動作
905    UINT64 ReleaseDate;                     // リリース日付
906};
907
908// 物理 LAN カードの VLAN 対応状況の列挙
909struct RPC_ENUM_ETH_VLAN_ITEM
910{
911    char DeviceName[MAX_SIZE];              // デバイス名
912    char Guid[MAX_SIZE];                    // GUID
913    char DeviceInstanceId[MAX_SIZE];        // デバイスインスタンス ID
914    char DriverName[MAX_SIZE];              // ドライバファイル名
915    char DriverType[MAX_SIZE];              // ドライバの種類
916    bool Support;                           // サポートしているかどうか
917    bool Enabled;                           // 有効化されているかどうか
918};
919struct RPC_ENUM_ETH_VLAN
920{
921    UINT NumItem;                           // アイテム数
922    RPC_ENUM_ETH_VLAN_ITEM *Items;          // リスト
923};
924
925// メッセージ
926struct RPC_MSG
927{
928    char HubName[MAX_HUBNAME_LEN + 1];      // HUB 名
929    wchar_t *Msg;                           // メッセージ
930};
931
932
933// 関数プロトタイプ
934UINT AdminAccept(CONNECTION *c, PACK *p);
935void HashAdminPassword(void *hash, char *password);
936SESSION *AdminConnectMain(CEDAR *cedar, CLIENT_OPTION *o, char *hubname, void *hashed_password, UINT *err, char *client_name, void *hWnd);
937RPC *AdminConnect(CEDAR *cedar, CLIENT_OPTION *o, char *hubname, void *hashed_password, UINT *err);
938RPC *AdminConnectEx(CEDAR *cedar, CLIENT_OPTION *o, char *hubname, void *hashed_password, UINT *err, char *client_name);
939RPC *AdminConnectEx2(CEDAR *cedar, CLIENT_OPTION *o, char *hubname, void *hashed_password, UINT *err, char *client_name, void *hWnd);
940void AdminDisconnect(RPC *rpc);
941UINT AdminReconnect(RPC *rpc);
942UINT AdminCheckPassword(CEDAR *c, void *random, void *secure_password, char *hubname);
943PACK *AdminDispatch(RPC *rpc, char *name, PACK *p);
944PACK *AdminCall(RPC *rpc, char *function_name, PACK *p);
945void SiEnumLocalSession(SERVER *s, char *hubname, RPC_ENUM_SESSION *t);
946void CopyOsInfo(OS_INFO *dst, OS_INFO *info);
947CAPSLIST *ScGetCapsEx(RPC *rpc);
948UINT SiEnumMacTable(SERVER *s, char *hubname, RPC_ENUM_MAC_TABLE *t);
949UINT SiEnumIpTable(SERVER *s, char *hubname, RPC_ENUM_IP_TABLE *t);
950void SiEnumLocalLogFileList(SERVER *s, char *hubname, RPC_ENUM_LOG_FILE *t);
951void SiReadLocalLogFile(SERVER *s, char *filepath, UINT offset, RPC_READ_LOG_FILE *t);
952typedef bool (DOWNLOAD_PROC)(DOWNLOAD_PROGRESS *progress);
953BUF *DownloadFileFromServer(RPC *r, char *server_name, char *filepath, UINT total_size, DOWNLOAD_PROC *proc, void *param);
954bool CheckAdminSourceAddress(SOCK *sock, char *hubname);
955void SiEnumSessionMain(SERVER *s, RPC_ENUM_SESSION *t);
956
957UINT StTest(ADMIN *a, RPC_TEST *t);
958UINT StGetServerInfo(ADMIN *a, RPC_SERVER_INFO *t);
959UINT StGetServerStatus(ADMIN *a, RPC_SERVER_STATUS *t);
960UINT StCreateListener(ADMIN *a, RPC_LISTENER *t);
961UINT StEnumListener(ADMIN *a, RPC_LISTENER_LIST *t);
962UINT StDeleteListener(ADMIN *a, RPC_LISTENER *t);
963UINT StEnableListener(ADMIN *a, RPC_LISTENER *t);
964UINT StSetServerPassword(ADMIN *a, RPC_SET_PASSWORD *t);
965UINT StSetFarmSetting(ADMIN *a, RPC_FARM *t);
966UINT StGetFarmSetting(ADMIN *a, RPC_FARM *t);
967UINT StGetFarmInfo(ADMIN *a, RPC_FARM_INFO *t);
968UINT StEnumFarmMember(ADMIN *a, RPC_ENUM_FARM *t);
969UINT StGetFarmConnectionStatus(ADMIN *a, RPC_FARM_CONNECTION_STATUS *t);
970UINT StSetServerCert(ADMIN *a, RPC_KEY_PAIR *t);
971UINT StGetServerCert(ADMIN *a, RPC_KEY_PAIR *t);
972UINT StGetServerCipher(ADMIN *a, RPC_STR *t);
973UINT StSetServerCipher(ADMIN *a, RPC_STR *t);
974UINT StCreateHub(ADMIN *a, RPC_CREATE_HUB *t);
975UINT StSetHub(ADMIN *a, RPC_CREATE_HUB *t);
976UINT StGetHub(ADMIN *a, RPC_CREATE_HUB *t);
977UINT StEnumHub(ADMIN *a, RPC_ENUM_HUB *t);
978UINT StDeleteHub(ADMIN *a, RPC_DELETE_HUB *t);
979UINT StGetHubRadius(ADMIN *a, RPC_RADIUS *t);
980UINT StSetHubRadius(ADMIN *a, RPC_RADIUS *t);
981UINT StEnumConnection(ADMIN *a, RPC_ENUM_CONNECTION *t);
982UINT StDisconnectConnection(ADMIN *a, RPC_DISCONNECT_CONNECTION *t);
983UINT StGetConnectionInfo(ADMIN *a, RPC_CONNECTION_INFO *t);
984UINT StSetHubOnline(ADMIN *a, RPC_SET_HUB_ONLINE *t);
985UINT StGetHubStatus(ADMIN *a, RPC_HUB_STATUS *t);
986UINT StSetHubLog(ADMIN *a, RPC_HUB_LOG *t);
987UINT StGetHubLog(ADMIN *a, RPC_HUB_LOG *t);
988UINT StAddCa(ADMIN *a, RPC_HUB_ADD_CA *t);
989UINT StEnumCa(ADMIN *a, RPC_HUB_ENUM_CA *t);
990UINT StGetCa(ADMIN *a, RPC_HUB_GET_CA *t);
991UINT StDeleteCa(ADMIN *a, RPC_HUB_DELETE_CA *t);
992UINT StCreateLink(ADMIN *a, RPC_CREATE_LINK *t);
993UINT StEnumLink(ADMIN *a, RPC_ENUM_LINK *t);
994UINT StGetLinkStatus(ADMIN *a, RPC_LINK_STATUS *t);
995UINT StSetLinkOnline(ADMIN *a, RPC_LINK *t);
996UINT StSetLinkOffline(ADMIN *a, RPC_LINK *t);
997UINT StDeleteLink(ADMIN *a, RPC_LINK *t);
998UINT StRenameLink(ADMIN *a, RPC_RENAME_LINK *t);
999UINT StAddAccess(ADMIN *a, RPC_ADD_ACCESS *t);
1000UINT StDeleteAccess(ADMIN *a, RPC_DELETE_ACCESS *t);
1001UINT StEnumAccess(ADMIN *a, RPC_ENUM_ACCESS_LIST *t);
1002UINT StCreateUser(ADMIN *a, RPC_SET_USER *t);
1003UINT StSetUser(ADMIN *a, RPC_SET_USER *t);
1004UINT StGetUser(ADMIN *a, RPC_SET_USER *t);
1005UINT StDeleteUser(ADMIN *a, RPC_DELETE_USER *t);
1006UINT StEnumUser(ADMIN *a, RPC_ENUM_USER *t);
1007UINT StCreateGroup(ADMIN *a, RPC_SET_GROUP *t);
1008UINT StSetGroup(ADMIN *a, RPC_SET_GROUP *t);
1009UINT StGetGroup(ADMIN *a, RPC_SET_GROUP *t);
1010UINT StDeleteGroup(ADMIN *a, RPC_DELETE_USER *t);
1011UINT StEnumGroup(ADMIN *a, RPC_ENUM_GROUP *t);
1012UINT StEnumSession(ADMIN *a, RPC_ENUM_SESSION *t);
1013UINT StGetSessionStatus(ADMIN *a, RPC_SESSION_STATUS *t);
1014UINT StDeleteSession(ADMIN *a, RPC_DELETE_SESSION *t);
1015UINT StEnumMacTable(ADMIN *a, RPC_ENUM_MAC_TABLE *t);
1016UINT StDeleteMacTable(ADMIN *a, RPC_DELETE_TABLE *t);
1017UINT StEnumIpTable(ADMIN *a, RPC_ENUM_IP_TABLE *t);
1018UINT StDeleteIpTable(ADMIN *a, RPC_DELETE_TABLE *t);
1019UINT StGetLink(ADMIN *a, RPC_CREATE_LINK *t);
1020UINT StSetLink(ADMIN *a, RPC_CREATE_LINK *t);
1021UINT StSetAccessList(ADMIN *a, RPC_ENUM_ACCESS_LIST *t);
1022UINT StSetKeep(ADMIN *a, RPC_KEEP *t);
1023UINT StGetKeep(ADMIN *a, RPC_KEEP *t);
1024UINT StEnableSecureNAT(ADMIN *a, RPC_HUB *t);
1025UINT StDisableSecureNAT(ADMIN *a, RPC_HUB *t);
1026UINT StSetSecureNATOption(ADMIN *a, VH_OPTION *t);
1027UINT StGetSecureNATOption(ADMIN *a, VH_OPTION *t);
1028UINT StEnumNAT(ADMIN *a, RPC_ENUM_NAT *t);
1029UINT StEnumDHCP(ADMIN *a, RPC_ENUM_DHCP *t);
1030UINT StGetSecureNATStatus(ADMIN *a, RPC_NAT_STATUS *t);
1031UINT StEnumEthernet(ADMIN *a, RPC_ENUM_ETH *t);
1032UINT StAddLocalBridge(ADMIN *a, RPC_LOCALBRIDGE *t);
1033UINT StDeleteLocalBridge(ADMIN *a, RPC_LOCALBRIDGE *t);
1034UINT StEnumLocalBridge(ADMIN *a, RPC_ENUM_LOCALBRIDGE *t);
1035UINT StGetBridgeSupport(ADMIN *a, RPC_BRIDGE_SUPPORT *t);
1036UINT StRebootServer(ADMIN *a, RPC_TEST *t);
1037UINT StGetCaps(ADMIN *a, CAPSLIST *t);
1038UINT StGetConfig(ADMIN *a, RPC_CONFIG *t);
1039UINT StSetConfig(ADMIN *a, RPC_CONFIG *t);
1040UINT StGetDefaultHubAdminOptions(ADMIN *a, RPC_ADMIN_OPTION *t);
1041UINT StGetHubAdminOptions(ADMIN *a, RPC_ADMIN_OPTION *t);
1042UINT StSetHubAdminOptions(ADMIN *a, RPC_ADMIN_OPTION *t);
1043UINT StGetHubExtOptions(ADMIN *a, RPC_ADMIN_OPTION *t);
1044UINT StSetHubExtOptions(ADMIN *a, RPC_ADMIN_OPTION *t);
1045UINT StAddL3Switch(ADMIN *a, RPC_L3SW *t);
1046UINT StDelL3Switch(ADMIN *a, RPC_L3SW *t);
1047UINT StEnumL3Switch(ADMIN *a, RPC_ENUM_L3SW *t);
1048UINT StStartL3Switch(ADMIN *a, RPC_L3SW *t);
1049UINT StStopL3Switch(ADMIN *a, RPC_L3SW *t);
1050UINT StAddL3If(ADMIN *a, RPC_L3IF *t);
1051UINT StDelL3If(ADMIN *a, RPC_L3IF *t);
1052UINT StEnumL3If(ADMIN *a, RPC_ENUM_L3IF *t);
1053UINT StAddL3Table(ADMIN *a, RPC_L3TABLE *t);
1054UINT StDelL3Table(ADMIN *a, RPC_L3TABLE *t);
1055UINT StEnumL3Table(ADMIN *a, RPC_ENUM_L3TABLE *t);
1056UINT StEnumCrl(ADMIN *a, RPC_ENUM_CRL *t);
1057UINT StAddCrl(ADMIN *a, RPC_CRL *t);
1058UINT StDelCrl(ADMIN *a, RPC_CRL *t);
1059UINT StGetCrl(ADMIN *a, RPC_CRL *t);
1060UINT StSetCrl(ADMIN *a, RPC_CRL *t);
1061UINT StSetAcList(ADMIN *a, RPC_AC_LIST *t);
1062UINT StGetAcList(ADMIN *a, RPC_AC_LIST *t);
1063UINT StEnumLogFile(ADMIN *a, RPC_ENUM_LOG_FILE *t);
1064UINT StReadLogFile(ADMIN *a, RPC_READ_LOG_FILE *t);
1065UINT StAddLicenseKey(ADMIN *a, RPC_TEST *t);
1066UINT StDelLicenseKey(ADMIN *a, RPC_TEST *t);
1067UINT StEnumLicenseKey(ADMIN *a, RPC_ENUM_LICENSE_KEY *t);
1068UINT StGetLicenseStatus(ADMIN *a, RPC_LICENSE_STATUS *t);
1069UINT StSetSysLog(ADMIN *a, SYSLOG_SETTING *t);
1070UINT StGetSysLog(ADMIN *a, SYSLOG_SETTING *t);
1071UINT StEnumEthVLan(ADMIN *a, RPC_ENUM_ETH_VLAN *t);
1072UINT StSetEnableEthVLan(ADMIN *a, RPC_TEST *t);
1073UINT StSetHubMsg(ADMIN *a, RPC_MSG *t);
1074UINT StGetHubMsg(ADMIN *a, RPC_MSG *t);
1075UINT StCrash(ADMIN *a, RPC_TEST *t);
1076UINT StGetAdminMsg(ADMIN *a, RPC_MSG *t);
1077UINT StFlush(ADMIN *a, RPC_TEST *t);
1078UINT StDebug(ADMIN *a, RPC_TEST *t);
1079
1080UINT ScTest(RPC *r, RPC_TEST *t);
1081UINT ScGetServerInfo(RPC *r, RPC_SERVER_INFO *t);
1082UINT ScGetServerStatus(RPC *r, RPC_SERVER_STATUS *t);
1083UINT ScCreateListener(RPC *r, RPC_LISTENER *t);
1084UINT ScEnumListener(RPC *r, RPC_LISTENER_LIST *t);
1085UINT ScDeleteListener(RPC *r, RPC_LISTENER *t);
1086UINT ScEnableListener(RPC *r, RPC_LISTENER *t);
1087UINT ScSetServerPassword(RPC *r, RPC_SET_PASSWORD *t);
1088UINT ScSetFarmSetting(RPC *r, RPC_FARM *t);
1089UINT ScGetFarmSetting(RPC *r, RPC_FARM *t);
1090UINT ScGetFarmInfo(RPC *r, RPC_FARM_INFO *t);
1091UINT ScEnumFarmMember(RPC *r, RPC_ENUM_FARM *t);
1092UINT ScGetFarmConnectionStatus(RPC *r, RPC_FARM_CONNECTION_STATUS *t);
1093UINT ScSetServerCert(RPC *r, RPC_KEY_PAIR *t);
1094UINT ScGetServerCert(RPC *r, RPC_KEY_PAIR *t);
1095UINT ScGetServerCipher(RPC *r, RPC_STR *t);
1096UINT ScSetServerCipher(RPC *r, RPC_STR *t);
1097UINT ScCreateHub(RPC *r, RPC_CREATE_HUB *t);
1098UINT ScSetHub(RPC *r, RPC_CREATE_HUB *t);
1099UINT ScGetHub(RPC *r, RPC_CREATE_HUB *t);
1100UINT ScEnumHub(RPC *r, RPC_ENUM_HUB *t);
1101UINT ScDeleteHub(RPC *r, RPC_DELETE_HUB *t);
1102UINT ScGetHubRadius(RPC *r, RPC_RADIUS *t);
1103UINT ScSetHubRadius(RPC *r, RPC_RADIUS *t);
1104UINT ScEnumConnection(RPC *r, RPC_ENUM_CONNECTION *t);
1105UINT ScDisconnectConnection(RPC *r, RPC_DISCONNECT_CONNECTION *t);
1106UINT ScGetConnectionInfo(RPC *r, RPC_CONNECTION_INFO *t);
1107UINT ScSetHubOnline(RPC *r, RPC_SET_HUB_ONLINE *t);
1108UINT ScGetHubStatus(RPC *r, RPC_HUB_STATUS *t);
1109UINT ScSetHubLog(RPC *r, RPC_HUB_LOG *t);
1110UINT ScGetHubLog(RPC *r, RPC_HUB_LOG *t);
1111UINT ScAddCa(RPC *r, RPC_HUB_ADD_CA *t);
1112UINT ScEnumCa(RPC *r, RPC_HUB_ENUM_CA *t);
1113UINT ScGetCa(RPC *r, RPC_HUB_GET_CA *t);
1114UINT ScDeleteCa(RPC *r, RPC_HUB_DELETE_CA *t);
1115UINT ScCreateLink(RPC *r, RPC_CREATE_LINK *t);
1116UINT ScEnumLink(RPC *r, RPC_ENUM_LINK *t);
1117UINT ScGetLinkStatus(RPC *r, RPC_LINK_STATUS *t);
1118UINT ScSetLinkOnline(RPC *r, RPC_LINK *t);
1119UINT ScSetLinkOffline(RPC *r, RPC_LINK *t);
1120UINT ScDeleteLink(RPC *r, RPC_LINK *t);
1121UINT ScRenameLink(RPC *r, RPC_RENAME_LINK *t);
1122UINT ScAddAccess(RPC *r, RPC_ADD_ACCESS *t);
1123UINT ScDeleteAccess(RPC *r, RPC_DELETE_ACCESS *t);
1124UINT ScEnumAccess(RPC *r, RPC_ENUM_ACCESS_LIST *t);
1125UINT ScCreateUser(RPC *r, RPC_SET_USER *t);
1126UINT ScSetUser(RPC *r, RPC_SET_USER *t);
1127UINT ScGetUser(RPC *r, RPC_SET_USER *t);
1128UINT ScDeleteUser(RPC *r, RPC_DELETE_USER *t);
1129UINT ScEnumUser(RPC *r, RPC_ENUM_USER *t);
1130UINT ScCreateGroup(RPC *r, RPC_SET_GROUP *t);
1131UINT ScSetGroup(RPC *r, RPC_SET_GROUP *t);
1132UINT ScGetGroup(RPC *r, RPC_SET_GROUP *t);
1133UINT ScDeleteGroup(RPC *r, RPC_DELETE_USER *t);
1134UINT ScEnumGroup(RPC *r, RPC_ENUM_GROUP *t);
1135UINT ScEnumSession(RPC *r, RPC_ENUM_SESSION *t);
1136UINT ScGetSessionStatus(RPC *r, RPC_SESSION_STATUS *t);
1137UINT ScDeleteSession(RPC *r, RPC_DELETE_SESSION *t);
1138UINT ScEnumMacTable(RPC *r, RPC_ENUM_MAC_TABLE *t);
1139UINT ScDeleteMacTable(RPC *r, RPC_DELETE_TABLE *t);
1140UINT ScEnumIpTable(RPC *r, RPC_ENUM_IP_TABLE *t);
1141UINT ScDeleteIpTable(RPC *r, RPC_DELETE_TABLE *t);
1142UINT ScGetLink(RPC *a, RPC_CREATE_LINK *t);
1143UINT ScSetLink(RPC *a, RPC_CREATE_LINK *t);
1144UINT ScSetAccessList(RPC *r, RPC_ENUM_ACCESS_LIST *t);
1145UINT ScSetKeep(RPC *r, RPC_KEEP *t);
1146UINT ScGetKeep(RPC *r, RPC_KEEP *t);
1147UINT ScEnableSecureNAT(RPC *r, RPC_HUB *t);
1148UINT ScDisableSecureNAT(RPC *r, RPC_HUB *t);
1149UINT ScSetSecureNATOption(RPC *r, VH_OPTION *t);
1150UINT ScGetSecureNATOption(RPC *r, VH_OPTION *t);
1151UINT ScEnumNAT(RPC *r, RPC_ENUM_NAT *t);
1152UINT ScEnumDHCP(RPC *r, RPC_ENUM_DHCP *t);
1153UINT ScGetSecureNATStatus(RPC *r, RPC_NAT_STATUS *t);
1154UINT ScEnumEthernet(RPC *r, RPC_ENUM_ETH *t);
1155UINT ScAddLocalBridge(RPC *r, RPC_LOCALBRIDGE *t);
1156UINT ScDeleteLocalBridge(RPC *r, RPC_LOCALBRIDGE *t);
1157UINT ScEnumLocalBridge(RPC *r, RPC_ENUM_LOCALBRIDGE *t);
1158UINT ScGetBridgeSupport(RPC *r, RPC_BRIDGE_SUPPORT *t);
1159UINT ScRebootServer(RPC *r, RPC_TEST *t);
1160UINT ScGetCaps(RPC *r, CAPSLIST *t);
1161UINT ScGetConfig(RPC *r, RPC_CONFIG *t);
1162UINT ScSetConfig(RPC *r, RPC_CONFIG *t);
1163UINT ScGetDefaultHubAdminOptions(RPC *r, RPC_ADMIN_OPTION *t);
1164UINT ScGetHubAdminOptions(RPC *r, RPC_ADMIN_OPTION *t);
1165UINT ScSetHubAdminOptions(RPC *r, RPC_ADMIN_OPTION *t);
1166UINT ScGetHubExtOptions(RPC *r, RPC_ADMIN_OPTION *t);
1167UINT ScSetHubExtOptions(RPC *r, RPC_ADMIN_OPTION *t);
1168UINT ScAddL3Switch(RPC *r, RPC_L3SW *t);
1169UINT ScDelL3Switch(RPC *r, RPC_L3SW *t);
1170UINT ScEnumL3Switch(RPC *r, RPC_ENUM_L3SW *t);
1171UINT ScStartL3Switch(RPC *r, RPC_L3SW *t);
1172UINT ScStopL3Switch(RPC *r, RPC_L3SW *t);
1173UINT ScAddL3If(RPC *r, RPC_L3IF *t);
1174UINT ScDelL3If(RPC *r, RPC_L3IF *t);
1175UINT ScEnumL3If(RPC *r, RPC_ENUM_L3IF *t);
1176UINT ScAddL3Table(RPC *r, RPC_L3TABLE *t);
1177UINT ScDelL3Table(RPC *r, RPC_L3TABLE *t);
1178UINT ScEnumL3Table(RPC *r, RPC_ENUM_L3TABLE *t);
1179UINT ScEnumCrl(RPC *r, RPC_ENUM_CRL *t);
1180UINT ScAddCrl(RPC *r, RPC_CRL *t);
1181UINT ScDelCrl(RPC *r, RPC_CRL *t);
1182UINT ScGetCrl(RPC *r, RPC_CRL *t);
1183UINT ScSetCrl(RPC *r, RPC_CRL *t);
1184UINT ScSetAcList(RPC *r, RPC_AC_LIST *t);
1185UINT ScGetAcList(RPC *r, RPC_AC_LIST *t);
1186UINT ScEnumLogFile(RPC *r, RPC_ENUM_LOG_FILE *t);
1187UINT ScReadLogFile(RPC *r, RPC_READ_LOG_FILE *t);
1188UINT ScAddLicenseKey(RPC *r, RPC_TEST *t);
1189UINT ScDelLicenseKey(RPC *r, RPC_TEST *t);
1190UINT ScEnumLicenseKey(RPC *r, RPC_ENUM_LICENSE_KEY *t);
1191UINT ScGetLicenseStatus(RPC *r, RPC_LICENSE_STATUS *t);
1192UINT ScSetSysLog(RPC *r, SYSLOG_SETTING *t);
1193UINT ScGetSysLog(RPC *r, SYSLOG_SETTING *t);
1194UINT ScEnumEthVLan(RPC *r, RPC_ENUM_ETH_VLAN *t);
1195UINT ScSetEnableEthVLan(RPC *r, RPC_TEST *t);
1196UINT ScSetHubMsg(RPC *r, RPC_MSG *t);
1197UINT ScGetHubMsg(RPC *r, RPC_MSG *t);
1198UINT ScCrash(RPC *r, RPC_TEST *t);
1199UINT ScGetAdminMsg(RPC *r, RPC_MSG *t);
1200UINT ScFlush(RPC *r, RPC_TEST *t);
1201UINT ScDebug(RPC *r, RPC_TEST *t);
1202
1203void InRpcTest(RPC_TEST *t, PACK *p);
1204void OutRpcTest(PACK *p, RPC_TEST *t);
1205void FreeRpcTest(RPC_TEST *t);
1206void InRpcServerInfo(RPC_SERVER_INFO *t, PACK *p);
1207void OutRpcServerInfo(PACK *p, RPC_SERVER_INFO *t);
1208void FreeRpcServerInfo(RPC_SERVER_INFO *t);
1209void InRpcServerStatus(RPC_SERVER_STATUS *t, PACK *p);
1210void OutRpcServerStatus(PACK *p, RPC_SERVER_STATUS *t);
1211void InRpcListener(RPC_LISTENER *t, PACK *p);
1212void OutRpcListener(PACK *p, RPC_LISTENER *t);
1213void InRpcListenerList(RPC_LISTENER_LIST *t, PACK *p);
1214void OutRpcListenerList(PACK *p, RPC_LISTENER_LIST *t);
1215void FreeRpcListenerList(RPC_LISTENER_LIST *t);
1216void InRpcStr(RPC_STR *t, PACK *p);
1217void OutRpcStr(PACK *p, RPC_STR *t);
1218void FreeRpcStr(RPC_STR *t);
1219void InRpcSetPassword(RPC_SET_PASSWORD *t, PACK *p);
1220void OutRpcSetPassword(PACK *p, RPC_SET_PASSWORD *t);
1221void InRpcFarm(RPC_FARM *t, PACK *p);
1222void OutRpcFarm(PACK *p, RPC_FARM *t);
1223void FreeRpcFarm(RPC_FARM *t);
1224void InRpcFarmHub(RPC_FARM_HUB *t, PACK *p);
1225void OutRpcFarmHub(PACK *p, RPC_FARM_HUB *t);
1226void InRpcFarmInfo(RPC_FARM_INFO *t, PACK *p);
1227void OutRpcFarmInfo(PACK *p, RPC_FARM_INFO *t);
1228void FreeRpcFarmInfo(RPC_FARM_INFO *t);
1229void InRpcEnumFarm(RPC_ENUM_FARM *t, PACK *p);
1230void OutRpcEnumFarm(PACK *p, RPC_ENUM_FARM *t);
1231void FreeRpcEnumFarm(RPC_ENUM_FARM *t);
1232void InRpcFarmConnectionStatus(RPC_FARM_CONNECTION_STATUS *t, PACK *p);
1233void OutRpcFarmConnectionStatus(PACK *p, RPC_FARM_CONNECTION_STATUS *t);
1234void InRpcHubOption(RPC_HUB_OPTION *t, PACK *p);
1235void OutRpcHubOption(PACK *p, RPC_HUB_OPTION *t);
1236void InRpcRadius(RPC_RADIUS *t, PACK *p);
1237void OutRpcRadius(PACK *p, RPC_RADIUS *t);
1238void InRpcHub(RPC_HUB *t, PACK *p);
1239void OutRpcHub(PACK *p, RPC_HUB *t);
1240void InRpcCreateHub(RPC_CREATE_HUB *t, PACK *p);
1241void OutRpcCreateHub(PACK *p, RPC_CREATE_HUB *t);
1242void InRpcEnumHub(RPC_ENUM_HUB *t, PACK *p);
1243void OutRpcEnumHub(PACK *p, RPC_ENUM_HUB *t);
1244void FreeRpcEnumHub(RPC_ENUM_HUB *t);
1245void InRpcDeleteHub(RPC_DELETE_HUB *t, PACK *p);
1246void OutRpcDeleteHub(PACK *p, RPC_DELETE_HUB *t);
1247void InRpcEnumConnection(RPC_ENUM_CONNECTION *t, PACK *p);
1248void OutRpcEnumConnection(PACK *p, RPC_ENUM_CONNECTION *t);
1249void FreeRpcEnumConnetion(RPC_ENUM_CONNECTION *t);
1250void InRpcDisconnectConnection(RPC_DISCONNECT_CONNECTION *t, PACK *p);
1251void OutRpcDisconnectConnection(PACK *p, RPC_DISCONNECT_CONNECTION *t);
1252void InRpcConnectionInfo(RPC_CONNECTION_INFO *t, PACK *p);
1253void OutRpcConnectionInfo(PACK *p, RPC_CONNECTION_INFO *t);
1254void InRpcSetHubOnline(RPC_SET_HUB_ONLINE *t, PACK *p);
1255void OutRpcSetHubOnline(PACK *p, RPC_SET_HUB_ONLINE *t);
1256void InRpcHubStatus(RPC_HUB_STATUS *t, PACK *p);
1257void OutRpcHubStatus(PACK *p, RPC_HUB_STATUS *t);
1258void InRpcHubLog(RPC_HUB_LOG *t, PACK *p);
1259void OutRpcHubLog(PACK *p, RPC_HUB_LOG *t);
1260void InRpcHubAddCa(RPC_HUB_ADD_CA *t, PACK *p);
1261void OutRpcHubAddCa(PACK *p, RPC_HUB_ADD_CA *t);
1262void FreeRpcHubAddCa(RPC_HUB_ADD_CA *t);
1263void InRpcHubEnumCa(RPC_HUB_ENUM_CA *t, PACK *p);
1264void OutRpcHubEnumCa(PACK *p, RPC_HUB_ENUM_CA *t);
1265void FreeRpcHubEnumCa(RPC_HUB_ENUM_CA *t);
1266void InRpcHubGetCa(RPC_HUB_GET_CA *t, PACK *p);
1267void OutRpcHubGetCa(PACK *p, RPC_HUB_GET_CA *t);
1268void FreeRpcHubGetCa(RPC_HUB_GET_CA *t);
1269void InRpcHubDeleteCa(RPC_HUB_DELETE_CA *t, PACK *p);
1270void OutRpcHubDeleteCa(PACK *p, RPC_HUB_DELETE_CA *t);
1271void InRpcCreateLink(RPC_CREATE_LINK *t, PACK *p);
1272void OutRpcCreateLink(PACK *p, RPC_CREATE_LINK *t);
1273void FreeRpcCreateLink(RPC_CREATE_LINK *t);
1274void InRpcEnumLink(RPC_ENUM_LINK *t, PACK *p);
1275void OutRpcEnumLink(PACK *p, RPC_ENUM_LINK *t);
1276void FreeRpcEnumLink(RPC_ENUM_LINK *t);
1277void InRpcLinkStatus(RPC_LINK_STATUS *t, PACK *p);
1278void OutRpcLinkStatus(PACK *p, RPC_LINK_STATUS *t);
1279void FreeRpcLinkStatus(RPC_LINK_STATUS *t);
1280void InRpcLink(RPC_LINK *t, PACK *p);
1281void OutRpcLink(PACK *p, RPC_LINK *t);
1282void InRpcAccessEx(ACCESS *a, PACK *p, UINT index);
1283void InRpcAccess(ACCESS *a, PACK *p);
1284void OutRpcAccessEx(PACK *p, ACCESS *a, UINT index, UINT total);
1285void OutRpcAccess(PACK *p, ACCESS *a);
1286void InRpcEnumAccessList(RPC_ENUM_ACCESS_LIST *a, PACK *p);
1287void OutRpcEnumAccessList(PACK *p, RPC_ENUM_ACCESS_LIST *a);
1288void FreeRpcEnumAccessList(RPC_ENUM_ACCESS_LIST *a);
1289void *InRpcAuthData(PACK *p, UINT *authtype);
1290void OutRpcAuthData(PACK *p, void *authdata, UINT authtype);
1291void FreeRpcAuthData(void *authdata, UINT authtype);
1292void InRpcSetUser(RPC_SET_USER *t, PACK *p);
1293void OutRpcSetUser(PACK *p, RPC_SET_USER *t);
1294void FreeRpcSetUser(RPC_SET_USER *t);
1295void InRpcEnumUser(RPC_ENUM_USER *t, PACK *p);
1296void OutRpcEnumUser(PACK *p, RPC_ENUM_USER *t);
1297void FreeRpcEnumUser(RPC_ENUM_USER *t);
1298void InRpcSetGroup(RPC_SET_GROUP *t, PACK *p);
1299void OutRpcSetGroup(PACK *p, RPC_SET_GROUP *t);
1300void InRpcEnumGroup(RPC_ENUM_GROUP *t, PACK *p);
1301void OutRpcEnumGroup(PACK *p, RPC_ENUM_GROUP *t);
1302void FreeRpcEnumGroup(RPC_ENUM_GROUP *t);
1303void InRpcDeleteUser(RPC_DELETE_USER *t, PACK *p);
1304void OutRpcDeleteUser(PACK *p, RPC_DELETE_USER *t);
1305void InRpcEnumSession(RPC_ENUM_SESSION *t, PACK *p);
1306void OutRpcEnumSession(PACK *p, RPC_ENUM_SESSION *t);
1307void FreeRpcEnumSession(RPC_ENUM_SESSION *t);
1308void InRpcNodeInfo(NODE_INFO *t, PACK *p);
1309void OutRpcNodeInfo(PACK *p, NODE_INFO *t);
1310void InRpcSessionStatus(RPC_SESSION_STATUS *t, PACK *p);
1311void OutRpcSessionStatus(PACK *p, RPC_SESSION_STATUS *t);
1312void FreeRpcSessionStatus(RPC_SESSION_STATUS *t);
1313void InRpcDeleteSession(RPC_DELETE_SESSION *t, PACK *p);
1314void OutRpcDeleteSession(PACK *p, RPC_DELETE_SESSION *t);
1315void InRpcEnumMacTable(RPC_ENUM_MAC_TABLE *t, PACK *p);
1316void OutRpcEnumMacTable(PACK *p, RPC_ENUM_MAC_TABLE *t);
1317void FreeRpcEnumMacTable(RPC_ENUM_MAC_TABLE *t);
1318void InRpcEnumIpTable(RPC_ENUM_IP_TABLE *t, PACK *p);
1319void OutRpcEnumIpTable(PACK *p, RPC_ENUM_IP_TABLE *t);
1320void FreeRpcEnumIpTable(RPC_ENUM_IP_TABLE *t);
1321void InRpcDeleteTable(RPC_DELETE_TABLE *t, PACK *p);
1322void OutRpcDeleteTable(PACK *p, RPC_DELETE_TABLE *t);
1323void InRpcMemInfo(MEMINFO *t, PACK *p);
1324void OutRpcMemInfo(PACK *p, MEMINFO *t);
1325void InRpcKeyPair(RPC_KEY_PAIR *t, PACK *p);
1326void OutRpcKeyPair(PACK *p, RPC_KEY_PAIR *t);
1327void FreeRpcKeyPair(RPC_KEY_PAIR *t);
1328void InRpcAddAccess(RPC_ADD_ACCESS *t, PACK *p);
1329void OutRpcAddAccess(PACK *p, RPC_ADD_ACCESS *t);
1330void InRpcDeleteAccess(RPC_DELETE_ACCESS *t, PACK *p);
1331void OutRpcDeleteAccess(PACK *p, RPC_DELETE_ACCESS *t);
1332void FreeRpcSetGroup(RPC_SET_GROUP *t);
1333void AdjoinRpcEnumSession(RPC_ENUM_SESSION *dest, RPC_ENUM_SESSION *src);
1334void AdjoinRpcEnumMacTable(RPC_ENUM_MAC_TABLE *dest, RPC_ENUM_MAC_TABLE *src);
1335void AdjoinRpcEnumIpTable(RPC_ENUM_IP_TABLE *dest, RPC_ENUM_IP_TABLE *src);
1336void InRpcKeep(RPC_KEEP *t, PACK *p);
1337void OutRpcKeep(PACK *p, RPC_KEEP *t);
1338void InRpcOsInfo(OS_INFO *t, PACK *p);
1339void OutRpcOsInfo(PACK *p, OS_INFO *t);
1340void FreeRpcOsInfo(OS_INFO *t);
1341void InRpcEnumEth(RPC_ENUM_ETH *t, PACK *p);
1342void OutRpcEnumEth(PACK *p, RPC_ENUM_ETH *t);
1343void FreeRpcEnumEth(RPC_ENUM_ETH *t);
1344void InRpcLocalBridge(RPC_LOCALBRIDGE *t, PACK *p);
1345void OutRpcLocalBridge(PACK *p, RPC_LOCALBRIDGE *t);
1346void InRpcEnumLocalBridge(RPC_ENUM_LOCALBRIDGE *t, PACK *p);
1347void OutRpcEnumLocalBridge(PACK *p, RPC_ENUM_LOCALBRIDGE *t);
1348void FreeRpcEnumLocalBridge(RPC_ENUM_LOCALBRIDGE *t);
1349void InRpcBridgeSupport(RPC_BRIDGE_SUPPORT *t, PACK *p);
1350void OutRpcBridgeSupport(PACK *p, RPC_BRIDGE_SUPPORT *t);
1351void InRpcConfig(RPC_CONFIG *t, PACK *p);
1352void OutRpcConfig(PACK *p, RPC_CONFIG *t);
1353void FreeRpcConfig(RPC_CONFIG *t);
1354void InRpcAdminOption(RPC_ADMIN_OPTION *t, PACK *p);
1355void OutRpcAdminOption(PACK *p, RPC_ADMIN_OPTION *t);
1356void FreeRpcAdminOption(RPC_ADMIN_OPTION *t);
1357void InRpcEnumL3Table(RPC_ENUM_L3TABLE *t, PACK *p);
1358void OutRpcEnumL3Table(PACK *p, RPC_ENUM_L3TABLE *t);
1359void FreeRpcEnumL3Table(RPC_ENUM_L3TABLE *t);
1360void InRpcL3Table(RPC_L3TABLE *t, PACK *p);
1361void OutRpcL3Table(PACK *p, RPC_L3TABLE *t);
1362void InRpcEnumL3If(RPC_ENUM_L3IF *t, PACK *p);
1363void OutRpcEnumL3If(PACK *p, RPC_ENUM_L3IF *t);
1364void FreeRpcEnumL3If(RPC_ENUM_L3IF *t);
1365void InRpcL3If(RPC_L3IF *t, PACK *p);
1366void OutRpcL3If(PACK *p, RPC_L3IF *t);
1367void InRpcL3Sw(RPC_L3SW *t, PACK *p);
1368void OutRpcL3Sw(PACK *p, RPC_L3SW *t);
1369void InRpcEnumL3Sw(RPC_ENUM_L3SW *t, PACK *p);
1370void OutRpcEnumL3Sw(PACK *p, RPC_ENUM_L3SW *t);
1371void FreeRpcEnumL3Sw(RPC_ENUM_L3SW *t);
1372void InRpcCrl(RPC_CRL *t, PACK *p);
1373void OutRpcCrl(PACK *p, RPC_CRL *t);
1374void FreeRpcCrl(RPC_CRL *t);
1375void InRpcEnumCrl(RPC_ENUM_CRL *t, PACK *p);
1376void OutRpcEnumCrl(PACK *p, RPC_ENUM_CRL *t);
1377void FreeRpcEnumCrl(RPC_ENUM_CRL *t);
1378void InRpcInt(RPC_INT *t, PACK *p);
1379void OutRpcInt(PACK *p, RPC_INT *t);
1380void InRpcAcList(RPC_AC_LIST *t, PACK *p);
1381void OutRpcAcList(PACK *p, RPC_AC_LIST *t);
1382void FreeRpcAcList(RPC_AC_LIST *t);
1383void InRpcEnumLogFile(RPC_ENUM_LOG_FILE *t, PACK *p);
1384void OutRpcEnumLogFile(PACK *p, RPC_ENUM_LOG_FILE *t);
1385void FreeRpcEnumLogFile(RPC_ENUM_LOG_FILE *t);
1386void AdjoinRpcEnumLogFile(RPC_ENUM_LOG_FILE *t, RPC_ENUM_LOG_FILE *src);
1387void InRpcReadLogFile(RPC_READ_LOG_FILE *t, PACK *p);
1388void OutRpcReadLogFile(PACK *p, RPC_READ_LOG_FILE *t);
1389void FreeRpcReadLogFile(RPC_READ_LOG_FILE *t);
1390void InRpcRenameLink(RPC_RENAME_LINK *t, PACK *p);
1391void OutRpcRenameLink(PACK *p, RPC_RENAME_LINK *t);
1392void InRpcEnumLicenseKey(RPC_ENUM_LICENSE_KEY *t, PACK *p);
1393void OutRpcEnumLicenseKey(PACK *p, RPC_ENUM_LICENSE_KEY *t);
1394void FreeRpcEnumLicenseKey(RPC_ENUM_LICENSE_KEY *t);
1395void InRpcLicenseStatus(RPC_LICENSE_STATUS *t, PACK *p);
1396void OutRpcLicenseStatus(PACK *p, RPC_LICENSE_STATUS *t);
1397void InRpcEnumEthVLan(RPC_ENUM_ETH_VLAN *t, PACK *p);
1398void OutRpcEnumEthVLan(PACK *p, RPC_ENUM_ETH_VLAN *t);
1399void FreeRpcEnumEthVLan(RPC_ENUM_ETH_VLAN *t);
1400void InRpcMsg(RPC_MSG *t, PACK *p);
1401void OutRpcMsg(PACK *p, RPC_MSG *t);
1402void FreeRpcMsg(RPC_MSG *t);
1403void InRpcWinVer(RPC_WINVER *t, PACK *p);
1404void OutRpcWinVer(PACK *p, RPC_WINVER *t);
1405
1406
1407
1408#endif  // ADMIN_H
1409
1410
Note: See TracBrowser for help on using the repository browser.