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