1 /*=============================================================================
\r
4 ===============================================================================
\r
5 / Copyright (C) 1997-2007 Sota. All rights reserved.
\r
7 / Redistribution and use in source and binary forms, with or without
\r
8 / modification, are permitted provided that the following conditions
\r
11 / 1. Redistributions of source code must retain the above copyright
\r
12 / notice, this list of conditions and the following disclaimer.
\r
13 / 2. Redistributions in binary form must reproduce the above copyright
\r
14 / notice, this list of conditions and the following disclaimer in the
\r
15 / documentation and/or other materials provided with the distribution.
\r
17 / THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
\r
18 / IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
\r
19 / OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
\r
20 / IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
\r
21 / INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
\r
22 / BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
\r
23 / USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
\r
24 / ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
\r
25 / (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
\r
26 / THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\r
27 /============================================================================*/
\r
29 #ifndef __COMMON_H__
\r
30 #define __COMMON_H__
\r
33 #ifndef FFFTP_ENGLISH
\r
34 #include "mesg-jpn.h"
\r
36 #include "mesg-eng.h"
\r
42 #define LOW8(x) ((x) & 0xFF)
\r
43 #define HIGH8(x) (((x) >> 8) & 0xFF)
\r
44 #define LOW32(x) ((x) & 0xFFFFFFFF)
\r
45 #define HIGH32(x) (((x) >> 32) & 0xFFFFFFFF)
\r
46 #define N2INT(h,l) ((int)(((uchar)(h) << 4) + (uchar)(l)))
\r
48 #define IsDigit(n) (isascii(n) && isdigit(n))
\r
49 #define IsAlpha(n) (isascii(n) && isalpha(n))
\r
51 #define uchar unsigned char
\r
52 #define ushort unsigned short
\r
53 #define ulong unsigned long
\r
58 #define FFFTP_FAIL 0
\r
59 #define FFFTP_SUCCESS 1
\r
67 /*===== バージョン ======*/
\r
69 // SourceForge.JPによるフォーク
\r
70 //#define VER_STR "1.97b"
\r
71 //#define VER_NUM 1921 /* 設定バージョン */
\r
72 //#define PROGRAM_VERSION_NUM 1972 /* バージョン */
\r
75 #define VER_STR "2.00 64bit"
\r
77 #define VER_STR "2.00"
\r
79 #define VER_NUM 2000 /* 設定バージョン */
\r
80 #define PROGRAM_VERSION_NUM 2000 /* バージョン */
\r
82 // リリースバージョンはリリース予定年(10進数4桁)+月(2桁)+日(2桁)+通し番号(0スタート2桁)とする
\r
83 // 2014年7月31日中の30個目のリリースは2014073129
\r
84 #define RELEASE_VERSION_NUM 2017110400 /* リリースバージョン */
\r
87 // SourceForge.JPによるフォーク
\r
88 //#define MYWEB_URL "http://www2.biglobe.ne.jp/~sota/ffftp-qa.html"
\r
89 #ifndef FFFTP_ENGLISH
\r
90 #define MYWEB_URL "https://ja.osdn.net/projects/ffftp/forums/"
\r
92 #define MYWEB_URL "https://osdn.net/projects/ffftp/forums/"
\r
97 /*===== 通信関係 ======*/
\r
101 /*===== ウインドウサイズ ======*/
\r
103 #define TOOLWIN_HEIGHT 28 /* ツールバーの高さ */
\r
105 /*===== 特殊なキャッシュデータ番号 =====*/
\r
106 /* (ファイル一覧取得で使用するローカルファイル名 _ffftp.??? の番号部分) */
\r
108 #define CACHE_FILE_TMP1 999 /* ホストのファイルツリー取得用 */
\r
109 #define CACHE_FILE_TMP2 998 /* アップロード中のホストのファイル一覧取得用 */
\r
111 /*===== ユーザ定義コマンド =====*/
\r
113 #define WM_CHANGE_COND (WM_USER+1) /* ファイル一覧を変更するコマンド */
\r
114 #define WM_SET_PACKET (WM_USER+2) /* 現在使用している転送パケットのアドレスを通知 */
\r
115 #define WM_SELECT_HOST (WM_USER+3) /* ホストをダブルクリックで選択した */
\r
116 #define WM_DIAL_MSG (WM_USER+4) /* ダイアル中のステータス通知 */
\r
118 #define WM_ASYNC_SOCKET (WM_USER+5)
\r
119 #define WM_ASYNC_DBASE (WM_USER+6)
\r
121 #define WM_REFRESH_LOCAL_FLG (WM_USER+7)
\r
122 #define WM_REFRESH_REMOTE_FLG (WM_USER+8)
\r
125 #define WM_ADDPORTMAPPING (WM_USER+9)
\r
126 #define WM_REMOVEPORTMAPPING (WM_USER+10)
\r
129 #define WM_RECONNECTSOCKET (WM_USER+11)
\r
132 #define WM_MARKFILEASDOWNLOADEDFROMINTERNET (WM_USER+12)
\r
134 /*===== ホスト番号 =====*/
\r
135 /* ホスト番号は 0~ の値を取る */
\r
137 #define HOSTNUM_NOENTRY (-1) /* ホスト一覧に無いときのホスト番号 */
\r
139 /*===== バッファサイズ =====*/
\r
141 #define BUFSIZE 4096 /* ファイル転送バッファのサイズ(4k以上) */
\r
143 #define HOST_NAME_LEN 40 /* 一覧に表示するホストの名前 */
\r
144 #define HOST_ADRS_LEN 80 /* ホスト名 */
\r
145 #define USER_NAME_LEN 80 /* ユーザ名 */
\r
146 #define PASSWORD_LEN 80 /* パスワード */
\r
147 #define ACCOUNT_LEN 80 /* アカウント */
\r
148 #define HOST_TYPE_LEN 1 /* ホストの種類 */
\r
149 #define INIT_DIR_LEN (FMAX_PATH-40) /* 初期ディレクトリ */
\r
150 #define USER_MAIL_LEN 80 /* ユーザのメールアドレス */
\r
151 /* PASSWORD_LEN と同じにすること */
\r
152 #define ASCII_EXT_LEN 400 /* アスキーモード転送のファイル名列 */
\r
153 #define FILTER_EXT_LEN 400 /* フィルタのファイル名列 */
\r
154 #define BOOKMARK_SIZE 2048 /* ブックマーク */
\r
155 #define CHMOD_CMD_LEN 40 /* 属性変更コマンド */
\r
156 #define MIRROR_LEN 400 /* ミラーリングの設定用 */
\r
157 #define NLST_NAME_LEN 40 /* NLSTに付けるファイル名/オプション */
\r
158 #define DEFATTRLIST_LEN 800 /* 属性リストの長さ */
\r
159 #define INITCMD_LEN 256 /* 初期化コマンド */
\r
160 #define OWNER_NAME_LEN 40 /* オーナ名 */
\r
161 #define RAS_NAME_LEN 256 /* RASのエントリ名の長さ */
\r
163 #define FMAX_PATH 1024
\r
165 #define ONELINE_BUF_SIZE (10*1024)
\r
168 #define PRIVATE_KEY_LEN 4096
\r
170 /*===== 初期値 =====*/
\r
172 #define SAMBA_HEX_TAG ':' /* Samba-HEX の区切り文字 */
\r
173 #define CHMOD_CMD_NOR "SITE CHMOD" /* 属性変更コマンド */
\r
174 #define PORT_NOR 21 /* ポート番号 */
\r
175 #define LS_FNAME "-alL" /* NLSTに付けるもの */
\r
176 #if defined(HAVE_TANDEM)
\r
177 #define DEF_PRIEXT 4 /* Primary Extents の初期値 */
\r
178 #define DEF_SECEXT 28 /* Secondary Extents の初期値 */
\r
179 #define DEF_MAXEXT 978 /* Max Extents の初期値 */
\r
182 /*===== 同じ名前のファイルがあった時の処理 =====*/
\r
184 #define EXIST_OVW 0 /* 上書き */
\r
185 #define EXIST_NEW 1 /* 新しければ上書き */
\r
186 #define EXIST_RESUME 2 /* レジューム */
\r
187 #define EXIST_IGNORE 3 /* 無視 */
\r
188 #define EXIST_UNIQUE 4 /* ホストが名前を付ける */
\r
189 #define EXIST_ABORT 5 /* 全て中止 */
\r
190 // 同じ名前のファイルの処理方法追加
\r
191 #define EXIST_LARGE 6 /* 大きければ上書き */
\r
193 /*===== ファイル名の比較モード =====*/
\r
195 #define COMP_IGNORE 0 /* 大文字/小文字は区別しない */
\r
196 #define COMP_STRICT 1 /* 大文字/小文字を区別する */
\r
197 #define COMP_LOWERMATCH 2 /* 大文字/小文字を区別しない(片側は全て小文字) */
\r
199 /*===== FTPの応答コードの頭1桁 =====*/
\r
201 #define FTP_PRELIM 1 /* */
\r
202 #define FTP_COMPLETE 2 /* */
\r
203 #define FTP_CONTINUE 3 /* */
\r
204 #define FTP_RETRY 4 /* */
\r
205 #define FTP_ERROR 5 /* */
\r
207 /*===== ファイルリストのノード属性 =====*/
\r
209 #define NODE_DIR 0 /* ディレクトリ */
\r
210 #define NODE_FILE 1 /* ファイル */
\r
211 #define NODE_DRIVE 2 /* ドライブ */
\r
212 #define NODE_NONE (-1) /* なし */
\r
214 /*===== 上書き確認方法の設定値 =====*/
\r
216 #define TRANS_OVW 0 /* 上書き */
\r
217 #define TRANS_DLG 1 /* ダイアログを出す */
\r
219 /*===== ホスト内ファイル移動確認方法の設定値 =====*/
\r
221 #define MOVE_NODLG 0 /* ダイアログを出さない */
\r
222 #define MOVE_DLG 1 /* ダイアログを出す */
\r
223 #define MOVE_DISABLE 2 /* 機能使用禁止 */
\r
225 /*===== 転送方法 =====*/
\r
227 #define TYPE_I 'I' /* バイナリモード */
\r
228 #define TYPE_A 'A' /* アスキーモード */
\r
229 #define TYPE_X 'X' /* 自動判別 */
\r
231 #define TYPE_DEFAULT NUL /* 設定しない DirectConnectProc()の引数として有効 */
\r
233 /*===== ソート方法 =====*/
\r
234 /* 番号はListViewのカラム番号と合わせてある */
\r
236 #define SORT_NAME 0 /* 名前順 */
\r
237 #define SORT_DATE 1 /* 日付順 */
\r
238 #define SORT_SIZE 2 /* サイズ順 */
\r
239 #define SORT_EXT 3 /* 拡張子順 */
\r
241 #define SORT_ASCENT 0x00 /* 昇順 */
\r
242 #define SORT_DESCENT 0x80 /* 降順 */
\r
244 #define SORT_MASK_ORD 0x7F /* xx順を取り出すマスク */
\r
245 #define SORT_GET_ORD 0x80 /* 昇順/降順を取り出すマスク */
\r
247 #define SORT_NOTSAVED ((ulong)0xFFFFFFFF) /* ホスト毎のセーブ方法を保存していない時の値 */
\r
249 /*===== ソートする場所 =====*/
\r
251 #define ITEM_LFILE 0 /* ローカルの名前 */
\r
252 #define ITEM_LDIR 1 /* ローカルのディレクトリ */
\r
253 #define ITEM_RFILE 2 /* ホストの名前 */
\r
254 #define ITEM_RDIR 3 /* ホストのディレクトリ */
\r
256 /*===== ウインドウ番号 =====*/
\r
258 #define WIN_LOCAL 0 /* ローカル */
\r
259 #define WIN_REMOTE 1 /* ホスト */
\r
260 #define WIN_BOTH 2 /* 両方 */
\r
262 /*===== ファイル選択方法 =====*/
\r
264 #define SELECT_ALL 0 /* 全選択 */
\r
265 #define SELECT_REGEXP 1 /* 検索式を入力して選択 */
\r
267 #define SELECT_LIST 2 /* リストに含まれるファイルを選択 */
\r
269 /*===== 検索方法 =====*/
\r
271 #define FIND_FIRST 0 /* 最初の検索 */
\r
272 #define FIND_NEXT 1 /* 次を検索 */
\r
274 /*===== ファイル名の大文字/小文字変換 =====*/
\r
276 #define FNAME_NOCNV 0 /* 変換しない */
\r
277 #define FNAME_LOWER 1 /* 小文字に変換 */
\r
278 #define FNAME_UPPER 2 /* 大文字に変換 */
\r
280 /*===== ファイル一覧の形式 =====*/
\r
282 #define LIST_UNKNOWN (-1) /* 不明 */
\r
284 #define LIST_UNIX_10 0 /* UNIX 10 */
\r
285 #define LIST_UNIX_11 1 /* UNIX 11 */
\r
286 #define LIST_UNIX_12 2 /* UNIX 12 */
\r
287 #define LIST_UNIX_13 3 /* UNIX 13 */
\r
288 #define LIST_UNIX_14 4 /* UNIX 14 */
\r
289 #define LIST_UNIX_15 5 /* UNIX 15 */
\r
290 #define LIST_UNIX_20 6 /* UNIX 20 */
\r
291 #define LIST_UNIX_21 7 /* UNIX 21 */
\r
292 #define LIST_UNIX_22 8 /* UNIX 22 */
\r
293 #define LIST_UNIX_23 9 /* UNIX 23 */
\r
294 #define LIST_UNIX_24 10 /* UNIX 24 */
\r
295 #define LIST_UNIX_25 11 /* UNIX 25 */
\r
296 #define LIST_UNIX_50 12 /* UNIX 50 */
\r
297 #define LIST_UNIX_51 13 /* UNIX 51 */
\r
298 #define LIST_UNIX_54 14 /* UNIX 54 */
\r
299 #define LIST_UNIX_60 15 /* UNIX 60 */
\r
300 #define LIST_UNIX_61 16 /* UNIX 61 */
\r
301 #define LIST_UNIX_62 17 /* UNIX 62 */
\r
302 #define LIST_UNIX_63 18 /* UNIX 63 */
\r
303 #define LIST_UNIX_64 19 /* UNIX 64 */
\r
304 #define LIST_UNIX_65 20 /* UNIX 65 */
\r
305 #define LIST_DOS_1 21 /* MS-DOS 1 */
\r
306 #define LIST_DOS_2 22 /* MS-DOS 2 */
\r
307 #define LIST_DOS_3 23 /* MS-DOS 3 */
\r
308 #define LIST_DOS_4 24 /* MS-DOS 4 */
\r
309 #define LIST_ACOS 25 /* ACOS */
\r
310 #define LIST_AS400 26 /* AS/400 */
\r
311 #define LIST_M1800 27 /* Fujitu M1800 (OS IV/MSP E20) */
\r
312 #define LIST_CHAMELEON 28 /* Win3.1用 Chameleon FTP server */
\r
313 #define LIST_GP6000 29 /* Fujitu GP6000 Model 900 */
\r
314 #define LIST_OS2 30 /* OS/2 */
\r
315 #define LIST_VMS 31 /* VAX VMS */
\r
316 #define LIST_OS7_1 32 /* Toshiba OS7 */
\r
317 #define LIST_OS7_2 33 /* Toshiba OS7 */
\r
318 #define LIST_IRMX 34 /* IRMX */
\r
319 #define LIST_ACOS_4 35 /* ACOS-4 */
\r
320 #define LIST_STRATUS 36 /* Stratus */
\r
321 #define LIST_ALLIED 37 /* allied telesis (DOS) */
\r
322 #define LIST_OS9 38 /* OS/9 */
\r
323 #define LIST_IBM 39 /* IBM host */
\r
324 #define LIST_AGILENT 40 /* Agilent logic analyzer */
\r
325 #define LIST_SHIBASOKU 41 /* Shibasoku LSI test system */
\r
326 #define LIST_UNIX_70 42 /* UNIX 70 */
\r
327 #define LIST_UNIX_71 43 /* UNIX 71 */
\r
328 #define LIST_UNIX_72 44 /* UNIX 72 */
\r
329 #define LIST_UNIX_73 45 /* UNIX 73 */
\r
330 #define LIST_UNIX_74 46 /* UNIX 74 */
\r
331 #define LIST_UNIX_75 47 /* UNIX 75 */
\r
333 #define LIST_UNIX_16 48 /* UNIX 16 */
\r
335 #define LIST_MLSD 49
\r
336 #if defined(HAVE_TANDEM)
\r
337 #define LIST_TANDEM 50 /* HP NonStop Server */
\r
340 #define LIST_UNIX_17 51 /* UNIX 17 */
\r
341 // Windows Server 2008 R2
\r
342 #define LIST_DOS_5 52 /* MS-DOS 5 */
\r
344 #define LIST_MELCOM 0x100 /* MELCOM80 */
\r
346 #define LIST_MASKFLG 0xFF
\r
349 #define LIST_RAW_NAME 0x80000000
\r
351 /* ファイル一覧情報例 ---------------
\r
355 -------------------------------------------------------
\r
356 drwxr-xr-x 15 owner group 1024 Nov 6 14:21 Linux/
\r
357 -rwxrwx--- 5 owner group 12 Nov 6 1996 test.txt
\r
358 drwxr-xr-x 15 owner group 1024 11月 6日 14:21 Linux/
\r
359 drwxr-xr-x 15 owner group 1024 11月 6日 14時21分 Linux/
\r
360 -rwxrwx--- 5 owner group 12 11月 6日 1996年 test.txt
\r
361 drwxrwxr-x 6 root sys 512 1月 26 03:10 adm (月はGBコードで0xD4C2)
\r
365 -------------------------------------------------------
\r
366 drwxr-xr-x 15 owner group 1024 11月12日 14時21分 Linux/
\r
367 -rwxrwx--- 5 owner group 12 11月12日 1996年 test.txt
\r
371 -------------------------------------------------------
\r
372 drwxr-xr-x123 owner group 1024 Nov 6 14:21 Linux/
\r
373 -rwxrwx---132 owner group 12 Nov 6 1996 test.txt
\r
374 drwxr-xr-x123 owner group 1024 11月 6日 14:21 Linux/
\r
375 drwxr-xr-x123 owner group 1024 11月 6日 14時21分 Linux/
\r
376 -rwxrwx---132 owner group 12 11月 6日 1996年 test.txt
\r
380 -------------------------------------------------------
\r
381 drwxr-xr-x123 owner group 1024 11月12日 14時21分 Linux/
\r
382 -rwxrwx---132 owner group 12 11月12日 1996年 test.txt
\r
386 -------------------------------------------------------
\r
387 drwxr-xr-x 15 owner group 512 2001 6月 18 audit (月はGBコードで0xD4C2)
\r
391 -------------------------------------------------------
\r
392 drwxr-xr-x15 owner group 512 2001 6月 18 audit (月はGBコードで0xD4C2)
\r
400 -------------------------------------------------------
\r
401 drwxr-xr-x 15 owner 1024 Nov 6 14:21 Linux/
\r
402 -rwxrwx--- 5 owner 12 Nov 6 1996 test.txt
\r
403 drwxr-xr-x 15 owner 1024 11月 6日 14:21 Linux/
\r
404 drwxr-xr-x 15 owner 1024 11月 6日 14時21分 Linux/
\r
405 -rwxrwx--- 5 owner 12 11月 6日 1996年 test.txt
\r
409 -------------------------------------------------------
\r
410 drwxr-xr-x 15 owner 1024 11月12日 14時21分 Linux/
\r
411 -rwxrwx--- 5 owner 12 11月12日 1996年 test.txt
\r
415 -------------------------------------------------------
\r
416 drwxr-xr-x123 owner 1024 Nov 6 14:21 Linux/
\r
417 -rwxrwx---132 owner 12 Nov 6 1996 test.txt
\r
418 drwxr-xr-x123 owner 1024 11月 6日 14:21 Linux/
\r
419 drwxr-xr-x123 owner 1024 11月 6日 14時21分 Linux/
\r
420 -rwxrwx---132 owner 12 11月 6日 1996年 test.txt
\r
424 -------------------------------------------------------
\r
425 drwxr-xr-x123 owner 1024 11月12日 14時21分 Linux/
\r
426 -rwxrwx---132 owner 12 11月12日 1996年 test.txt
\r
430 -------------------------------------------------------
\r
431 drwxr-xr-x 15 owner 512 2001 6月 18 audit (月はGBコードで0xD4C2)
\r
435 -------------------------------------------------------
\r
436 drwxr-xr-x15 owner 512 2001 6月 18 audit (月はGBコードで0xD4C2)
\r
446 -------------------------------------------------------
\r
447 drwxr-xr-x owner 1024 Nov 6 14:21 Linux/
\r
448 -rwxrwx--- owner 12 Nov 6 1996 test.txt
\r
449 drwxr-xr-x owner 1024 11月 6日 14:21 Linux/
\r
450 drwxr-xr-x owner 1024 11月 6日 14時21分 Linux/
\r
451 -rwxrwx--- owner 12 11月 6日 1996年 test.txt
\r
455 -------------------------------------------------------
\r
456 drwxr-xr-x owner 1024 11月12日 14時21分 Linux/
\r
457 -rwxrwx--- owner 12 11月12日 1996年 test.txt
\r
460 -------------------------------------------------------
\r
461 -rwxrwxrwx SEQ 36203776 01/07/07 12:38:28 ADRS001
\r
462 -rwxrwxrwx SEQ 70172160 01/07/07 13:59:58 ADRS002
\r
466 -------------------------------------------------------
\r
467 drwxr-xr-x owner 512 2001 6月 18 audit (月はGBコードで0xD4C2)
\r
476 0 1 2 3 4 5 6 7 8 9 10
\r
477 -------------------------------------------------------
\r
478 drwxr-xr-x 123 owner m group g 1024 Nov 6 14:21 Linux/
\r
479 -rwxrwx--- 132 owner m group g 12 Nov 6 1996 test.txt
\r
482 0 1 2 3 4 5 6 7 8 9
\r
483 -------------------------------------------------------
\r
484 drwxr-xr-x 123 owner m group g 1024 11月12日 14:21 Linux/
\r
485 -rwxrwx--- 132 owner m group g 12 11月12日 1996 test.txt
\r
488 0 1 2 3 4 5 6 7 8 9
\r
489 -------------------------------------------------------
\r
490 drwxr-xr-x123 owner m group g 1024 Nov 6 14:21 Linux/
\r
491 -rwxrwx---132 owner m group g 12 Nov 6 1996 test.txt
\r
495 -------------------------------------------------------
\r
496 drwxr-xr-x123 owner m group g 1024 11月12日 14:21 Linux/
\r
497 -rwxrwx---132 owner m group g 12 11月12日 1996 test.txt
\r
500 0 1 2 3 4 5 6 7 8 9 10
\r
501 -------------------------------------------------------
\r
502 drwxr-xr-x 15 owner m group g 512 2001 6月 18 audit (月はGBコードで0xD4C2)
\r
505 0 1 2 3 4 5 6 7 8 9
\r
506 -------------------------------------------------------
\r
507 drwxr-xr-x15 owner m group g 512 2001 6月 18 audit (月はGBコードで0xD4C2)
\r
513 0 1 2 3 4 5 6 7 8 9
\r
514 -------------------------------------------------------
\r
515 drwxr-xr-x 123 owner group g 1024 Nov 6 14:21 Linux/
\r
516 -rwxrwx--- 132 owner group g 12 Nov 6 1996 test.txt
\r
520 -------------------------------------------------------
\r
521 drwxr-xr-x 123 owner group g 1024 11月12日 14:21 Linux/
\r
522 -rwxrwx--- 132 owner group g 12 11月12日 1996 test.txt
\r
526 -------------------------------------------------------
\r
527 drwxr-xr-x123 owner group g 1024 Nov 6 14:21 Linux/
\r
528 -rwxrwx---132 owner group g 12 Nov 6 1996 test.txt
\r
532 -------------------------------------------------------
\r
533 drwxr-xr-x123 owner group g 1024 11月12日 14:21 Linux/
\r
534 -rwxrwx---132 owner group g 12 11月12日 1996 test.txt
\r
537 0 1 2 3 4 5 6 7 8 9
\r
538 -------------------------------------------------------
\r
539 drwxr-xr-x 15 owner group g 512 2001 6月 18 audit (月はGBコードで0xD4C2)
\r
543 -------------------------------------------------------
\r
544 drwxr-xr-x15 owner group g 512 2001 6月 18 audit (月はGBコードで0xD4C2)
\r
553 -------------------------------------------------------
\r
554 drwxr-xr-x123 owner 1024 11/ 6 14:21 Linux/
\r
555 -rwxrwx---132 owner 12 11/13 1996 test.txt
\r
576 -------------------------------------------------------
\r
577 97-10-14 03:34p <DIR> Linux
\r
578 97-10-14 03:34p 12 test.txt
\r
579 100-10-14 03:34p 12 test.txt
\r
583 -------------------------------------------------------
\r
584 10-14-97 03:34p <DIR> Linux
\r
585 10-14-97 03:34p 12 test.txt
\r
586 10-14-100 03:34p 12 test.txt
\r
590 -------------------------------------------------------
\r
591 Linux <DIR> 10-14-97 03:34
\r
592 test.txt 12 10-14-97 14:34 A
\r
593 test.txt 12 10-14-100 14:34 A
\r
597 -------------------------------------------------------
\r
598 1998/07/30 15:39:02 <DIR> Linux
\r
599 1998/07/30 15:42:19 11623 test.txt
\r
603 -------------------------------------------------------
\r
609 -------------------------------------------------------
\r
610 QSYS 18944 96/09/20 00:35:10 *DIR QOpenSys/
\r
611 QDOC 26624 70/01/01 00:00:00 *FLR QDLS/
\r
612 QSYS 0 98/09/27 10:00:04 *LIB QSYS.LIB/
\r
613 QSECOFR 0 98/05/15 16:01:15 *STMF WWWTEST.BAK
\r
616 0 1 2 3 4 5 6 (ファイル名の後ろにスペースあり)
\r
617 -------------------------------------------------------
\r
618 drwx F 400 400 PO 93.10.27 COMMON.PDL.EXCEL/
\r
619 -rw- F 10000 10000 DA 97.03.04 DTSLOG1.FNA
\r
620 -rw- F 10000 ****** DA 97.03.04 DTSBRB.FNA
\r
621 drwx U ****** 6144 PO 96.12.15 IS01.TISPLOAD/
\r
622 -rw- **** ****** ****** VSAM **.**.** HICS.CMDSEQ
\r
626 -------------------------------------------------------
\r
627 Linux <DIR> Nov 6 1997 14:21 drw-
\r
628 test.txt 12 Nov 6 1886 14:21 -rwa
\r
632 -------------------------------------------------------
\r
633 drwxrwxrwx 98.10.21 14:38:46 SYSG03 XSYSOPR 2048 atlib
\r
634 -rwxrwxrwx 97.10.30 11:06:04 XSYSMNGR XSYSOPR 2048 blib
\r
638 -------------------------------------------------------
\r
639 345 A 12-02-98 10:59 VirtualDevice.java
\r
640 0 DIR 12-09-98 09:43 ディレクトリ
\r
641 0 DIR 12-09-100 09:43 ディレクトリ
\r
645 ---------------------------------------------------------------
\r
646 - RW-RW-RW- 1 TERA 50 DEC 1 1997 AAAJ B(B)
\r
647 - RW-RW-RW- 1 TERA 1 AUG 7 1998 12345678901234B(B)
\r
648 d RWXRWXRWX 2 TERA 64 NOV 13 1997 Q2000 -
\r
652 ---------------------------------------------------------------
\r
653 CIM_ALL.MEM;5 2/4 21-APR-1998 11:01:17 [CIM,MIZOTE]
\r
655 MAIL.DIR;1 104/248 18-SEP-2001 16:19:39 [CIM,MIZOTE]
\r
657 ※VMSの場合一覧が複数行に別れる場合がある
\r
661 ---------------------------------------------------------------
\r
662 drwxrwxrwx 99/05/13 11:38:34 APL
\r
665 ---------------------------------------------------------------
\r
666 -rwxrwxrwx SEQ 17408 96/12/06 10:11:27 INIT_CONFIG
\r
669 0 1 2 3 4 5 6 7 8 9 10 11
\r
670 ---------------------------------------------------------------
\r
671 world DR DLAC 1 416 1,024 1 WORLD 05 FEB 98
\r
672 world DR 1 416 1,024 1 WORLD 05 FEB 98
\r
673 name.f38 DRAU 5 4,692 1,024 1 # 0 24 MAR 99
\r
674 name.f38 5 4,692 1,024 1 # 0 24 MAR 99
\r
678 ---------------------------------------------------------------
\r
679 Files: 15 Blocks: 29
\r
680 w 1 seq 99-06-15 13:11:39 member_srv.error
\r
682 m 3 98-12-25 16:14:58 amano
\r
686 ---------------------------------------------------------------
\r
687 41622 IO.SYS Tue Dec 20 06:20:00 1994
\r
688 <dir> DOS Wed Nov 24 09:35:48 1999
\r
692 ---------------------------------------------------------------
\r
693 0.0 01/02/13 0945 d-----wr 3C0 148724 W_017
\r
694 0.0 01/02/13 0945 ------wr C20 48828 W_017.CLG
\r
697 0 1 2 3 4 5 6 7 8 9
\r
698 ---------------------------------------------------------------
\r
699 JXSIB1 3390 2000/12/27 1 810 FB 240 24000 PO DIRNAME
\r
700 JXSW01 3390 2000/12/27 1 5 VBA 240 3120 PS FILENAME
\r
704 ---------------------------------------------------------------
\r
705 drwxrwxrwx 1 1 1 1024 system
\r
706 -rw-rw-rw- 1 1 1 1792 abc.aaa
\r
710 ---------------------------------------------------------------
\r
711 512 Jan-30-2002 14:52:04 DIRNAME <DIR>
\r
712 61191 Aug-30-2002 17:30:38 FILENAME.C
\r
718 -------------------------------------------------------
\r
720 drwxr-x--- 2 root root 4096 2011-12-06 23:39 .
\r
721 drwxr-x--- 3 root root 4096 2011-12-06 23:39 ..
\r
722 -rw-r----- 1 root root 251 2011-12-06 23:39 .hoge
\r
727 -------------------------------------------------------
\r
728 -rw-r--r-- 1 0 0 100 services
\r
729 lrwxrwxrwx 1 0 0 20 resolv.conf -> /var/run/resolv.conf
\r
730 drwxr-sr-x 1 0 0 0 rc.d
\r
731 -rw-r--r-- 1 0 0 290 rc
\r
732 -rw-r--r-- 1 0 0 34 passwd
\r
733 lrwxrwxrwx 1 0 0 18 inittab -> ../var/tmp/inittab
\r
735 // Windows Server 2008 R2
\r
738 -------------------------------------------------------
\r
739 02-05-2013 09:45AM <DIR> TEST
\r
740 01-28-2013 03:54PM 2847 DATA.TXT
\r
744 ---------------------------------------------------------------
\r
745 File Code EOF Last Modification Owner RWEP
\r
746 EMSACSTM 101 146 18-Sep-00 09:03:37 170,175 "nunu"
\r
747 TACLCSTM O 101 101 4-Mar-01 23:50:06 255,255 "oooo"
\r
749 ------------------------------------*/
\r
751 /*===== 接続ウインドウの形式 =====*/
\r
753 #define DLG_TYPE_CON 0 /* 簡易(ホスト編集なし) */
\r
754 #define DLG_TYPE_SET 1 /* ホスト編集あり */
\r
756 /*===== ファイル一覧取得モード =====*/
\r
758 #define CACHE_NORMAL 0 /* 通常(キャッシュにあれば使用、なければ読み込み) */
\r
759 #define CACHE_REFRESH 1 /* 常に読み込み */
\r
760 #define CACHE_LASTREAD 2 /* 最後に読み込んだものを使用 */
\r
762 /*===== 漢字コード変換 =====*/
\r
764 #define KANJI_SJIS 0 /* SJIS */
\r
765 #define KANJI_JIS 1 /* JIS */
\r
766 #define KANJI_EUC 2 /* EUC */
\r
767 #define KANJI_SMB_HEX 3 /* Samba-HEX */
\r
768 #define KANJI_SMB_CAP 4 /* Samba-CAP */
\r
769 #define KANJI_UTF8N 5 /* UTF-8 */
\r
771 #define KANJI_UTF8BOM 6 /* UTF-8 BOM */
\r
773 #define KANJI_UTF8HFSX 7 /* UTF-8 HFS+ */
\r
775 #define KANJI_NOCNV -1 /* 漢字コード変換なし */
\r
778 #define KANJI_AUTO -1
\r
780 /*===== サウンド =====*/
\r
782 #define SND_CONNECT 0 /* 接続時のサウンド */
\r
783 #define SND_TRANS 1 /* 転送終了時のサウンド */
\r
784 #define SND_ERROR 2 /* エラー時のサウンド */
\r
786 #define SOUND_TYPES 3 /* サウンドの種類 */
\r
788 /*===== ビューワ =====*/
\r
790 #define VIEWERS 3 /* ビューワの数 */
\r
792 /*===== ブックマーク =====*/
\r
794 #define BMARK_SUB_MENU 2 /* ブックマークメニューのサブメニュー番号 */
\r
795 #define DEFAULT_BMARK_ITEM 5 /* ブックマークメニューにある固定部分の数 */
\r
796 #define MENU_BMARK_TOP 30000 /* 3000以降(3100くらいまで)は予約する */
\r
797 /* resource.h の定義と重ならないように */
\r
799 #define BMARK_TYPE_NONE 0 /* ブックマーク無し */
\r
800 #define BMARK_TYPE_LOCAL 1 /* ローカル側のブックマーク */
\r
801 #define BMARK_TYPE_REMOTE 2 /* ホスト側のブックマーク */
\r
802 #define BMARK_TYPE_BOTH 3 /* 両方のブックマーク */
\r
804 #define BMARK_MARK_LOCAL "L " /* ローカル側の印 */
\r
805 #define BMARK_MARK_REMOTE "H " /* ホスト側の印 */
\r
806 #define BMARK_MARK_BOTH "W " /* 両方の印 */
\r
807 #define BMARK_MARK_LEN 2 /* 印の文字数 */
\r
809 #define BMARK_SEP " <> " /* ローカル側とホスト側の区切り */
\r
810 #define BMARK_SEP_LEN 4 /* 区切りの文字数 */
\r
812 /*===== レジストリのタイプ =====*/
\r
814 #define REGTYPE_REG 0 /* レジストリ */
\r
815 #define REGTYPE_INI 1 /* INIファイル */
\r
818 //#define REG_SECT_MAX (16*1024) /* レジストリの1セクションの最大データサイズ */
\r
819 #define REG_SECT_MAX (64*1024) /* レジストリの1セクションの最大データサイズ */
\r
821 /*===== ホスト設定で明示的に指定するホストのタイプ =====*/
\r
823 #define HTYPE_AUTO 0 /* 自動 */
\r
824 #define HTYPE_ACOS 1 /* ACOS (待機結合ファイルの指定が必要) */
\r
825 #define HTYPE_VMS 2 /* VAX VMS */
\r
826 #define HTYPE_IRMX 3 /* IRMX */
\r
827 #define HTYPE_ACOS_4 4 /* ACOS ファイル名を('')で括らない */
\r
828 #define HTYPE_STRATUS 5 /* Stratus */
\r
829 #define HTYPE_AGILENT 6 /* Agilent Logic analyzer */
\r
830 #define HTYPE_SHIBASOKU 7 /* Shibasoku LSI test system */
\r
831 #if defined(HAVE_TANDEM)
\r
832 #define HTYPE_TANDEM 8 /* HP NonStop Server */
\r
835 /*===== コマンドラインオプション =====*/
\r
837 //#define OPT_MIRROR 0x0001 /* ミラーリングアップロードを行う */
\r
838 //#define OPT_FORCE 0x0002 /* ミラーリング開始の確認をしない */
\r
839 //#define OPT_QUIT 0x0004 /* 終了後プログラム終了 */
\r
840 //#define OPT_EUC 0x0008 /* 漢字コードはEUC */
\r
841 //#define OPT_JIS 0x0010 /* 漢字コードはJIS */
\r
842 //#define OPT_ASCII 0x0020 /* アスキー転送モード */
\r
843 //#define OPT_BINARY 0x0040 /* バイナリ転送モード */
\r
844 //#define OPT_AUTO 0x0080 /* 自動判別 */
\r
845 //#define OPT_KANA 0x0100 /* 半角かなをそのまま通す */
\r
846 //#define OPT_EUC_NAME 0x0200 /* ファイル名はEUC */
\r
847 //#define OPT_JIS_NAME 0x0400 /* ファイル名はJIS */
\r
848 //#define OPT_MIRRORDOWN 0x0800 /* ミラーリングダウンロードを行う */
\r
849 //#define OPT_SAVEOFF 0x1000 /* 設定の保存を中止する */
\r
850 //#define OPT_SAVEON 0x2000 /* 設定の保存を再開する */
\r
851 #define OPT_MIRROR 0x00000001 /* ミラーリングアップロードを行う */
\r
852 #define OPT_FORCE 0x00000002 /* ミラーリング開始の確認をしない */
\r
853 #define OPT_QUIT 0x00000004 /* 終了後プログラム終了 */
\r
854 #define OPT_EUC 0x00000008 /* 漢字コードはEUC */
\r
855 #define OPT_JIS 0x00000010 /* 漢字コードはJIS */
\r
856 #define OPT_ASCII 0x00000020 /* アスキー転送モード */
\r
857 #define OPT_BINARY 0x00000040 /* バイナリ転送モード */
\r
858 #define OPT_AUTO 0x00000080 /* 自動判別 */
\r
859 #define OPT_KANA 0x00000100 /* 半角かなをそのまま通す */
\r
860 #define OPT_EUC_NAME 0x00000200 /* ファイル名はEUC */
\r
861 #define OPT_JIS_NAME 0x00000400 /* ファイル名はJIS */
\r
862 #define OPT_MIRRORDOWN 0x00000800 /* ミラーリングダウンロードを行う */
\r
863 #define OPT_SAVEOFF 0x00001000 /* 設定の保存を中止する */
\r
864 #define OPT_SAVEON 0x00002000 /* 設定の保存を再開する */
\r
866 #define OPT_SJIS 0x00004000 /* 漢字コードはShift_JIS */
\r
867 #define OPT_UTF8N 0x00008000 /* 漢字コードはUTF-8 */
\r
868 #define OPT_UTF8BOM 0x00010000 /* 漢字コードはUTF-8 BOM */
\r
869 #define OPT_SJIS_NAME 0x00020000 /* ファイル名はShift_JIS */
\r
870 #define OPT_UTF8N_NAME 0x00040000 /* ファイル名はUTF-8 */
\r
872 /*===== ホストのヒストリ =====*/
\r
874 #define HISTORY_MAX 20 /* ファイルのヒストリの最大個数 */
\r
875 #define DEF_FMENU_ITEMS 8 /* Fileメニューにある項目数の初期値 */
\r
877 /*===== SOCKS4 =====*/
\r
879 #define SOCKS4_VER 4 /* SOCKSのバージョン */
\r
881 #define SOCKS4_CMD_CONNECT 1 /* CONNECTコマンド */
\r
882 #define SOCKS4_CMD_BIND 2 /* BINDコマンド */
\r
885 #define SOCKS4_RES_OK 90 /* 要求は許可された */
\r
886 /* その他のコードはチェックしないので定義しない */
\r
888 /*===== SOCKS5 =====*/
\r
890 #define SOCKS5_VER 5 /* SOCKSのバージョン */
\r
892 #define SOCKS5_CMD_CONNECT 1 /* CONNECTコマンド */
\r
893 #define SOCKS5_CMD_BIND 2 /* BINDコマンド */
\r
895 #define SOCKS5_AUTH_NONE 0 /* 認証無し */
\r
896 #define SOCKS5_AUTH_GSSAPI 1 /* GSS-API */
\r
897 #define SOCKS5_AUTH_USER 2 /* Username/Password */
\r
899 #define SOCKS5_ADRS_IPV4 1 /* IP V4 address */
\r
900 #define SOCKS5_ADRS_NAME 3 /* Domain name */
\r
901 #define SOCKS5_ADRS_IPV6 4 /* IP V6 address */
\r
903 #define SOCKS5_USERAUTH_VER 1 /* Username\Password認証のバージョン */
\r
906 #define SOCKS5_RES_OK 0x00 /* succeeded */
\r
907 /* その他のコードはチェックしないので定義しない */
\r
909 /*===== 中断コード =====*/
\r
911 #define ABORT_NONE 0 /* 転送中断なし */
\r
912 #define ABORT_USER 1 /* ユーザによる中断 */
\r
913 #define ABORT_ERROR 2 /* エラーによる中断 */
\r
914 #define ABORT_DISKFULL 3 /* ディスクフルよる中断 */
\r
916 /*===== FireWallの種類 =====*/
\r
918 #define FWALL_NONE 0 /* なし */
\r
919 #define FWALL_FU_FP_SITE 1 /* FW user → FW pass → SITE host */
\r
920 #define FWALL_FU_FP_USER 2 /* FW user → FW pass → USER user@host */
\r
921 #define FWALL_USER 3 /* USER user@host */
\r
922 #define FWALL_OPEN 4 /* OPEN host */
\r
923 #define FWALL_SOCKS4 5 /* SOCKS4 */
\r
924 #define FWALL_SOCKS5_NOAUTH 6 /* SOCKS5 (認証なし) */
\r
925 #define FWALL_SOCKS5_USER 7 /* SOCKS5 (Username/Password認証) */
\r
926 #define FWALL_FU_FP 8 /* FW user → FW pass */
\r
927 #define FWALL_SIDEWINDER 9 /* USER FWuser:FWpass@host */
\r
929 /*===== ワンタイムパスワード =====*/
\r
932 #define SECURITY_DISABLE 0 /* 使用しない */
\r
933 #define SECURITY_AUTO 1 /* 自動認識 */
\r
934 #define MD4 2 /* MD4 */
\r
935 #define MD5 3 /* MD5 */
\r
936 #define SHA1 4 /* SHA-1 */
\r
938 #define MAX_SEED_LEN 16 /* Seedの文字数 */
\r
940 /*===== 再帰的なファイル検索の方法 =====*/
\r
942 #define RDIR_NONE 0 /* 再帰検索なし */
\r
943 #define RDIR_NLST 1 /* NLST -R */
\r
944 #define RDIR_CWD 2 /* CWDで移動 */
\r
946 /*===== VAX VMS 関係 =====*/
\r
948 #define BLOCK_SIZE 512 /* 1ブロックのバイト数 */
\r
950 /*===== 設定のレベル =====*/
\r
952 #define SET_LEVEL_GROUP 0x8000 /* グループのフラグ */
\r
953 #define SET_LEVEL_MASK 0x7FFF
\r
954 #define SET_LEVEL_SAME 0x7FFF
\r
956 /*===== 日付、数値の表示形式 =====*/
\r
958 #define DISPFORM_LEGACY 0 /* 固定書式 */
\r
959 #define DISPFORM_LOCALE 1 /* コントロールパネルに従う */
\r
961 /*===== ファイル一覧に存在した情報 =====*/
\r
963 #define FINFO_DATE 0x01 /* 日付 */
\r
964 #define FINFO_TIME 0x02 /* 時間 */
\r
965 #define FINFO_SIZE 0x04 /* サイズ */
\r
966 #define FINFO_ATTR 0x08 /* 属性 */
\r
967 #define FINFO_ALL 0xFF /* 全て */
\r
969 /*===== GetMasterPasswordStatusで使うコード =====*/
\r
970 #define PASSWORD_OK 0
\r
971 #define PASSWORD_UNMATCH 2
\r
972 #define BAD_PASSWORD_HASH 3
\r
974 /*===== 暗号化パスワード設定 =====*/
\r
975 #define DEFAULT_PASSWORD "DefaultPassword"
\r
976 #define MAX_PASSWORD_LEN 128
\r
979 #define CRYPT_NONE 0
\r
980 #define CRYPT_FTPES 1
\r
981 #define CRYPT_FTPIS 2
\r
982 #define CRYPT_SFTP 3
\r
986 #define FEATURE_UTF8 0x00000001
\r
988 #define FEATURE_MLSD 0x00000002
\r
990 #define FEATURE_EPRT 0x00000004
\r
991 #define FEATURE_EPSV 0x00000008
\r
993 #define FEATURE_MDTM 0x00000010
\r
995 #define FEATURE_MFMT 0x00000020
\r
998 #define NTYPE_AUTO 0 /* 自動 */
\r
999 #define NTYPE_IPV4 1 /* TCP/IPv4 */
\r
1000 #define NTYPE_IPV6 2 /* TCP/IPv6 */
\r
1003 // REG_SECT_MAXの値を加味する必要がある
\r
1004 #define MAX_CERT_CACHE_HASH 256
\r
1007 /*=================================================
\r
1009 *=================================================*/
\r
1011 /*===== ホスト設定データ =====*/
\r
1014 int Level; /* 設定のレベル */
\r
1015 /* 通常はグループのフラグのみが有効 */
\r
1016 /* レベル数は設定の登録/呼出時のみで使用 */
\r
1017 char HostName[HOST_NAME_LEN+1]; /* 設定名 */
\r
1018 char HostAdrs[HOST_ADRS_LEN+1]; /* ホスト名 */
\r
1019 char UserName[USER_NAME_LEN+1]; /* ユーザ名 */
\r
1020 char PassWord[PASSWORD_LEN+1]; /* パスワード */
\r
1021 char Account[ACCOUNT_LEN+1]; /* アカウント */
\r
1022 char LocalInitDir[INIT_DIR_LEN+1]; /* ローカルの開始ディレクトリ */
\r
1023 char RemoteInitDir[INIT_DIR_LEN+1]; /* ホストの開始ディレクトリ */
\r
1024 char BookMark[BOOKMARK_SIZE]; /* ブックマーク */
\r
1025 char ChmodCmd[CHMOD_CMD_LEN+1]; /* 属性変更コマンド */
\r
1026 char LsName[NLST_NAME_LEN+1]; /* NLSTに付けるファイル名/オプション*/
\r
1027 char InitCmd[INITCMD_LEN+1]; /* ホストの初期化コマンド */
\r
1028 int Port; /* ポート番号 */
\r
1029 int Anonymous; /* Anonymousフラグ */
\r
1030 int KanjiCode; /* ホストの漢字コード (KANJI_xxx) */
\r
1031 int KanaCnv; /* 半角カナを全角に変換(YES/NO) */
\r
1032 int NameKanjiCode; /* ファイル名の漢字コード (KANJI_xxx) */
\r
1034 int CurNameKanjiCode; /* 自動判別後のファイル名の漢字コード (KANJI_xxx) */
\r
1035 int NameKanaCnv; /* ファイル名の半角カナを全角に変換(YES/NO) */
\r
1036 int Pasv; /* PASVモード (YES/NO) */
\r
1037 int FireWall; /* FireWallを使う (YES/NO) */
\r
1038 int ListCmdOnly; /* "LIST"コマンドのみ使用する */
\r
1039 int UseNLST_R; /* "NLST -R"コマンドを使用する */
\r
1040 int LastDir; /* 最後にアクセスしたフォルダを保存 */
\r
1041 int TimeZone; /* タイムゾーン (-12~12) */
\r
1042 int HostType; /* ホストのタイプ (HTYPE_xxx) */
\r
1043 int SyncMove; /* フォルダ同時移動 (YES/NO) */
\r
1044 int NoFullPath; /* フルパスでファイルアクセスしない (YES/NO) */
\r
1045 ulong Sort; /* ソート方法 (0x11223344 : 11=LFsort 22=LDsort 33=RFsort 44=RFsort) */
\r
1046 int Security; /* セキュリティ (SECURITY_xxx , MDx) */
\r
1047 int Dialup; /* ダイアルアップ接続するかどうか (YES/NO) */
\r
1048 int DialupAlways; /* 常にこのエントリへ接続するかどうか (YES/NO) */
\r
1049 int DialupNotify; /* 再接続の際に確認する (YES/NO) */
\r
1050 char DialEntry[RAS_NAME_LEN+1]; /* ダイアルアップエントリ */
\r
1052 int CryptMode; /* 暗号化通信モード (CRYPT_xxx) */
\r
1053 int UseNoEncryption; /* 暗号化なしで接続する (YES/NO) */
\r
1054 int UseFTPES; /* FTPESで接続する (YES/NO) */
\r
1055 int UseFTPIS; /* FTPISで接続する (YES/NO) */
\r
1056 int UseSFTP; /* SFTPで接続する (YES/NO) */
\r
1057 char PrivateKey[PRIVATE_KEY_LEN+1]; /* テキスト形式の秘密鍵 */
\r
1058 int NoWeakEncryption; /* 弱い暗号を拒否 (YES/NO) */
\r
1060 int MaxThreadCount; /* 同時接続数 */
\r
1061 int ReuseCmdSkt; /* メインウィンドウのソケットを再利用する (YES/NO) */
\r
1062 int NoDisplayUI; /* UIを表示しない (YES/NO) */
\r
1064 int Feature; /* 利用可能な機能のフラグ (FEATURE_xxx) */
\r
1066 int UseMLSD; /* "MLSD"コマンドを使用する */
\r
1068 int NetType; /* ネットワークの種類 (NTYPE_xxx) */
\r
1069 int CurNetType; /* 接続中のネットワークの種類 (NTYPE_xxx) */
\r
1071 int NoopInterval; /* 無意味なコマンドを送信する間隔(秒数、0で無効)*/
\r
1073 int TransferErrorMode; /* 転送エラー時の処理 (EXIST_xxx) */
\r
1074 int TransferErrorNotify; /* 転送エラー時に確認ダイアログを出すかどうか (YES/NO) */
\r
1075 // セッションあたりの転送量制限対策
\r
1076 int TransferErrorReconnect; /* 転送エラー時に再接続する (YES/NO) */
\r
1078 int NoPasvAdrs; /* PASVで返されるアドレスを無視する (YES/NO) */
\r
1082 /*===== ホスト設定リスト =====*/
\r
1084 typedef struct hostlistdata {
\r
1085 HOSTDATA Set; /* ホスト設定データ */
\r
1086 struct hostlistdata *Next;
\r
1087 struct hostlistdata *Prev;
\r
1088 struct hostlistdata *Child;
\r
1089 struct hostlistdata *Parent;
\r
1093 /*===== 接続ヒストリリスト =====*/
\r
1095 typedef struct historydata {
\r
1096 char HostAdrs[HOST_ADRS_LEN+1]; /* ホスト名 */
\r
1097 char UserName[USER_NAME_LEN+1]; /* ユーザ名 */
\r
1098 char PassWord[PASSWORD_LEN+1]; /* パスワード */
\r
1099 char Account[ACCOUNT_LEN+1]; /* アカウント */
\r
1100 char LocalInitDir[INIT_DIR_LEN+1]; /* ディレクトリ */
\r
1101 char RemoteInitDir[INIT_DIR_LEN+1]; /* ディレクトリ */
\r
1102 char ChmodCmd[CHMOD_CMD_LEN+1]; /* 属性変更コマンド */
\r
1103 char LsName[NLST_NAME_LEN+1]; /* NLSTに付けるファイル名/オプション*/
\r
1104 char InitCmd[INITCMD_LEN+1]; /* ホストの初期化コマンド */
\r
1105 int Port; /* ポート番号 */
\r
1106 int KanjiCode; /* ホストの漢字コード (KANJI_xxx) */
\r
1107 int KanaCnv; /* 半角カナを全角に変換(YES/NO) */
\r
1108 int NameKanjiCode; /* ファイル名の漢字コード (KANJI_xxx) */
\r
1109 int NameKanaCnv; /* ファイル名の半角カナを全角に変換(YES/NO) */
\r
1110 int Pasv; /* PASVモード (YES/NO) */
\r
1111 int FireWall; /* FireWallを使う (YES/NO) */
\r
1112 int ListCmdOnly; /* "LIST"コマンドのみ使用する */
\r
1113 int UseNLST_R; /* "NLST -R"コマンドを使用する */
\r
1114 int TimeZone; /* タイムゾーン (-12~12) */
\r
1115 int HostType; /* ホストのタイプ (HTYPE_xxx) */
\r
1116 int SyncMove; /* フォルダ同時移動 (YES/NO) */
\r
1117 int NoFullPath; /* フルパスでファイルアクセスしない (YES/NO) */
\r
1118 ulong Sort; /* ソート方法 (0x11223344 : 11=LFsort 22=LDsort 33=RFsort 44=RFsort) */
\r
1119 int Security; /* セキュリティ (OTP_xxx , MDx) */
\r
1120 int Type; /* 転送方法 (TYPE_xx) */
\r
1121 int Dialup; /* ダイアルアップ接続するかどうか (YES/NO) */
\r
1122 int DialupAlways; /* 常にこのエントリへ接続するかどうか (YES/NO) */
\r
1123 int DialupNotify; /* 再接続の際に確認する (YES/NO) */
\r
1124 char DialEntry[RAS_NAME_LEN+1]; /* ダイアルアップエントリ */
\r
1126 int UseNoEncryption; /* 暗号化なしで接続する (YES/NO) */
\r
1127 int UseFTPES; /* FTPESで接続する (YES/NO) */
\r
1128 int UseFTPIS; /* FTPISで接続する (YES/NO) */
\r
1129 int UseSFTP; /* SFTPで接続する (YES/NO) */
\r
1130 char PrivateKey[PRIVATE_KEY_LEN+1]; /* テキスト形式の秘密鍵 */
\r
1131 int NoWeakEncryption; /* 弱い暗号を拒否 (YES/NO) */
\r
1133 int MaxThreadCount; /* 同時接続数 */
\r
1134 int ReuseCmdSkt; /* メインウィンドウのソケットを再利用する (YES/NO) */
\r
1136 int UseMLSD; /* "MLSD"コマンドを使用する */
\r
1138 int NetType; /* ネットワークの種類 (NTYPE_xxx) */
\r
1140 int NoopInterval; /* NOOPコマンドを送信する間隔(秒数、0で無効)*/
\r
1142 int TransferErrorMode; /* 転送エラー時の処理 (EXIST_xxx) */
\r
1143 int TransferErrorNotify; /* 転送エラー時に確認ダイアログを出すかどうか (YES/NO) */
\r
1144 // セッションあたりの転送量制限対策
\r
1145 int TransferErrorReconnect; /* 転送エラー時に再接続する (YES/NO) */
\r
1147 int NoPasvAdrs; /* PASVで返されるアドレスを無視する (YES/NO) */
\r
1148 struct historydata *Next;
\r
1152 /*===== 転送ファイルリスト =====*/
\r
1154 typedef struct transpacket {
\r
1155 SOCKET ctrl_skt; /* Socket */
\r
1156 char Cmd[40]; /* STOR/RETR/MKD */
\r
1157 char RemoteFile[FMAX_PATH+1]; /* ホスト側のファイル名(フルパス) */
\r
1158 /* VMSの時は ddd[xxx.yyy]/yyy/zzz のように */
\r
1160 char LocalFile[FMAX_PATH+1]; /* ローカル側のファイル名(フルパス) */
\r
1161 int Type; /* 転送方法 (TYPE_xx) */
\r
1162 LONGLONG Size; /* ファイルのサイズ */
\r
1163 LONGLONG ExistSize; /* すでに存在するファイルのサイズ */
\r
1164 /* 転送中は、転送したファイルのサイズを格納する */
\r
1165 FILETIME Time; /* ファイルの時間(UTC) */
\r
1166 int Attr; /* ファイルの属性 */
\r
1167 int KanjiCode; /* 漢字コード (KANJI_xxx) */
\r
1169 int KanjiCodeDesired; /* ローカルの漢字コード (KANJI_xxx) */
\r
1170 int KanaCnv; /* 半角カナを全角に変換(YES/NO) */
\r
1171 int Mode; /* 転送モード (EXIST_xxx) */
\r
1172 #if defined(HAVE_TANDEM)
\r
1173 int FileCode; /* ファイルコード */
\r
1174 int PriExt; /* Primary Extents */
\r
1175 int SecExt; /* Secondary Extents */
\r
1176 int MaxExt; /* Max Extents */
\r
1178 HWND hWndTrans; /* 転送中ダイアログのウインドウハンドル */
\r
1179 int Abort; /* 転送中止フラグ (ABORT_xxx) */
\r
1184 struct transpacket *Next;
\r
1188 /*===== ファイルリスト =====*/
\r
1190 typedef struct filelist {
\r
1191 char File[FMAX_PATH+1]; /* ファイル名 */
\r
1192 char Node; /* 種類 (NODE_xxx) */
\r
1193 char Link; /* リンクファイルかどうか (YES/NO) */
\r
1194 LONGLONG Size; /* ファイルサイズ */
\r
1195 int Attr; /* 属性 */
\r
1196 FILETIME Time; /* 時間(UTC) */
\r
1197 char Owner[OWNER_NAME_LEN+1]; /* オーナ名 */
\r
1198 char InfoExist; /* ファイル一覧に存在した情報のフラグ (FINFO_xxx) */
\r
1200 int ImageId; /* アイコン画像番号 */
\r
1201 struct filelist *Next;
\r
1205 /*===== コード変換情報パケット =====*/
\r
1207 typedef char * (*funcptr)(struct codeconvinfo *, char , char *);
\r
1209 typedef int (*convptr)(struct codeconvinfo *);
\r
1211 typedef struct codeconvinfo {
\r
1212 char *Str; /* 文字列 */
\r
1213 int StrLen; /* 文字列の長さ */
\r
1214 int KanaCnv; /* 半角カタカナを全角に変換するかどうか (YES/NO) */
\r
1215 char *Buf; /* 変換後の文字列を格納するバッファ */
\r
1216 int BufSize; /* 変換後の文字列を格納するバッファのサイズ */
\r
1217 int OutLen; /* 変換後の文字列のサイズ */
\r
1218 int KanjiMode; /* 漢字モードフラグ(YES/NO) (内部処理用ワーク) */
\r
1219 int EscProc; /* エスケープシーケンス文字数 (0~) (内部処理用ワーク) */
\r
1220 char EscCode[2]; /* エスケープシーケンス文字保存用 (内部処理用ワーク) */
\r
1221 char KanjiFst; /* 漢字コード1バイト目保存用 (内部処理用ワーク) */
\r
1222 char KanaPrev; /* 半角カタカナ保存用 (内部処理用ワーク) */
\r
1223 funcptr KanaProc; /* 半角カタカナ処理ルーチン (内部処理用ワーク) */
\r
1225 char EscUTF8[16]; /* エスケープシーケンス文字数 (0~) (内部処理用ワーク) */
\r
1226 int EscUTF8Len; /* エスケープシーケンス文字保存用 (内部処理用ワーク) */
\r
1227 int EscFlush; /* 残り情報を出力 (YES/NO) */
\r
1228 convptr FlushProc; /* 残り情報処理ルーチン (内部処理用ワーク) */
\r
1232 /*===== 改行コード変換情報パケット =====*/
\r
1234 typedef struct termcodeconvinfo {
\r
1235 char *Str; /* 文字列 */
\r
1236 int StrLen; /* 文字列の長さ */
\r
1237 char *Buf; /* 変換後の文字列を格納するバッファ */
\r
1238 int BufSize; /* 変換後の文字列を格納するバッファのサイズ */
\r
1239 int OutLen; /* 変換後の文字列のサイズ */
\r
1240 char Term; /* 改行コード1バイト目保存用 (内部処理用ワーク) */
\r
1241 } TERMCODECONVINFO;
\r
1244 /*===== テンポラリファイルリスト =====*/
\r
1246 typedef struct tempfilelist {
\r
1247 char *Fname; /* ファイル名 */
\r
1248 struct tempfilelist *Next;
\r
1252 /*===== サウンドファイル =====*/
\r
1255 int On; /* ON/OFFスイッチ */
\r
1256 char Fname[FMAX_PATH+1]; /* ファイル名 */
\r
1260 /*===== ラジオボタンの設定 =====*/
\r
1263 int ButID; /* ボタンのID */
\r
1264 int Value; /* 値 */
\r
1268 /*===== SOCKS4 =====*/
\r
1272 char Ver; /* バージョン (SOCKS4_VER) */
\r
1273 char Cmd; /* コマンド (SOCKS4_CMD_xxx) */
\r
1274 ushort Port; /* ポート */
\r
1275 ulong AdrsInt; /* アドレス */
\r
1276 char UserID[USER_NAME_LEN+1]; /* ユーザID */
\r
1282 char Ver; /* バージョン */
\r
1283 char Result; /* リザルトコード (SOCKS4_RES_xxx) */
\r
1284 ushort Port; /* ポート */
\r
1285 ulong AdrsInt; /* アドレス */
\r
1288 #define SOCKS4REPLY_SIZE 8
\r
1291 /*===== SOCKS5 =====*/
\r
1293 /* Method requestパケット */
\r
1295 char Ver; /* バージョン (SOCKS5_VER) */
\r
1296 char Num; /* メソッドの数 */
\r
1297 uchar Methods[1]; /* メソッド */
\r
1298 } SOCKS5METHODREQUEST;
\r
1300 #define SOCKS5METHODREQUEST_SIZE 3
\r
1303 /* Method replyパケット */
\r
1305 char Ver; /* バージョン (SOCKS5_VER) */
\r
1306 uchar Method; /* メソッド */
\r
1307 } SOCKS5METHODREPLY;
\r
1309 #define SOCKS5METHODREPLY_SIZE 2
\r
1314 char Ver; /* バージョン (SOCKS5_VER) */
\r
1315 char Cmd; /* コマンド (SOCKS5_CMD_xxx) */
\r
1316 char Rsv; /* (予約) */
\r
1317 char Type; /* アドレスのタイプ */
\r
1319 char _dummy[255+1+2]; /* アドレス、ポート */
\r
1322 #define SOCKS5REQUEST_SIZE 4 /* 最初の固定部分のサイズ */
\r
1327 char Ver; /* バージョン */
\r
1328 char Result; /* リザルトコード (SOCKS4_RES_xxx) */
\r
1329 char Rsv; /* (予約) */
\r
1330 char Type; /* アドレスのタイプ */
\r
1333 // ulong AdrsInt; /* アドレス */
\r
1334 // ushort Port; /* ポート */
\r
1335 // char _dummy[2]; /* dummy */
\r
1336 char _dummy[255+1+2]; /* dummy */
\r
1339 #define SOCKS5REPLY_SIZE 4 /* 最初の固定部分のサイズ */
\r
1342 /* Username/Password認証statusパケット */
\r
1344 char Ver; /* バージョン */
\r
1345 uchar Status; /* ステータス */
\r
1346 } SOCKS5USERPASSSTATUS;
\r
1348 #define SOCKS5USERPASSSTATUS_SIZE 2
\r
1352 /*===== ダイアログボックス変更処理用 =====*/
\r
1356 // int HorMoveList[10]; /* 水平に動かす部品のリスト */
\r
1357 // int VarMoveList[10]; /* 垂直に動かす部品のリスト */
\r
1358 // int ResizeList[10]; /* サイズ変更する部品のリスト */
\r
1359 int HorMoveList[16]; /* 水平に動かす部品のリスト */
\r
1360 int VarMoveList[16]; /* 垂直に動かす部品のリスト */
\r
1361 int ResizeList[16]; /* サイズ変更する部品のリスト */
\r
1362 SIZE MinSize; /* 最少サイズ */
\r
1363 SIZE CurSize; /* 現在のサイズ */
\r
1367 /*===== 数値変換用 =====*/
\r
1383 } ADDPORTMAPPINGDATA;
\r
1390 } REMOVEPORTMAPPINGDATA;
\r
1398 } MARKFILEASDOWNLOADEDFROMINTERNETDATA;
\r
1400 /*=================================================
\r
1402 *=================================================*/
\r
1404 /*===== main.c =====*/
\r
1406 int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int cmdShow);
\r
1407 void DispWindowTitle(void);
\r
1408 HWND GetMainHwnd(void);
\r
1409 HWND GetFocusHwnd(void);
\r
1410 void SetFocusHwnd(HWND hWnd);
\r
1411 HINSTANCE GetFtpInst(void);
\r
1412 void DoubleClickProc(int Win, int Mode, int App);
\r
1413 void ExecViewer(char *Fname, int App);
\r
1414 void ExecViewer2(char *Fname1, char *Fname2, int App);
\r
1415 void AddTempFileList(char *Fname);
\r
1416 void SoundPlay(int Num);
\r
1417 char *AskHelpFilePath(void);
\r
1418 char *AskTmpFilePath(void);
\r
1419 char *AskIniFilePath(void);
\r
1420 int AskForceIni(void);
\r
1421 int BackgrndMessageProc(void);
\r
1422 void ResetAutoExitFlg(void);
\r
1423 int AskAutoExit(void);
\r
1425 BOOL __stdcall SSLTimeoutCallback(BOOL* pbAborted);
\r
1426 BOOL __stdcall SSLConfirmCallback(BOOL* pbAborted, BOOL bVerified, LPCSTR Certificate, LPCSTR CommonName);
\r
1427 BOOL LoadSSLRootCAFile();
\r
1428 // マルチコアCPUの特定環境下でファイル通信中にクラッシュするバグ対策
\r
1429 BOOL IsMainThread();
\r
1431 void CheckPortableVersion();
\r
1432 int AskPortableVersion(void);
\r
1437 int LoadTaskbarList3();
\r
1438 void FreeTaskbarList3();
\r
1439 int IsTaskbarList3Loaded();
\r
1440 void UpdateTaskbarProgress();
\r
1442 int AskToolWinHeight(void);
\r
1444 void UpdateSoftware(int Async, int NoError, int NoConfirm);
\r
1446 /*===== filelist.c =====*/
\r
1448 int MakeListWin(HWND hWnd, HINSTANCE hInst);
\r
1449 void DeleteListWin(void);
\r
1450 HWND GetLocalHwnd(void);
\r
1451 HWND GetRemoteHwnd(void);
\r
1452 void GetListTabWidth(void);
\r
1453 void SetListViewType(void);
\r
1454 void GetRemoteDirForWnd(int Mode, int *CancelCheckWork);
\r
1455 void GetLocalDirForWnd(void);
\r
1456 void ReSortDispList(int Win, int *CancelCheckWork);
\r
1458 //void SelectFileInList(HWND hWnd, int Type);
\r
1459 void SelectFileInList(HWND hWnd, int Type, FILELIST *Base);
\r
1460 void FindFileInList(HWND hWnd, int Type);
\r
1461 // void WildCard2RegExp(char *Str);
\r
1462 int GetCurrentItem(int Win);
\r
1463 int GetItemCount(int Win);
\r
1464 int GetSelectedCount(int Win);
\r
1465 int GetFirstSelected(int Win, int All);
\r
1466 int GetNextSelected(int Win, int Pos, int All);
\r
1468 int GetHotSelected(int Win, char *Fname);
\r
1469 int SetHotSelected(int Win, char *Fname);
\r
1470 int FindNameNode(int Win, char *Name);
\r
1471 void GetNodeName(int Win, int Pos, char *Buf, int Max);
\r
1472 int GetNodeTime(int Win, int Pos, FILETIME *Buf);
\r
1473 int GetNodeSize(int Win, int Pos, LONGLONG *Buf);
\r
1474 int GetNodeAttr(int Win, int Pos, int *Buf);
\r
1475 int GetNodeType(int Win, int Pos);
\r
1476 void GetNodeOwner(int Win, int Pos, char *Buf, int Max);
\r
1477 void EraseRemoteDirForWnd(void);
\r
1478 double GetSelectedTotalSize(int Win);
\r
1480 //void MakeSelectedFileList(int Win, int Expand, int All, FILELIST **Base, int *CancelCheckWork);
\r
1481 int MakeSelectedFileList(int Win, int Expand, int All, FILELIST **Base, int *CancelCheckWork);
\r
1482 void MakeDroppedFileList(WPARAM wParam, char *Cur, FILELIST **Base);
\r
1483 void MakeDroppedDir(WPARAM wParam, char *Cur);
\r
1484 void AddRemoteTreeToFileList(int Num, char *Path, int IncDir, FILELIST **Base);
\r
1485 void DeleteFileList(FILELIST **Base);
\r
1486 FILELIST *SearchFileList(char *Fname, FILELIST *Base, int Caps);
\r
1487 int Assume1900or2000(int Year);
\r
1488 void SetFilter(int *CancelCheckWork);
\r
1489 void doDeleteRemoteFile(void);
\r
1491 int AnalyzeNameKanjiCode(int Num);
\r
1494 /*===== toolmenu.c =====*/
\r
1496 int MakeToolBarWindow(HWND hWnd, HINSTANCE hInst);
\r
1497 void DeleteToolBarWindow(void);
\r
1498 HWND GetMainTbarWnd(void);
\r
1499 HWND GetLocalHistHwnd(void);
\r
1500 HWND GetRemoteHistHwnd(void);
\r
1501 HWND GetLocalHistEditHwnd(void);
\r
1502 HWND GetRemoteHistEditHwnd(void);
\r
1503 HWND GetLocalTbarWnd(void);
\r
1504 HWND GetRemoteTbarWnd(void);
\r
1505 int GetHideUI(void);
\r
1506 void MakeButtonsFocus(void);
\r
1507 void DisableUserOpe(void);
\r
1508 void EnableUserOpe(void);
\r
1509 int AskUserOpeDisabled(void);
\r
1510 void SetTransferTypeImm(int Mode);
\r
1511 void SetTransferType(int Type);
\r
1512 void DispTransferType(void);
\r
1513 int AskTransferType(void);
\r
1514 int AskTransferTypeAssoc(char *Fname, int Type);
\r
1515 void SaveTransferType(void);
\r
1516 void SetHostKanjiCodeImm(int Mode);
\r
1517 void SetHostKanjiCode(int Type);
\r
1518 void DispHostKanjiCode(void);
\r
1519 int AskHostKanjiCode(void);
\r
1520 void HideHostKanjiButton(void);
\r
1522 void SetLocalKanjiCodeImm(int Mode);
\r
1523 void SetLocalKanjiCode(int Type);
\r
1524 void DispLocalKanjiCode(void);
\r
1525 int AskLocalKanjiCode(void);
\r
1526 void HideLocalKanjiButton(void);
\r
1527 void SaveLocalKanjiCode(void);
\r
1528 void SetHostKanaCnvImm(int Mode);
\r
1529 void SetHostKanaCnv(void);
\r
1530 void DispHostKanaCnv(void);
\r
1531 int AskHostKanaCnv(void);
\r
1532 void SetSortTypeImm(int LFsort, int LDsort, int RFsort, int RDsort);
\r
1533 void SetSortTypeByColumn(int Win, int Tab);
\r
1534 int AskSortType(int Name);
\r
1535 void SetSaveSortToHost(int Sw);
\r
1536 int AskSaveSortToHost(void);
\r
1537 void DispListType(void);
\r
1538 void SetSyncMoveMode(int Mode);
\r
1539 void ToggleSyncMoveMode(void);
\r
1540 void DispSyncMoveMode(void);
\r
1541 int AskSyncMoveMode(void);
\r
1542 void SetRemoteDirHist(char *Path);
\r
1543 void SetLocalDirHist(char *Path);
\r
1544 void AskLocalCurDir(char *Buf, int Max);
\r
1545 void AskRemoteCurDir(char *Buf, int Max);
\r
1546 void SetCurrentDirAsDirHist(void);
\r
1547 void DispDotFileMode(void);
\r
1548 void LocalRbuttonMenu(int Pos);
\r
1549 void RemoteRbuttonMenu(int Pos);
\r
1551 /*===== statuswin.c =====*/
\r
1553 int MakeStatusBarWindow(HWND hWnd, HINSTANCE hInst);
\r
1554 void DeleteStatusBarWindow(void);
\r
1555 HWND GetSbarWnd(void);
\r
1556 void DispCurrentWindow(int Win);
\r
1557 void DispSelectedSpace(void);
\r
1558 void DispLocalFreeSpace(char *Path);
\r
1559 void DispTransferFiles(void);
\r
1560 void DispDownloadSize(LONGLONG Size);
\r
1562 /*===== taskwin.c =====*/
\r
1564 int MakeTaskWindow(HWND hWnd, HINSTANCE hInst);
\r
1565 void DeleteTaskWindow(void);
\r
1566 HWND GetTaskWnd(void);
\r
1567 void SetTaskMsg(char *szFormat, ...);
\r
1568 int SaveTaskMsg(char *Fname);
\r
1569 void DispTaskMsg(void);
\r
1570 void DoPrintf(char *szFormat, ...);
\r
1571 void DoPrintf2(char *szFormat, ...);
\r
1573 /*===== hostman.c =====*/
\r
1575 int SelectHost(int Type);
\r
1576 int AddHostToList(HOSTDATA *Set, int Pos, int Level);
\r
1577 int CopyHostFromList(int Num, HOSTDATA *Set);
\r
1578 int CopyHostFromListInConnect(int Num, HOSTDATA *Set);
\r
1579 int SetHostBookMark(int Num, char *Bmask, int Len);
\r
1580 char *AskHostBookMark(int Num);
\r
1581 int SetHostDir(int Num, char *LocDir, char *HostDir);
\r
1582 int SetHostPassword(int Num, char *Pass);
\r
1583 int SetHostSort(int Num, int LFSort, int LDSort, int RFSort, int RDSort);
\r
1584 void DecomposeSortType(ulong Sort, int *LFSort, int *LDSort, int *RFSort, int *RDSort);
\r
1585 int AskCurrentHost(void);
\r
1586 void SetCurrentHost(int Num);
\r
1587 void CopyDefaultHost(HOSTDATA *Set);
\r
1589 void ResetDefaultHost(void);
\r
1590 void SetDefaultHost(HOSTDATA *Set);
\r
1591 void CopyDefaultDefaultHost(HOSTDATA *Set);
\r
1592 int SearchHostName(char *Name);
\r
1593 void ImportFromWSFTP(void);
\r
1595 int SetHostEncryption(int Num, int UseNoEncryption, int UseFTPES, int UseFTPIS, int UseSFTP);
\r
1597 /*===== connect.c =====*/
\r
1599 void ConnectProc(int Type, int Num);
\r
1600 void QuickConnectProc(void);
\r
1601 void DirectConnectProc(char *unc, int Kanji, int Kana, int Fkanji, int TrMode);
\r
1602 void HistoryConnectProc(int MenuCmd);
\r
1603 char *AskHostAdrs(void);
\r
1604 int AskHostPort(void);
\r
1605 int AskHostNameKanji(void);
\r
1606 int AskHostNameKana(void);
\r
1607 int AskListCmdMode(void);
\r
1608 int AskUseNLST_R(void);
\r
1609 char *AskHostChmodCmd(void);
\r
1610 int AskHostTimeZone(void);
\r
1611 int AskPasvMode(void);
\r
1612 char *AskHostLsName(void);
\r
1613 int AskHostType(void);
\r
1614 int AskHostFireWall(void);
\r
1615 int AskNoFullPathMode(void);
\r
1616 char *AskHostUserName(void);
\r
1617 void SaveCurrentSetToHost(void);
\r
1618 int ReConnectCmdSkt(void);
\r
1619 // int ReConnectTrnSkt(void);
\r
1621 int ReConnectTrnSkt(SOCKET *Skt, int *CancelCheckWork);
\r
1622 SOCKET AskCmdCtrlSkt(void);
\r
1623 SOCKET AskTrnCtrlSkt(void);
\r
1624 void SktShareProh(void);
\r
1625 int AskShareProh(void);
\r
1626 void DisconnectProc(void);
\r
1627 void DisconnectSet(void);
\r
1628 int AskConnecting(void);
\r
1629 #if defined(HAVE_TANDEM)
\r
1630 int AskRealHostType(void);
\r
1631 int SetOSS(int wkOss);
\r
1634 SOCKET connectsock(char *host, int port, char *PreMsg, int *CancelCheckWork);
\r
1636 SOCKET connectsockIPv4(char *host, int port, char *PreMsg, int *CancelCheckWork);
\r
1637 SOCKET connectsockIPv6(char *host, int port, char *PreMsg, int *CancelCheckWork);
\r
1638 SOCKET GetFTPListenSocket(SOCKET ctrl_skt, int *CancelCheckWork);
\r
1640 SOCKET GetFTPListenSocketIPv4(SOCKET ctrl_skt, int *CancelCheckWork);
\r
1641 SOCKET GetFTPListenSocketIPv6(SOCKET ctrl_skt, int *CancelCheckWork);
\r
1642 int AskTryingConnect(void);
\r
1644 //int SocksGet2ndBindReply(SOCKET Socket, SOCKET *Data);
\r
1645 int SocksGet2ndBindReply(SOCKET Socket, SOCKET *Data, int *CancelCheckWork);
\r
1647 int AskCryptMode(void);
\r
1648 int AskUseNoEncryption(void);
\r
1649 int AskUseFTPES(void);
\r
1650 int AskUseFTPIS(void);
\r
1651 int AskUseSFTP(void);
\r
1652 char *AskPrivateKey(void);
\r
1654 int AskMaxThreadCount(void);
\r
1655 int AskReuseCmdSkt(void);
\r
1657 int AskHostFeature(void);
\r
1659 int AskUseMLSD(void);
\r
1661 int AskCurNetType(void);
\r
1663 int AskNoopInterval(void);
\r
1665 int AskTransferErrorMode(void);
\r
1666 int AskTransferErrorNotify(void);
\r
1667 // セッションあたりの転送量制限対策
\r
1668 int AskErrorReconnect(void);
\r
1670 int AskNoPasvAdrs(void);
\r
1672 /*===== cache.c =====*/
\r
1674 int MakeCacheBuf(int Num);
\r
1675 void DeleteCacheBuf(void);
\r
1676 int AskCached(char *Path);
\r
1677 int AskFreeCache(void);
\r
1678 void SetCache(int Num, char *Path);
\r
1679 void ClearCache(int Num);
\r
1680 int AskCurrentFileListNum(void);
\r
1681 void SetCurrentFileListNum(int Num);
\r
1682 void SaveCache(void);
\r
1683 void LoadCache(void);
\r
1684 void DeleteCache(void);
\r
1685 void MakeCacheFileName(int Num, char *Buf);
\r
1686 void CountPrevFfftpWindows(void);
\r
1688 /*===== ftpproc.c =====*/
\r
1690 void DownloadProc(int ChName, int ForceFile, int All);
\r
1691 void DirectDownloadProc(char *Fname);
\r
1692 void InputDownloadProc(void);
\r
1693 void MirrorDownloadProc(int Notify);
\r
1694 void UploadListProc(int ChName, int All);
\r
1695 void UploadDragProc(WPARAM wParam);
\r
1696 void MirrorUploadProc(int Notify);
\r
1697 void DeleteProc(void);
\r
1698 void RenameProc(void);
\r
1699 void MoveRemoteFileProc(int);
\r
1700 void MkdirProc(void);
\r
1701 void ChangeDirComboProc(HWND hWnd);
\r
1702 void ChangeDirBmarkProc(int MarkID);
\r
1703 void ChangeDirDirectProc(int Win);
\r
1704 void ChangeDirDropFileProc(WPARAM wParam);
\r
1705 void ChmodProc(void);
\r
1707 //BOOL CALLBACK ChmodDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);
\r
1708 INT_PTR CALLBACK ChmodDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);
\r
1709 void SomeCmdProc(void);
\r
1710 void CalcFileSizeProc(void);
\r
1711 void DispCWDerror(HWND hWnd);
\r
1712 void CopyURLtoClipBoard(void);
\r
1714 //int ProcForNonFullpath(char *Path, char *CurDir, HWND hWnd, int Type);
\r
1715 int ProcForNonFullpath(SOCKET cSkt, char *Path, char *CurDir, HWND hWnd, int *CancelCheckWork);
\r
1716 void ReformToVMSstyleDirName(char *Path);
\r
1717 void ReformToVMSstylePathName(char *Path);
\r
1718 #if defined(HAVE_OPENVMS)
\r
1719 void ReformVMSDirName(char *DirName, int Flg);
\r
1722 void NoopProc(int Force);
\r
1724 void AbortRecoveryProc(void);
\r
1725 void ReconnectProc(void);
\r
1727 /*===== local.c =====*/
\r
1729 int DoLocalCWD(char *Path);
\r
1730 void DoLocalMKD(char *Path);
\r
1731 void DoLocalPWD(char *Buf);
\r
1732 void DoLocalRMD(char *Path);
\r
1733 void DoLocalDELE(char *Path);
\r
1734 void DoLocalRENAME(char *Src, char *Dst);
\r
1735 void DispFileProperty(char *Fname);
\r
1736 HANDLE FindFirstFileAttr(char *Fname, WIN32_FIND_DATA *FindData, int IgnHide);
\r
1737 BOOL FindNextFileAttr(HANDLE hFind, WIN32_FIND_DATA *FindData, int IgnHide);
\r
1739 /*===== remote.c =====*/
\r
1741 int DoCWD(char *Path, int Disp, int ForceGet, int ErrorBell);
\r
1742 int DoCWDStepByStep(char *Path, char *Cur);
\r
1743 int DoMKD(char *Path);
\r
1744 void InitPWDcommand();
\r
1745 int DoRMD(char *Path);
\r
1746 int DoDELE(char *Path);
\r
1747 int DoRENAME(char *Src, char *Dst);
\r
1748 int DoCHMOD(char *Path, char *Mode);
\r
1750 //int DoSIZE(char *Path, LONGLONG *Size);
\r
1751 int DoSIZE(SOCKET cSkt, char *Path, LONGLONG *Size, int *CancelCheckWork);
\r
1753 //int DoMDTM(char *Path, FILETIME *Time);
\r
1754 int DoMDTM(SOCKET cSkt, char *Path, FILETIME *Time, int *CancelCheckWork);
\r
1756 int DoMFMT(SOCKET cSkt, char *Path, FILETIME *Time, int *CancelCheckWork);
\r
1758 //int DoQUOTE(char *CmdStr);
\r
1759 int DoQUOTE(SOCKET cSkt, char *CmdStr, int *CancelCheckWork);
\r
1760 SOCKET DoClose(SOCKET Sock);
\r
1762 //int DoQUIT(SOCKET ctrl_skt);
\r
1763 int DoQUIT(SOCKET ctrl_skt, int *CancelCheckWork);
\r
1764 int DoDirListCmdSkt(char *AddOpt, char *Path, int Num, int *CancelCheckWork);
\r
1765 #if defined(HAVE_TANDEM)
\r
1766 void SwitchOSSProc(void);
\r
1769 //int CommandProcCmd(char *Reply, char *fmt, ...);
\r
1770 int CommandProcCmd(char *Reply, int* CancelCheckWork, char *fmt, ...);
\r
1772 //int CommandProcTrn(char *Reply, char *fmt, ...);
\r
1773 int CommandProcTrn(SOCKET cSkt, char *Reply, int* CancelCheckWork, char *fmt, ...);
\r
1774 int command(SOCKET cSkt, char *Reply, int *CancelCheckWork, char *fmt, ...);
\r
1775 int SendData(SOCKET Skt, char *Data, int Size, int Mode, int *CancelCheckWork);
\r
1776 int ReadReplyMessage(SOCKET cSkt, char *Buf, int Max, int *CancelCheckWork, char *Tmp);
\r
1777 int ReadNchar(SOCKET cSkt, char *Buf, int Size, int *CancelCheckWork);
\r
1778 char *ReturnWSError(UINT Error);
\r
1779 void ReportWSError(char *Msg, UINT Error);
\r
1780 int ChangeFnameRemote2Local(char *Fname, int Max);
\r
1781 int ChangeFnameLocal2Remote(char *Fname, int Max);
\r
1783 /*===== getput.c =====*/
\r
1785 int MakeTransferThread(void);
\r
1786 void CloseTransferThread(void);
\r
1788 void AbortAllTransfer();
\r
1789 int AddTmpTransFileList(TRANSPACKET *Pkt, TRANSPACKET **Base);
\r
1790 void EraseTmpTransFileList(TRANSPACKET **Base);
\r
1791 int RemoveTmpTransFileListItem(TRANSPACKET **Base, int Num);
\r
1793 void AddTransFileList(TRANSPACKET *Pkt);
\r
1795 void AddNullTransFileList();
\r
1796 void AppendTransFileList(TRANSPACKET *Pkt);
\r
1797 void KeepTransferDialog(int Sw);
\r
1798 int AskTransferNow(void);
\r
1799 int AskTransferFileNum(void);
\r
1800 void GoForwardTransWindow(void);
\r
1801 void InitTransCurDir(void);
\r
1802 int DoDownload(SOCKET cSkt, TRANSPACKET *Pkt, int DirList, int *CancelCheckWork);
\r
1803 int CheckPathViolation(TRANSPACKET *packet);
\r
1805 LONGLONG AskTransferSizeLeft(void);
\r
1806 LONGLONG AskTransferSizeTotal(void);
\r
1807 int AskTransferErrorDisplay(void);
\r
1810 void FreeZoneID();
\r
1811 int IsZoneIDLoaded();
\r
1812 int MarkFileAsDownloadedFromInternet(char* Fname);
\r
1814 /*===== codecnv.c =====*/
\r
1816 void InitTermCodeConvInfo(TERMCODECONVINFO *cInfo);
\r
1817 int FlushRestTermCodeConvData(TERMCODECONVINFO *cInfo);
\r
1818 int ConvTermCodeToCRLF(TERMCODECONVINFO *cInfo);
\r
1820 void InitCodeConvInfo(CODECONVINFO *cInfo);
\r
1821 int FlushRestData(CODECONVINFO *cInfo);
\r
1823 int ConvNoConv(CODECONVINFO *cInfo);
\r
1824 int ConvEUCtoSJIS(CODECONVINFO *cInfo);
\r
1825 int ConvJIStoSJIS(CODECONVINFO *cInfo);
\r
1826 int ConvSMBtoSJIS(CODECONVINFO *cInfo);
\r
1827 int ConvUTF8NtoSJIS(CODECONVINFO *cInfo); // UTF-8対応
\r
1828 int ConvSJIStoEUC(CODECONVINFO *cInfo);
\r
1829 int ConvSJIStoJIS(CODECONVINFO *cInfo);
\r
1830 int ConvSJIStoSMB_HEX(CODECONVINFO *cInfo);
\r
1831 int ConvSJIStoSMB_CAP(CODECONVINFO *cInfo);
\r
1832 int ConvSJIStoUTF8N(CODECONVINFO *cInfo); // UTF-8対応
\r
1834 int ConvUTF8NtoUTF8HFSX(CODECONVINFO *cInfo);
\r
1835 int ConvUTF8HFSXtoUTF8N(CODECONVINFO *cInfo);
\r
1836 void ConvAutoToSJIS(char *Text, int Pref);
\r
1837 int CheckKanjiCode(char *Text, int Size, int Pref);
\r
1839 int LoadUnicodeNormalizationDll();
\r
1840 void FreeUnicodeNormalizationDll();
\r
1841 int IsUnicodeNormalizationDllLoaded();
\r
1843 /*===== option.c =====*/
\r
1845 void SetOption(int Start);
\r
1846 int SortSetting(void);
\r
1848 int GetDecimalText(HWND hDlg, int Ctrl);
\r
1849 void SetDecimalText(HWND hDlg, int Ctrl, int Num);
\r
1850 void CheckRange2(int *Cur, int Max, int Min);
\r
1851 void AddTextToListBox(HWND hDlg, char *Str, int CtrlList, int BufSize);
\r
1852 void SetMultiTextToList(HWND hDlg, int CtrlList, char *Text);
\r
1853 void GetMultiTextFromList(HWND hDlg, int CtrlList, char *Buf, int BufSize);
\r
1855 /*===== bookmark.c =====*/
\r
1857 void ClearBookMark(void);
\r
1858 void AddCurDirToBookMark(int Win);
\r
1859 int AskBookMarkText(int MarkID, char *Local, char *Remote, int Max);
\r
1860 void SaveBookMark(void);
\r
1861 void LoadBookMark(void);
\r
1862 int EditBookMark(void);
\r
1864 /*===== regexp.c =====*/
\r
1866 int LoadJre(void);
\r
1867 void ReleaseJre(void);
\r
1868 int AskRasUsable(void);
\r
1869 int AskJreUsable(void);
\r
1870 int GetJreVersion(void);
\r
1871 int JreCompileStr(char *Str);
\r
1872 char *JreGetStrMatchInfo(char *Str, UINT nStart);
\r
1874 /*===== wildcard.c =====*/
\r
1876 int CheckFname(char *str, char *regexp);
\r
1878 /*===== registry.c =====*/
\r
1880 void SaveRegistry(void);
\r
1881 int LoadRegistry(void);
\r
1882 void ClearRegistry(void);
\r
1884 void ClearIni(void);
\r
1885 void SetMasterPassword( const char* );
\r
1887 void GetMasterPassword(char*);
\r
1888 int GetMasterPasswordStatus(void);
\r
1889 int ValidateMasterPassword(void);
\r
1890 DWORD LoadHideDriveListRegistry(void);
\r
1891 void SaveSettingsToFile(void);
\r
1892 int LoadSettingsFromFile(void);
\r
1894 int IsRegAvailable();
\r
1895 int IsIniAvailable();
\r
1897 int ReadSettingsVersion();
\r
1898 // FileZilla XML形式エクスポート対応
\r
1899 void SaveSettingsToFileZillaXml();
\r
1900 // WinSCP INI形式エクスポート対応
\r
1901 void SaveSettingsToWinSCPIni();
\r
1903 /*===== lvtips.c =====*/
\r
1905 int InitListViewTips(HWND hWnd, HINSTANCE hInst);
\r
1906 void DeleteListViewTips(void);
\r
1907 void EraseListViewTips(void);
\r
1908 HWND GetListViewTipsHwnd(void);
\r
1909 void CheckTipsDisplay(HWND hWnd, LPARAM lParam);
\r
1911 /*===== ras.c =====*/
\r
1913 void LoadRasLib(void);
\r
1914 void ReleaseRasLib(void);
\r
1915 void DisconnectRas(int Notify);
\r
1916 int SetRasEntryToComboBox(HWND hDlg, int Item, char *CurName);
\r
1917 int ConnectRas(int Dialup, int UseThis, int Notify, char *Name);
\r
1919 /*===== misc.c =====*/
\r
1921 int InputDialogBox(int Res, HWND hWnd, char *Title, char *Buf, int Max, int *Flg, int Help);
\r
1923 //BOOL CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
1924 INT_PTR CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
1926 //BOOL CALLBACK ExeEscTextDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
1927 INT_PTR CALLBACK ExeEscTextDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
1929 INT_PTR CALLBACK AnyButtonDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
1930 void SetYenTail(char *Str);
\r
1931 void RemoveYenTail(char *Str);
\r
1932 void SetSlashTail(char *Str);
\r
1933 void RemoveReturnCode(char *Str);
\r
1934 void ReplaceAll(char *Str, char Src, char Dst);
\r
1935 int IsDigitSym(int Ch, int Sym);
\r
1936 int StrAllSameChar(char *Str, char Ch);
\r
1937 void RemoveTailingSpaces(char *Str);
\r
1938 char *stristr(char *s1, char *s2);
\r
1939 char *GetNextField(char *Str);
\r
1940 int GetOneField(char *Str, char *Buf, int Max);
\r
1941 void RemoveComma(char *Str);
\r
1942 char *GetFileName(char *Path);
\r
1943 char *GetFileExt(char *Path);
\r
1944 char *GetToolName(char *Path);
\r
1945 void RemoveFileName(char *Path, char *Buf);
\r
1946 void GetUpperDir(char *Path);
\r
1947 void GetUpperDirEraseTopSlash(char *Path);
\r
1948 int AskDirLevel(char *Path);
\r
1949 void MakeSizeString(double Size, char *Buf);
\r
1950 void DispStaticText(HWND hWnd, char *Str);
\r
1951 int StrMultiLen(char *Str);
\r
1952 void RectClientToScreen(HWND hWnd, RECT *Rect);
\r
1953 int hex2bin(char Ch);
\r
1954 int SplitUNCpath(char *unc, char *Host, char *Path, char *File, char *User, char *Pass, int *Port);
\r
1955 int TimeString2FileTime(char *Time, FILETIME *Buf);
\r
1957 //void FileTime2TimeString(FILETIME *Time, char *Buf, int Mode, int InfoExist);
\r
1958 void FileTime2TimeString(FILETIME *Time, char *Buf, int Mode, int InfoExist, int ShowSeconds);
\r
1959 void SpecificLocalFileTime2FileTime(FILETIME *Time, int TimeZone);
\r
1960 int AttrString2Value(char *Str);
\r
1962 //void AttrValue2String(int Attr, char *Buf);
\r
1963 void AttrValue2String(int Attr, char *Buf, int ShowNumber);
\r
1964 void FormatIniString(char *Str);
\r
1965 int SelectFile(HWND hWnd, char *Fname, char *Title, char *Filters, char *Ext, int Flags, int Save);
\r
1966 int SelectDir(HWND hWnd, char *Buf, int MaxLen);
\r
1967 void SetRadioButtonByValue(HWND hDlg, int Value, const RADIOBUTTON *Buttons, int Num);
\r
1968 int AskRadioButtonValue(HWND hDlg, const RADIOBUTTON *Buttons, int Num);
\r
1969 int xtoi(char *Str);
\r
1970 int CheckFileReadable(char *Fname);
\r
1971 int max1(int n, int m);
\r
1972 int min1(int n, int m);
\r
1973 void ExcEndianDWORD(DWORD *x);
\r
1974 void SwapInt(int *Num1, int *Num2);
\r
1975 int IsFolderExist(char *Path);
\r
1976 int ConvertNum(int x, int Dir, const INTCONVTBL *Tbl, int Num);
\r
1977 int MoveFileToTrashCan(char *Path);
\r
1978 LONGLONG MakeLongLong(DWORD High, DWORD Low);
\r
1979 char *MakeNumString(LONGLONG Num, char *Buf, BOOL Comma);
\r
1980 // 異なるファイルが表示されるバグ修正
\r
1981 char* MakeDistinguishableFileName(char* Out, char* In);
\r
1983 char* GetAppTempPath(char* Buf);
\r
1984 #if defined(HAVE_TANDEM)
\r
1985 void CalcExtentSize(TRANSPACKET *Pkt, LONGLONG Size);
\r
1988 void QueryDisplayDPI();
\r
1989 int CalcPixelX(int x);
\r
1990 int CalcPixelY(int y);
\r
1991 HBITMAP ResizeBitmap(HBITMAP hBitmap, int UnitSizeX, int UnitSizeY, int ScaleNumerator, int ScaleDenominator);
\r
1993 void DecodeLineFeed(char* Str);
\r
1995 int ReplaceAllStrings(char* Out, char* In, char* From, char* To);
\r
1997 /*===== dlgsize.c =====*/
\r
1999 void DlgSizeInit(HWND hDlg, DIALOGSIZE *Dt, SIZE *Size);
\r
2000 void AskDlgSize(HWND hDlg, DIALOGSIZE *Dt, SIZE *Size);
\r
2001 void DlgSizeChange(HWND hDlg, DIALOGSIZE *Dt, RECT *New, int Flg);
\r
2003 /*===== opie.c =====*/
\r
2005 int Make6WordPass(int seq, char *seed, char *pass, int type, char *buf);
\r
2007 /*===== tool.c =====*/
\r
2009 void OtpCalcTool(void);
\r
2011 void TurnStatefulFTPFilter();
\r
2013 /*===== history.c =====*/
\r
2015 void AddHostToHistory(HOSTDATA *Host, int TrMode);
\r
2016 void AddHistoryToHistory(HISTORYDATA *Hist);
\r
2017 int AskHistoryNum(void);
\r
2018 void CheckHistoryNum(int Space);
\r
2019 void CopyHistoryToHost(HISTORYDATA *Hist, HOSTDATA *Host);
\r
2020 void CopyDefaultHistory(HISTORYDATA *Set);
\r
2021 void SetAllHistoryToMenu(void);
\r
2022 int GetHistoryByCmd(int MenuCmd, HISTORYDATA *Buf);
\r
2023 int GetHistoryByNum(int Num, HISTORYDATA *Buf);
\r
2025 /*===== clipboard.c =====*/
\r
2027 int CopyStrToClipBoard(char *Str);
\r
2029 /*===== diskfree.c =====*/
\r
2031 void LoadKernelLib(void);
\r
2032 void ReleaseKernelLib(void);
\r
2033 char *AskLocalFreeSpace(char *Path);
\r
2035 /*===== socket.c =====*/
\r
2037 int MakeSocketWin(HWND hWnd, HINSTANCE hInst);
\r
2038 void DeleteSocketWin(void);
\r
2040 int SetAsyncTableDataIPv4(SOCKET s, struct sockaddr_in* Host, struct sockaddr_in* Socks);
\r
2041 int SetAsyncTableDataIPv6(SOCKET s, struct sockaddr_in6* Host, struct sockaddr_in6* Socks);
\r
2042 int SetAsyncTableDataMapPort(SOCKET s, int Port);
\r
2043 int GetAsyncTableDataIPv4(SOCKET s, struct sockaddr_in* Host, struct sockaddr_in* Socks);
\r
2044 int GetAsyncTableDataIPv6(SOCKET s, struct sockaddr_in6* Host, struct sockaddr_in6* Socks);
\r
2045 int GetAsyncTableDataMapPort(SOCKET s, int* Port);
\r
2047 //struct hostent *do_gethostbyname(const char *Name, char *Buf, int Len, int *CancelCheckWork);
\r
2048 struct hostent *do_gethostbynameIPv4(const char *Name, char *Buf, int Len, int *CancelCheckWork);
\r
2049 struct hostent *do_gethostbynameIPv6(const char *Name, char *Buf, int Len, int *CancelCheckWork);
\r
2050 SOCKET do_socket(int af, int type, int protocol);
\r
2051 int do_connect(SOCKET s, const struct sockaddr *name, int namelen, int *CancelCheckWork);
\r
2052 int do_closesocket(SOCKET s);
\r
2053 int do_listen(SOCKET s, int backlog);
\r
2054 SOCKET do_accept(SOCKET s, struct sockaddr *addr, int *addrlen);
\r
2055 int do_recv(SOCKET s, char *buf, int len, int flags, int *TimeOut, int *CancelCheckWork);
\r
2056 int do_send(SOCKET s, const char *buf, int len, int flags, int *TimeOutErr, int *CancelCheckWork);
\r
2058 void RemoveReceivedData(SOCKET s);
\r
2062 int IsUPnPLoaded();
\r
2063 int AddPortMapping(char* Adrs, int Port, char* ExtAdrs);
\r
2064 int RemovePortMapping(int Port);
\r
2065 int CheckClosedAndReconnect(void);
\r
2067 int CheckClosedAndReconnectTrnSkt(SOCKET *Skt, int *CancelCheckWork);
\r
2069 /*===== updatebell.c =====*/
\r
2071 void SaveUpdateBellInfo(void);
\r
2074 #endif // __COMMON_H__
\r