-/*=============================================================================\r
-* \82e\82e\82e\82s\82o\8b¤\92Ê\92è\8b`\83t\83@\83C\83\8b\r
+/*=============================================================================\r
+* FFFTP共通定義ファイル\r
*\r
===============================================================================\r
/ Copyright (C) 1997-2007 Sota. All rights reserved.\r
#define ushort unsigned short\r
#define ulong unsigned long\r
\r
-#define FAIL 0\r
-#define SUCCESS 1\r
+// 警告の回避\r
+//#define FAIL 0\r
+//#define SUCCESS 1\r
+#define FFFTP_FAIL 0\r
+#define FFFTP_SUCCESS 1\r
\r
#define NO 0\r
#define YES 1\r
#define YES_ALL 3\r
#define YES_LIST 4\r
\r
-/*===== \83o\81[\83W\83\87\83\93 ======*/\r
+/*===== バージョン ======*/\r
\r
-#define VER_STR "1.97b"\r
-#define VER_NUM 1921 /* \90Ý\92è\83o\81[\83W\83\87\83\93 */\r
-#define PROGRAM_VERSION_NUM 1972 /* \83o\81[\83W\83\87\83\93 */\r
+// SourceForge.JPによるフォーク\r
+//#define VER_STR "1.97b"\r
+//#define VER_NUM 1921 /* 設定バージョン */\r
+//#define PROGRAM_VERSION_NUM 1972 /* バージョン */\r
+#define VER_STR "1.98d"\r
+#define VER_NUM 1984 /* 設定バージョン */\r
+#define PROGRAM_VERSION_NUM 1984 /* バージョン */\r
\r
\r
-#define MYWEB_URL "http://www2.biglobe.ne.jp/~sota/ffftp-qa.html"\r
+// SourceForge.JPによるフォーク\r
+//#define MYWEB_URL "http://www2.biglobe.ne.jp/~sota/ffftp-qa.html"\r
+#define MYWEB_URL "http://sourceforge.jp/projects/ffftp/"\r
\r
\r
\r
-/*===== \92Ê\90M\8aÖ\8cW ======*/\r
+/*===== 通信関係 ======*/\r
\r
#define TCP_PORT 6\r
\r
-/*===== \83E\83C\83\93\83h\83E\83T\83C\83Y ======*/\r
+/*===== ウインドウサイズ ======*/\r
\r
-#define TOOLWIN_HEIGHT 28 /* \83c\81[\83\8b\83o\81[\82Ì\8d\82\82³ */\r
+#define TOOLWIN_HEIGHT 28 /* ツールバーの高さ */\r
\r
-/*===== \93Á\8eê\82È\83L\83\83\83b\83V\83\85\83f\81[\83^\94Ô\8d\86 =====*/\r
-/* \81i\83t\83@\83C\83\8b\88ê\97\97\8eæ\93¾\82Å\8eg\97p\82·\82é\83\8d\81[\83J\83\8b\83t\83@\83C\83\8b\96¼ _ffftp.??? \82Ì\94Ô\8d\86\95\94\95ª\81j */\r
+/*===== 特殊なキャッシュデータ番号 =====*/\r
+/* (ファイル一覧取得で使用するローカルファイル名 _ffftp.??? の番号部分) */\r
\r
-#define CACHE_FILE_TMP1 999 /* \83z\83X\83g\82Ì\83t\83@\83C\83\8b\83c\83\8a\81[\8eæ\93¾\97p */\r
-#define CACHE_FILE_TMP2 998 /* \83A\83b\83v\83\8d\81[\83h\92\86\82Ì\83z\83X\83g\82Ì\83t\83@\83C\83\8b\88ê\97\97\8eæ\93¾\97p */\r
+#define CACHE_FILE_TMP1 999 /* ホストのファイルツリー取得用 */\r
+#define CACHE_FILE_TMP2 998 /* アップロード中のホストのファイル一覧取得用 */\r
\r
-/*===== \83\86\81[\83U\92è\8b`\83R\83}\83\93\83h =====*/\r
+/*===== ユーザ定義コマンド =====*/\r
\r
-#define WM_CHANGE_COND (WM_USER+1) /* \83t\83@\83C\83\8b\88ê\97\97\82ð\95Ï\8dX\82·\82é\83R\83}\83\93\83h */\r
-#define WM_SET_PACKET (WM_USER+2) /* \8c»\8dÝ\8eg\97p\82µ\82Ä\82¢\82é\93]\91\97\83p\83P\83b\83g\82Ì\83A\83h\83\8c\83X\82ð\92Ê\92m */\r
-#define WM_SELECT_HOST (WM_USER+3) /* \83z\83X\83g\82ð\83_\83u\83\8b\83N\83\8a\83b\83N\82Å\91I\91ð\82µ\82½ */\r
-#define WM_DIAL_MSG (WM_USER+4) /* \83_\83C\83A\83\8b\92\86\82Ì\83X\83e\81[\83^\83X\92Ê\92m */\r
+#define WM_CHANGE_COND (WM_USER+1) /* ファイル一覧を変更するコマンド */\r
+#define WM_SET_PACKET (WM_USER+2) /* 現在使用している転送パケットのアドレスを通知 */\r
+#define WM_SELECT_HOST (WM_USER+3) /* ホストをダブルクリックで選択した */\r
+#define WM_DIAL_MSG (WM_USER+4) /* ダイアル中のステータス通知 */\r
\r
#define WM_ASYNC_SOCKET (WM_USER+5)\r
#define WM_ASYNC_DBASE (WM_USER+6)\r
#define WM_REFRESH_LOCAL_FLG (WM_USER+7)\r
#define WM_REFRESH_REMOTE_FLG (WM_USER+8)\r
\r
-/*===== \83z\83X\83g\94Ô\8d\86 =====*/\r
-/* \83z\83X\83g\94Ô\8d\86\82Í 0\81` \82Ì\92l\82ð\8eæ\82é */\r
-\r
-#define HOSTNUM_NOENTRY (-1) /* \83z\83X\83g\88ê\97\97\82É\96³\82¢\82Æ\82«\82Ì\83z\83X\83g\94Ô\8d\86 */\r
-\r
-/*===== \83o\83b\83t\83@\83T\83C\83Y =====*/\r
-\r
-#define BUFSIZE 4096 /* \83t\83@\83C\83\8b\93]\91\97\83o\83b\83t\83@\82Ì\83T\83C\83Y(4k\88È\8fã) */\r
-\r
-#define HOST_NAME_LEN 40 /* \88ê\97\97\82É\95\\8e¦\82·\82é\83z\83X\83g\82Ì\96¼\91O */\r
-#define HOST_ADRS_LEN 80 /* \83z\83X\83g\96¼ */\r
-#define USER_NAME_LEN 80 /* \83\86\81[\83U\96¼ */\r
-#define PASSWORD_LEN 80 /* \83p\83X\83\8f\81[\83h */\r
-#define ACCOUNT_LEN 80 /* \83A\83J\83E\83\93\83g */\r
-#define HOST_TYPE_LEN 1 /* \83z\83X\83g\82Ì\8eí\97Þ */\r
-#define INIT_DIR_LEN (FMAX_PATH-40) /* \8f\89\8aú\83f\83B\83\8c\83N\83g\83\8a */\r
-#define USER_MAIL_LEN 80 /* \83\86\81[\83U\82Ì\83\81\81[\83\8b\83A\83h\83\8c\83X */\r
- /* PASSWORD_LEN \82Æ\93¯\82¶\82É\82·\82é\82±\82Æ */\r
-#define ASCII_EXT_LEN 400 /* \83A\83X\83L\81[\83\82\81[\83h\93]\91\97\82Ì\83t\83@\83C\83\8b\96¼\97ñ */\r
-#define FILTER_EXT_LEN 400 /* \83t\83B\83\8b\83^\82Ì\83t\83@\83C\83\8b\96¼\97ñ */\r
-#define BOOKMARK_SIZE 2048 /* \83u\83b\83N\83}\81[\83N */\r
-#define CHMOD_CMD_LEN 40 /* \91®\90«\95Ï\8dX\83R\83}\83\93\83h */\r
-#define MIRROR_LEN 400 /* \83~\83\89\81[\83\8a\83\93\83O\82Ì\90Ý\92è\97p */\r
-#define NLST_NAME_LEN 40 /* NLST\82É\95t\82¯\82é\83t\83@\83C\83\8b\96¼\81^\83I\83v\83V\83\87\83\93 */\r
-#define DEFATTRLIST_LEN 800 /* \91®\90«\83\8a\83X\83g\82Ì\92·\82³ */\r
-#define INITCMD_LEN 256 /* \8f\89\8aú\89»\83R\83}\83\93\83h */\r
-#define OWNER_NAME_LEN 40 /* \83I\81[\83i\96¼ */\r
-#define RAS_NAME_LEN 256 /* RAS\82Ì\83G\83\93\83g\83\8a\96¼\82Ì\92·\82³ */\r
+/*===== ホスト番号 =====*/\r
+/* ホスト番号は 0~ の値を取る */\r
+\r
+#define HOSTNUM_NOENTRY (-1) /* ホスト一覧に無いときのホスト番号 */\r
+\r
+/*===== バッファサイズ =====*/\r
+\r
+#define BUFSIZE 4096 /* ファイル転送バッファのサイズ(4k以上) */\r
+\r
+#define HOST_NAME_LEN 40 /* 一覧に表示するホストの名前 */\r
+#define HOST_ADRS_LEN 80 /* ホスト名 */\r
+#define USER_NAME_LEN 80 /* ユーザ名 */\r
+#define PASSWORD_LEN 80 /* パスワード */\r
+#define ACCOUNT_LEN 80 /* アカウント */\r
+#define HOST_TYPE_LEN 1 /* ホストの種類 */\r
+#define INIT_DIR_LEN (FMAX_PATH-40) /* 初期ディレクトリ */\r
+#define USER_MAIL_LEN 80 /* ユーザのメールアドレス */\r
+ /* PASSWORD_LEN と同じにすること */\r
+#define ASCII_EXT_LEN 400 /* アスキーモード転送のファイル名列 */\r
+#define FILTER_EXT_LEN 400 /* フィルタのファイル名列 */\r
+#define BOOKMARK_SIZE 2048 /* ブックマーク */\r
+#define CHMOD_CMD_LEN 40 /* 属性変更コマンド */\r
+#define MIRROR_LEN 400 /* ミラーリングの設定用 */\r
+#define NLST_NAME_LEN 40 /* NLSTに付けるファイル名/オプション */\r
+#define DEFATTRLIST_LEN 800 /* 属性リストの長さ */\r
+#define INITCMD_LEN 256 /* 初期化コマンド */\r
+#define OWNER_NAME_LEN 40 /* オーナ名 */\r
+#define RAS_NAME_LEN 256 /* RASのエントリ名の長さ */\r
\r
#define FMAX_PATH 1024\r
\r
#define ONELINE_BUF_SIZE (10*1024)\r
\r
-/*===== \8f\89\8aú\92l =====*/\r
+// 暗号化通信対応\r
+#define PRIVATE_KEY_LEN 4096\r
\r
-#define SAMBA_HEX_TAG ':' /* Samba-HEX \82Ì\8bæ\90Ø\82è\95¶\8e\9a */\r
-#define CHMOD_CMD_NOR "SITE CHMOD" /* \91®\90«\95Ï\8dX\83R\83}\83\93\83h */\r
-#define PORT_NOR 21 /* \83|\81[\83g\94Ô\8d\86 */\r
-#define LS_FNAME "-alL" /* NLST\82É\95t\82¯\82é\82à\82Ì */\r
+/*===== 初期値 =====*/\r
\r
-/*===== \93¯\82¶\96¼\91O\82Ì\83t\83@\83C\83\8b\82ª\82 \82Á\82½\8e\9e\82Ì\8f\88\97\9d =====*/\r
+#define SAMBA_HEX_TAG ':' /* Samba-HEX の区切り文字 */\r
+#define CHMOD_CMD_NOR "SITE CHMOD" /* 属性変更コマンド */\r
+#define PORT_NOR 21 /* ポート番号 */\r
+#define LS_FNAME "-alL" /* NLSTに付けるもの */\r
\r
-#define EXIST_OVW 0 /* \8fã\8f\91\82« */\r
-#define EXIST_NEW 1 /* \90V\82µ\82¯\82ê\82Î\8fã\8f\91\82« */\r
-#define EXIST_RESUME 2 /* \83\8c\83W\83\85\81[\83\80 */\r
-#define EXIST_IGNORE 3 /* \96³\8e\8b */\r
-#define EXIST_UNIQUE 4 /* \83z\83X\83g\82ª\96¼\91O\82ð\95t\82¯\82é */\r
-#define EXIST_ABORT 5 /* \91S\82Ä\92\86\8e~ */\r
+/*===== 同じ名前のファイルがあった時の処理 =====*/\r
\r
-/*===== \83t\83@\83C\83\8b\96¼\82Ì\94ä\8ar\83\82\81[\83h =====*/\r
+#define EXIST_OVW 0 /* 上書き */\r
+#define EXIST_NEW 1 /* 新しければ上書き */\r
+#define EXIST_RESUME 2 /* レジューム */\r
+#define EXIST_IGNORE 3 /* 無視 */\r
+#define EXIST_UNIQUE 4 /* ホストが名前を付ける */\r
+#define EXIST_ABORT 5 /* 全て中止 */\r
\r
-#define COMP_IGNORE 0 /* \91å\95¶\8e\9a/\8f¬\95¶\8e\9a\82Í\8bæ\95Ê\82µ\82È\82¢ */\r
-#define COMP_STRICT 1 /* \91å\95¶\8e\9a/\8f¬\95¶\8e\9a\82ð\8bæ\95Ê\82·\82é */\r
-#define COMP_LOWERMATCH 2 /* \91å\95¶\8e\9a/\8f¬\95¶\8e\9a\82ð\8bæ\95Ê\82µ\82È\82¢\81i\95Ð\91¤\82Í\91S\82Ä\8f¬\95¶\8e\9a\81j */\r
+/*===== ファイル名の比較モード =====*/\r
\r
-/*===== FTP\82Ì\89\9e\93\9a\83R\81[\83h\82Ì\93ª\82P\8c\85 =====*/\r
+#define COMP_IGNORE 0 /* 大文字/小文字は区別しない */\r
+#define COMP_STRICT 1 /* 大文字/小文字を区別する */\r
+#define COMP_LOWERMATCH 2 /* 大文字/小文字を区別しない(片側は全て小文字) */\r
+\r
+/*===== FTPの応答コードの頭1桁 =====*/\r
\r
#define FTP_PRELIM 1 /* */\r
#define FTP_COMPLETE 2 /* */\r
#define FTP_RETRY 4 /* */\r
#define FTP_ERROR 5 /* */\r
\r
-/*===== \83t\83@\83C\83\8b\83\8a\83X\83g\82Ì\83m\81[\83h\91®\90« =====*/\r
+/*===== ファイルリストのノード属性 =====*/\r
\r
-#define NODE_DIR 0 /* \83f\83B\83\8c\83N\83g\83\8a */\r
-#define NODE_FILE 1 /* \83t\83@\83C\83\8b */\r
-#define NODE_DRIVE 2 /* \83h\83\89\83C\83u */\r
-#define NODE_NONE (-1) /* \82È\82µ */\r
+#define NODE_DIR 0 /* ディレクトリ */\r
+#define NODE_FILE 1 /* ファイル */\r
+#define NODE_DRIVE 2 /* ドライブ */\r
+#define NODE_NONE (-1) /* なし */\r
\r
-/*===== \8fã\8f\91\82«\8am\94F\95û\96@\82Ì\90Ý\92è\92l =====*/\r
+/*===== 上書き確認方法の設定値 =====*/\r
\r
-#define TRANS_OVW 0 /* \8fã\8f\91\82« */\r
-#define TRANS_DLG 1 /* \83_\83C\83A\83\8d\83O\82ð\8fo\82· */\r
+#define TRANS_OVW 0 /* 上書き */\r
+#define TRANS_DLG 1 /* ダイアログを出す */\r
\r
-/*===== \83z\83X\83g\93à\83t\83@\83C\83\8b\88Ú\93®\8am\94F\95û\96@\82Ì\90Ý\92è\92l =====*/\r
+/*===== ホスト内ファイル移動確認方法の設定値 =====*/\r
\r
-#define MOVE_NODLG 0 /* \83_\83C\83A\83\8d\83O\82ð\8fo\82³\82È\82¢ */\r
-#define MOVE_DLG 1 /* \83_\83C\83A\83\8d\83O\82ð\8fo\82· */\r
-#define MOVE_DISABLE 2 /* \8b@\94\\8eg\97p\8bÖ\8e~ */\r
+#define MOVE_NODLG 0 /* ダイアログを出さない */\r
+#define MOVE_DLG 1 /* ダイアログを出す */\r
+#define MOVE_DISABLE 2 /* 機能使用禁止 */\r
\r
-/*===== \93]\91\97\95û\96@ =====*/\r
+/*===== 転送方法 =====*/\r
\r
-#define TYPE_I 'I' /* \83o\83C\83i\83\8a\83\82\81[\83h */\r
-#define TYPE_A 'A' /* \83A\83X\83L\81[\83\82\81[\83h */\r
-#define TYPE_X 'X' /* \8e©\93®\94»\95Ê */\r
+#define TYPE_I 'I' /* バイナリモード */\r
+#define TYPE_A 'A' /* アスキーモード */\r
+#define TYPE_X 'X' /* 自動判別 */\r
\r
-#define TYPE_DEFAULT NUL /* \90Ý\92è\82µ\82È\82¢ DirectConnectProc()\82Ì\88ø\90\94\82Æ\82µ\82Ä\97L\8cø */\r
+#define TYPE_DEFAULT NUL /* 設定しない DirectConnectProc()の引数として有効 */\r
\r
-/*===== \83\\81[\83g\95û\96@ =====*/\r
-/* \94Ô\8d\86\82ÍListView\82Ì\83J\83\89\83\80\94Ô\8d\86\82Æ\8d\87\82í\82¹\82Ä\82 \82é */\r
+/*===== ソート方法 =====*/\r
+/* 番号はListViewのカラム番号と合わせてある */\r
\r
-#define SORT_NAME 0 /* \96¼\91O\8f\87 */\r
-#define SORT_DATE 1 /* \93ú\95t\8f\87 */\r
-#define SORT_SIZE 2 /* \83T\83C\83Y\8f\87 */\r
-#define SORT_EXT 3 /* \8ag\92£\8eq\8f\87 */\r
+#define SORT_NAME 0 /* 名前順 */\r
+#define SORT_DATE 1 /* 日付順 */\r
+#define SORT_SIZE 2 /* サイズ順 */\r
+#define SORT_EXT 3 /* 拡張子順 */\r
\r
-#define SORT_ASCENT 0x00 /* \8f¸\8f\87 */\r
-#define SORT_DESCENT 0x80 /* \8d~\8f\87 */\r
+#define SORT_ASCENT 0x00 /* 昇順 */\r
+#define SORT_DESCENT 0x80 /* 降順 */\r
\r
-#define SORT_MASK_ORD 0x7F /* \82\98\82\98\8f\87\82ð\8eæ\82è\8fo\82·\83}\83X\83N */\r
-#define SORT_GET_ORD 0x80 /* \8f¸\8f\87\81^\8d~\8f\87\82ð\8eæ\82è\8fo\82·\83}\83X\83N */\r
+#define SORT_MASK_ORD 0x7F /* xx順を取り出すマスク */\r
+#define SORT_GET_ORD 0x80 /* 昇順/降順を取り出すマスク */\r
\r
-#define SORT_NOTSAVED ((ulong)0xFFFFFFFF) /* \83z\83X\83g\96\88\82Ì\83Z\81[\83u\95û\96@\82ð\95Û\91¶\82µ\82Ä\82¢\82È\82¢\8e\9e\82Ì\92l */\r
+#define SORT_NOTSAVED ((ulong)0xFFFFFFFF) /* ホスト毎のセーブ方法を保存していない時の値 */\r
\r
-/*===== \83\\81[\83g\82·\82é\8fê\8f\8a =====*/\r
+/*===== ソートする場所 =====*/\r
\r
-#define ITEM_LFILE 0 /* \83\8d\81[\83J\83\8b\82Ì\96¼\91O */\r
-#define ITEM_LDIR 1 /* \83\8d\81[\83J\83\8b\82Ì\83f\83B\83\8c\83N\83g\83\8a */\r
-#define ITEM_RFILE 2 /* \83z\83X\83g\82Ì\96¼\91O */\r
-#define ITEM_RDIR 3 /* \83z\83X\83g\82Ì\83f\83B\83\8c\83N\83g\83\8a */\r
+#define ITEM_LFILE 0 /* ローカルの名前 */\r
+#define ITEM_LDIR 1 /* ローカルのディレクトリ */\r
+#define ITEM_RFILE 2 /* ホストの名前 */\r
+#define ITEM_RDIR 3 /* ホストのディレクトリ */\r
\r
-/*===== \83E\83C\83\93\83h\83E\94Ô\8d\86 =====*/\r
+/*===== ウインドウ番号 =====*/\r
\r
-#define WIN_LOCAL 0 /* \83\8d\81[\83J\83\8b */\r
-#define WIN_REMOTE 1 /* \83z\83X\83g */\r
-#define WIN_BOTH 2 /* \97¼\95û */\r
+#define WIN_LOCAL 0 /* ローカル */\r
+#define WIN_REMOTE 1 /* ホスト */\r
+#define WIN_BOTH 2 /* 両方 */\r
\r
-/*===== \83t\83@\83C\83\8b\91I\91ð\95û\96@ =====*/\r
+/*===== ファイル選択方法 =====*/\r
\r
-#define SELECT_ALL 0 /* \91S\91I\91ð */\r
-#define SELECT_REGEXP 1 /* \8c\9f\8dõ\8e®\82ð\93ü\97Í\82µ\82Ä\91I\91ð */\r
+#define SELECT_ALL 0 /* 全選択 */\r
+#define SELECT_REGEXP 1 /* 検索式を入力して選択 */\r
\r
-/*===== \8c\9f\8dõ\95û\96@ =====*/\r
+/*===== 検索方法 =====*/\r
\r
-#define FIND_FIRST 0 /* \8dÅ\8f\89\82Ì\8c\9f\8dõ */\r
-#define FIND_NEXT 1 /* \8e\9f\82ð\8c\9f\8dõ */\r
+#define FIND_FIRST 0 /* 最初の検索 */\r
+#define FIND_NEXT 1 /* 次を検索 */\r
\r
-/*===== \83t\83@\83C\83\8b\96¼\82Ì\91å\95¶\8e\9a\81^\8f¬\95¶\8e\9a\95Ï\8a· =====*/\r
+/*===== ファイル名の大文字/小文字変換 =====*/\r
\r
-#define FNAME_NOCNV 0 /* \95Ï\8a·\82µ\82È\82¢ */\r
-#define FNAME_LOWER 1 /* \8f¬\95¶\8e\9a\82É\95Ï\8a· */\r
-#define FNAME_UPPER 2 /* \91å\95¶\8e\9a\82É\95Ï\8a· */\r
+#define FNAME_NOCNV 0 /* 変換しない */\r
+#define FNAME_LOWER 1 /* 小文字に変換 */\r
+#define FNAME_UPPER 2 /* 大文字に変換 */\r
\r
-/*===== \83t\83@\83C\83\8b\88ê\97\97\82Ì\8c`\8e® =====*/\r
+/*===== ファイル一覧の形式 =====*/\r
\r
-#define LIST_UNKNOWN (-1) /* \95s\96¾ */\r
+#define LIST_UNKNOWN (-1) /* 不明 */\r
\r
#define LIST_UNIX_10 0 /* UNIX 10 */\r
#define LIST_UNIX_11 1 /* UNIX 11 */\r
#define LIST_ACOS 25 /* ACOS */\r
#define LIST_AS400 26 /* AS/400 */\r
#define LIST_M1800 27 /* Fujitu M1800 (OS IV/MSP E20) */\r
-#define LIST_CHAMELEON 28 /* Win3.1\97p Chameleon FTP server */\r
+#define LIST_CHAMELEON 28 /* Win3.1用 Chameleon FTP server */\r
#define LIST_GP6000 29 /* Fujitu GP6000 Model 900 */\r
#define LIST_OS2 30 /* OS/2 */\r
#define LIST_VMS 31 /* VAX VMS */\r
#define LIST_UNIX_73 45 /* UNIX 73 */\r
#define LIST_UNIX_74 46 /* UNIX 74 */\r
#define LIST_UNIX_75 47 /* UNIX 75 */\r
+// MLSD対応\r
+#define LIST_MLSD 48\r
\r
#define LIST_MELCOM 0x100 /* MELCOM80 */\r
\r
#define LIST_MASKFLG 0xFF\r
\r
-/* \83t\83@\83C\83\8b\88ê\97\97\8fî\95ñ\97á ---------------\r
+// UTF-8対応\r
+#define LIST_RAW_NAME 0x80000000\r
+\r
+/* ファイル一覧情報例 ---------------\r
\r
*LIST_UNIX_10\r
0 1 2 3 4 5 6 7 8\r
-------------------------------------------------------\r
drwxr-xr-x 15 owner group 1024 Nov 6 14:21 Linux/\r
-rwxrwx--- 5 owner group 12 Nov 6 1996 test.txt\r
- drwxr-xr-x 15 owner group 1024 11\8c\8e 6\93ú 14:21 Linux/\r
- drwxr-xr-x 15 owner group 1024 11\8c\8e 6\93ú 14\8e\9e21\95ª Linux/\r
- -rwxrwx--- 5 owner group 12 11\8c\8e 6\93ú 1996\94N test.txt\r
- drwxrwxr-x 6 root sys 512 1\8c\8e 26 03:10 adm (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
+ drwxr-xr-x 15 owner group 1024 11月 6日 14:21 Linux/\r
+ drwxr-xr-x 15 owner group 1024 11月 6日 14時21分 Linux/\r
+ -rwxrwx--- 5 owner group 12 11月 6日 1996年 test.txt\r
+ drwxrwxr-x 6 root sys 512 1月 26 03:10 adm (月はGBコードで0xD4C2)\r
\r
*LIST_UNIX_11\r
0 1 2 3 4 5 6 7\r
-------------------------------------------------------\r
- drwxr-xr-x 15 owner group 1024 11\8c\8e12\93ú 14\8e\9e21\95ª Linux/\r
- -rwxrwx--- 5 owner group 12 11\8c\8e12\93ú 1996\94N test.txt\r
+ drwxr-xr-x 15 owner group 1024 11月12日 14時21分 Linux/\r
+ -rwxrwx--- 5 owner group 12 11月12日 1996年 test.txt\r
\r
*LIST_UNIX_12\r
0 1 2 3 4 5 6 7\r
-------------------------------------------------------\r
drwxr-xr-x123 owner group 1024 Nov 6 14:21 Linux/\r
-rwxrwx---132 owner group 12 Nov 6 1996 test.txt\r
- drwxr-xr-x123 owner group 1024 11\8c\8e 6\93ú 14:21 Linux/\r
- drwxr-xr-x123 owner group 1024 11\8c\8e 6\93ú 14\8e\9e21\95ª Linux/\r
- -rwxrwx---132 owner group 12 11\8c\8e 6\93ú 1996\94N test.txt\r
+ drwxr-xr-x123 owner group 1024 11月 6日 14:21 Linux/\r
+ drwxr-xr-x123 owner group 1024 11月 6日 14時21分 Linux/\r
+ -rwxrwx---132 owner group 12 11月 6日 1996年 test.txt\r
\r
*LIST_UNIX_13\r
0 1 2 3 4 5 6\r
-------------------------------------------------------\r
- drwxr-xr-x123 owner group 1024 11\8c\8e12\93ú 14\8e\9e21\95ª Linux/\r
- -rwxrwx---132 owner group 12 11\8c\8e12\93ú 1996\94N test.txt\r
+ drwxr-xr-x123 owner group 1024 11月12日 14時21分 Linux/\r
+ -rwxrwx---132 owner group 12 11月12日 1996年 test.txt\r
\r
*LIST_UNIX_14\r
0 1 2 3 4 5 6 7 8\r
-------------------------------------------------------\r
- drwxr-xr-x 15 owner group 512 2001 6\8c\8e 18 audit (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
+ drwxr-xr-x 15 owner group 512 2001 6月 18 audit (月はGBコードで0xD4C2)\r
\r
*LIST_UNIX_15\r
0 1 2 3 4 5 6 7\r
-------------------------------------------------------\r
- drwxr-xr-x15 owner group 512 2001 6\8c\8e 18 audit (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
+ drwxr-xr-x15 owner group 512 2001 6月 18 audit (月はGBコードで0xD4C2)\r
\r
\r
\r
-------------------------------------------------------\r
drwxr-xr-x 15 owner 1024 Nov 6 14:21 Linux/\r
-rwxrwx--- 5 owner 12 Nov 6 1996 test.txt\r
- drwxr-xr-x 15 owner 1024 11\8c\8e 6\93ú 14:21 Linux/\r
- drwxr-xr-x 15 owner 1024 11\8c\8e 6\93ú 14\8e\9e21\95ª Linux/\r
- -rwxrwx--- 5 owner 12 11\8c\8e 6\93ú 1996\94N test.txt\r
+ drwxr-xr-x 15 owner 1024 11月 6日 14:21 Linux/\r
+ drwxr-xr-x 15 owner 1024 11月 6日 14時21分 Linux/\r
+ -rwxrwx--- 5 owner 12 11月 6日 1996年 test.txt\r
\r
*LIST_UNIX_21\r
0 1 2 3 4 5 6\r
-------------------------------------------------------\r
- drwxr-xr-x 15 owner 1024 11\8c\8e12\93ú 14\8e\9e21\95ª Linux/\r
- -rwxrwx--- 5 owner 12 11\8c\8e12\93ú 1996\94N test.txt\r
+ drwxr-xr-x 15 owner 1024 11月12日 14時21分 Linux/\r
+ -rwxrwx--- 5 owner 12 11月12日 1996年 test.txt\r
\r
*LIST_UNIX_22\r
0 1 2 3 4 5 6\r
-------------------------------------------------------\r
drwxr-xr-x123 owner 1024 Nov 6 14:21 Linux/\r
-rwxrwx---132 owner 12 Nov 6 1996 test.txt\r
- drwxr-xr-x123 owner 1024 11\8c\8e 6\93ú 14:21 Linux/\r
- drwxr-xr-x123 owner 1024 11\8c\8e 6\93ú 14\8e\9e21\95ª Linux/\r
- -rwxrwx---132 owner 12 11\8c\8e 6\93ú 1996\94N test.txt\r
+ drwxr-xr-x123 owner 1024 11月 6日 14:21 Linux/\r
+ drwxr-xr-x123 owner 1024 11月 6日 14時21分 Linux/\r
+ -rwxrwx---132 owner 12 11月 6日 1996年 test.txt\r
\r
*LIST_UNIX_23\r
0 1 2 3 4 5\r
-------------------------------------------------------\r
- drwxr-xr-x123 owner 1024 11\8c\8e12\93ú 14\8e\9e21\95ª Linux/\r
- -rwxrwx---132 owner 12 11\8c\8e12\93ú 1996\94N test.txt\r
+ drwxr-xr-x123 owner 1024 11月12日 14時21分 Linux/\r
+ -rwxrwx---132 owner 12 11月12日 1996年 test.txt\r
\r
*LIST_UNIX_24\r
0 1 2 3 4 5 6 7\r
-------------------------------------------------------\r
- drwxr-xr-x 15 owner 512 2001 6\8c\8e 18 audit (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
+ drwxr-xr-x 15 owner 512 2001 6月 18 audit (月はGBコードで0xD4C2)\r
\r
*LIST_UNIX_25\r
0 1 2 3 4 5 6\r
-------------------------------------------------------\r
- drwxr-xr-x15 owner 512 2001 6\8c\8e 18 audit (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
+ drwxr-xr-x15 owner 512 2001 6月 18 audit (月はGBコードで0xD4C2)\r
\r
\r
\r
-------------------------------------------------------\r
drwxr-xr-x owner 1024 Nov 6 14:21 Linux/\r
-rwxrwx--- owner 12 Nov 6 1996 test.txt\r
- drwxr-xr-x owner 1024 11\8c\8e 6\93ú 14:21 Linux/\r
- drwxr-xr-x owner 1024 11\8c\8e 6\93ú 14\8e\9e21\95ª Linux/\r
- -rwxrwx--- owner 12 11\8c\8e 6\93ú 1996\94N test.txt\r
+ drwxr-xr-x owner 1024 11月 6日 14:21 Linux/\r
+ drwxr-xr-x owner 1024 11月 6日 14時21分 Linux/\r
+ -rwxrwx--- owner 12 11月 6日 1996年 test.txt\r
\r
*LIST_UNIX_51\r
0 1 2 3 4 5\r
-------------------------------------------------------\r
- drwxr-xr-x owner 1024 11\8c\8e12\93ú 14\8e\9e21\95ª Linux/\r
- -rwxrwx--- owner 12 11\8c\8e12\93ú 1996\94N test.txt\r
+ drwxr-xr-x owner 1024 11月12日 14時21分 Linux/\r
+ -rwxrwx--- owner 12 11月12日 1996年 test.txt\r
\r
0 1 2 3 4 5\r
-------------------------------------------------------\r
*LIST_UNIX_54\r
0 1 2 3 4 5 6\r
-------------------------------------------------------\r
- drwxr-xr-x owner 512 2001 6\8c\8e 18 audit (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
+ drwxr-xr-x owner 512 2001 6月 18 audit (月はGBコードで0xD4C2)\r
\r
\r
\r
*LIST_UNIX_61\r
0 1 2 3 4 5 6 7 8 9\r
-------------------------------------------------------\r
- drwxr-xr-x 123 owner m group g 1024 11\8c\8e12\93ú 14:21 Linux/\r
- -rwxrwx--- 132 owner m group g 12 11\8c\8e12\93ú 1996 test.txt\r
+ drwxr-xr-x 123 owner m group g 1024 11月12日 14:21 Linux/\r
+ -rwxrwx--- 132 owner m group g 12 11月12日 1996 test.txt\r
\r
*LIST_UNIX_62\r
0 1 2 3 4 5 6 7 8 9\r
*LIST_UNIX_63\r
0 1 2 3 4 5 6 7 8\r
-------------------------------------------------------\r
- drwxr-xr-x123 owner m group g 1024 11\8c\8e12\93ú 14:21 Linux/\r
- -rwxrwx---132 owner m group g 12 11\8c\8e12\93ú 1996 test.txt\r
+ drwxr-xr-x123 owner m group g 1024 11月12日 14:21 Linux/\r
+ -rwxrwx---132 owner m group g 12 11月12日 1996 test.txt\r
\r
*LIST_UNIX_64\r
0 1 2 3 4 5 6 7 8 9 10\r
-------------------------------------------------------\r
- drwxr-xr-x 15 owner m group g 512 2001 6\8c\8e 18 audit (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
+ drwxr-xr-x 15 owner m group g 512 2001 6月 18 audit (月はGBコードで0xD4C2)\r
\r
*LIST_UNIX_65\r
0 1 2 3 4 5 6 7 8 9\r
-------------------------------------------------------\r
- drwxr-xr-x15 owner m group g 512 2001 6\8c\8e 18 audit (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
+ drwxr-xr-x15 owner m group g 512 2001 6月 18 audit (月はGBコードで0xD4C2)\r
\r
\r
\r
*LIST_UNIX_71\r
0 1 2 3 4 5 6 7 8\r
-------------------------------------------------------\r
- drwxr-xr-x 123 owner group g 1024 11\8c\8e12\93ú 14:21 Linux/\r
- -rwxrwx--- 132 owner group g 12 11\8c\8e12\93ú 1996 test.txt\r
+ drwxr-xr-x 123 owner group g 1024 11月12日 14:21 Linux/\r
+ -rwxrwx--- 132 owner group g 12 11月12日 1996 test.txt\r
\r
*LIST_UNIX_72\r
0 1 2 3 4 5 6 7 8\r
*LIST_UNIX_73\r
0 1 2 3 4 5 6 7\r
-------------------------------------------------------\r
- drwxr-xr-x123 owner group g 1024 11\8c\8e12\93ú 14:21 Linux/\r
- -rwxrwx---132 owner group g 12 11\8c\8e12\93ú 1996 test.txt\r
+ drwxr-xr-x123 owner group g 1024 11月12日 14:21 Linux/\r
+ -rwxrwx---132 owner group g 12 11月12日 1996 test.txt\r
\r
*LIST_UNIX_74\r
0 1 2 3 4 5 6 7 8 9\r
-------------------------------------------------------\r
- drwxr-xr-x 15 owner group g 512 2001 6\8c\8e 18 audit (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
+ drwxr-xr-x 15 owner group g 512 2001 6月 18 audit (月はGBコードで0xD4C2)\r
\r
*LIST_UNIX_75\r
0 1 2 3 4 5 6 7 8\r
-------------------------------------------------------\r
- drwxr-xr-x15 owner group g 512 2001 6\8c\8e 18 audit (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
+ drwxr-xr-x15 owner group g 512 2001 6月 18 audit (月はGBコードで0xD4C2)\r
\r
\r
\r
\r
\r
\r
-*unix\8cn\82Å\88È\89º\82Ì\82æ\82¤\82È\93ú\95t\r
+*unix系で以下のような日付\r
0 1 2 3 4 5 6\r
-------------------------------------------------------\r
drwxr-xr-x123 owner 1024 11/ 6 14:21 Linux/\r
0\r
-------------------------------------------------------\r
test.txt\r
-\81@\81@\83f\83B\83\8c\83N\83g\83\8a\82È\82µ\81A\r
+ ディレクトリなし、\r
\r
*LIST_AS400\r
0 1 2 3 4 5\r
QSECOFR 0 98/05/15 16:01:15 *STMF WWWTEST.BAK\r
\r
*LIST_M1800\r
- 0 1 2 3 4 5 6 (\83t\83@\83C\83\8b\96¼\82Ì\8cã\82ë\82É\83X\83y\81[\83X\82 \82è\81j\r
+ 0 1 2 3 4 5 6 (ファイル名の後ろにスペースあり)\r
-------------------------------------------------------\r
drwx F 400 400 PO 93.10.27 COMMON.PDL.EXCEL/ \r
-rw- F 10000 10000 DA 97.03.04 DTSLOG1.FNA \r
0 1 2 3 4\r
-------------------------------------------------------\r
345 A 12-02-98 10:59 VirtualDevice.java\r
- 0 DIR 12-09-98 09:43 \83f\83B\83\8c\83N\83g\83\8a\r
- 0 DIR 12-09-100 09:43 \83f\83B\83\8c\83N\83g\83\8a\r
+ 0 DIR 12-09-98 09:43 ディレクトリ\r
+ 0 DIR 12-09-100 09:43 ディレクトリ\r
\r
*LIST_MELCOM\r
0 1 2 3 4 5 6 7 8\r
(RWED,RWED,RE,)\r
MAIL.DIR;1 104/248 18-SEP-2001 16:19:39 [CIM,MIZOTE]\r
(RWE,RWE,,)\r
- \81¦VMS\82Ì\8fê\8d\87\88ê\97\97\82ª\95¡\90\94\8ds\82É\95Ê\82ê\82é\8fê\8d\87\82ª\82 \82é\r
+ ※VMSの場合一覧が複数行に別れる場合がある\r
\r
*LIST_OS7_1\r
0 1 2 3\r
\r
------------------------------------*/\r
\r
-/*===== \90Ú\91±\83E\83C\83\93\83h\83E\82Ì\8c`\8e® =====*/\r
+/*===== 接続ウインドウの形式 =====*/\r
\r
-#define DLG_TYPE_CON 0 /* \8aÈ\88Õ\81i\83z\83X\83g\95Ò\8fW\82È\82µ\81j */\r
-#define DLG_TYPE_SET 1 /* \83z\83X\83g\95Ò\8fW\82 \82è */\r
+#define DLG_TYPE_CON 0 /* 簡易(ホスト編集なし) */\r
+#define DLG_TYPE_SET 1 /* ホスト編集あり */\r
\r
-/*===== \83t\83@\83C\83\8b\88ê\97\97\8eæ\93¾\83\82\81[\83h =====*/\r
+/*===== ファイル一覧取得モード =====*/\r
\r
-#define CACHE_NORMAL 0 /* \92Ê\8fí\81i\83L\83\83\83b\83V\83\85\82É\82 \82ê\82Î\8eg\97p\81A\82È\82¯\82ê\82Î\93Ç\82Ý\8d\9e\82Ý\81j */\r
-#define CACHE_REFRESH 1 /* \8fí\82É\93Ç\82Ý\8d\9e\82Ý */\r
-#define CACHE_LASTREAD 2 /* \8dÅ\8cã\82É\93Ç\82Ý\8d\9e\82ñ\82¾\82à\82Ì\82ð\8eg\97p */\r
+#define CACHE_NORMAL 0 /* 通常(キャッシュにあれば使用、なければ読み込み) */\r
+#define CACHE_REFRESH 1 /* 常に読み込み */\r
+#define CACHE_LASTREAD 2 /* 最後に読み込んだものを使用 */\r
\r
-/*===== \8a¿\8e\9a\83R\81[\83h\95Ï\8a· =====*/\r
+/*===== 漢字コード変換 =====*/\r
\r
#define KANJI_SJIS 0 /* SJIS */\r
#define KANJI_JIS 1 /* JIS */\r
#define KANJI_EUC 2 /* EUC */\r
#define KANJI_SMB_HEX 3 /* Samba-HEX */\r
#define KANJI_SMB_CAP 4 /* Samba-CAP */\r
-#define KANJI_UTF8N 5 /* UTF-8N */\r
+#define KANJI_UTF8N 5 /* UTF-8 */\r
+// UTF-8対応\r
+#define KANJI_UTF8BOM 6 /* UTF-8 BOM */\r
\r
-#define KANJI_NOCNV -1 /* \8a¿\8e\9a\83R\81[\83h\95Ï\8a·\82È\82µ */\r
+#define KANJI_NOCNV -1 /* 漢字コード変換なし */\r
\r
+// UTF-8対応\r
#define KANJI_AUTO -1\r
\r
-/*===== \83T\83E\83\93\83h =====*/\r
+/*===== サウンド =====*/\r
\r
-#define SND_CONNECT 0 /* \90Ú\91±\8e\9e\82Ì\83T\83E\83\93\83h */\r
-#define SND_TRANS 1 /* \93]\91\97\8fI\97¹\8e\9e\82Ì\83T\83E\83\93\83h */\r
-#define SND_ERROR 2 /* \83G\83\89\81[\8e\9e\82Ì\83T\83E\83\93\83h */\r
+#define SND_CONNECT 0 /* 接続時のサウンド */\r
+#define SND_TRANS 1 /* 転送終了時のサウンド */\r
+#define SND_ERROR 2 /* エラー時のサウンド */\r
\r
-#define SOUND_TYPES 3 /* \83T\83E\83\93\83h\82Ì\8eí\97Þ */\r
+#define SOUND_TYPES 3 /* サウンドの種類 */\r
\r
-/*===== \83r\83\85\81[\83\8f =====*/\r
+/*===== ビューワ =====*/\r
\r
-#define VIEWERS 3 /* \83r\83\85\81[\83\8f\82Ì\90\94 */\r
+#define VIEWERS 3 /* ビューワの数 */\r
\r
-/*===== \83u\83b\83N\83}\81[\83N =====*/\r
+/*===== ブックマーク =====*/\r
\r
-#define BMARK_SUB_MENU 2 /* \83u\83b\83N\83}\81[\83N\83\81\83j\83\85\81[\82Ì\83T\83u\83\81\83j\83\85\81[\94Ô\8d\86 */\r
-#define DEFAULT_BMARK_ITEM 5 /* \83u\83b\83N\83}\81[\83N\83\81\83j\83\85\81[\82É\82 \82é\8cÅ\92è\95\94\95ª\82Ì\90\94 */\r
-#define MENU_BMARK_TOP 30000 /* 3000\88È\8d~(3100\82\82ç\82¢\82Ü\82Å)\82Í\97\\96ñ\82·\82é */\r
- /* resource.h \82Ì\92è\8b`\82Æ\8fd\82È\82ç\82È\82¢\82æ\82¤\82É */\r
+#define BMARK_SUB_MENU 2 /* ブックマークメニューのサブメニュー番号 */\r
+#define DEFAULT_BMARK_ITEM 5 /* ブックマークメニューにある固定部分の数 */\r
+#define MENU_BMARK_TOP 30000 /* 3000以降(3100くらいまで)は予約する */\r
+ /* resource.h の定義と重ならないように */\r
\r
-#define BMARK_TYPE_NONE 0 /* \83u\83b\83N\83}\81[\83N\96³\82µ */\r
-#define BMARK_TYPE_LOCAL 1 /* \83\8d\81[\83J\83\8b\91¤\82Ì\83u\83b\83N\83}\81[\83N */\r
-#define BMARK_TYPE_REMOTE 2 /* \83z\83X\83g\91¤\82Ì\83u\83b\83N\83}\81[\83N */\r
-#define BMARK_TYPE_BOTH 3 /* \97¼\95û\82Ì\83u\83b\83N\83}\81[\83N */\r
+#define BMARK_TYPE_NONE 0 /* ブックマーク無し */\r
+#define BMARK_TYPE_LOCAL 1 /* ローカル側のブックマーク */\r
+#define BMARK_TYPE_REMOTE 2 /* ホスト側のブックマーク */\r
+#define BMARK_TYPE_BOTH 3 /* 両方のブックマーク */\r
\r
-#define BMARK_MARK_LOCAL "L " /* \83\8d\81[\83J\83\8b\91¤\82Ì\88ó */\r
-#define BMARK_MARK_REMOTE "H " /* \83z\83X\83g\91¤\82Ì\88ó */\r
-#define BMARK_MARK_BOTH "W " /* \97¼\95û\82Ì\88ó */\r
-#define BMARK_MARK_LEN 2 /* \88ó\82Ì\95¶\8e\9a\90\94 */\r
+#define BMARK_MARK_LOCAL "L " /* ローカル側の印 */\r
+#define BMARK_MARK_REMOTE "H " /* ホスト側の印 */\r
+#define BMARK_MARK_BOTH "W " /* 両方の印 */\r
+#define BMARK_MARK_LEN 2 /* 印の文字数 */\r
\r
-#define BMARK_SEP " <> " /* \83\8d\81[\83J\83\8b\91¤\82Æ\83z\83X\83g\91¤\82Ì\8bæ\90Ø\82è */\r
-#define BMARK_SEP_LEN 4 /* \8bæ\90Ø\82è\82Ì\95¶\8e\9a\90\94 */\r
+#define BMARK_SEP " <> " /* ローカル側とホスト側の区切り */\r
+#define BMARK_SEP_LEN 4 /* 区切りの文字数 */\r
\r
-/*===== \83\8c\83W\83X\83g\83\8a\82Ì\83^\83C\83v =====*/\r
+/*===== レジストリのタイプ =====*/\r
\r
-#define REGTYPE_REG 0 /* \83\8c\83W\83X\83g\83\8a */\r
-#define REGTYPE_INI 1 /* INI\83t\83@\83C\83\8b */\r
+#define REGTYPE_REG 0 /* レジストリ */\r
+#define REGTYPE_INI 1 /* INIファイル */\r
\r
-#define REG_SECT_MAX (16*1024) /* \83\8c\83W\83X\83g\83\8a\82Ì\82P\83Z\83N\83V\83\87\83\93\82Ì\8dÅ\91å\83f\81[\83^\83T\83C\83Y */\r
+// UTF-8対応\r
+//#define REG_SECT_MAX (16*1024) /* レジストリの1セクションの最大データサイズ */\r
+#define REG_SECT_MAX (64*1024) /* レジストリの1セクションの最大データサイズ */\r
\r
-/*===== \83z\83X\83g\90Ý\92è\82Å\96¾\8e¦\93I\82É\8ew\92è\82·\82é\83z\83X\83g\82Ì\83^\83C\83v =====*/\r
+/*===== ホスト設定で明示的に指定するホストのタイプ =====*/\r
\r
-#define HTYPE_AUTO 0 /* \8e©\93® */\r
-#define HTYPE_ACOS 1 /* ACOS (\91Ò\8b@\8c\8b\8d\87\83t\83@\83C\83\8b\82Ì\8ew\92è\82ª\95K\97v) */\r
+#define HTYPE_AUTO 0 /* 自動 */\r
+#define HTYPE_ACOS 1 /* ACOS (待機結合ファイルの指定が必要) */\r
#define HTYPE_VMS 2 /* VAX VMS */\r
#define HTYPE_IRMX 3 /* IRMX */\r
-#define HTYPE_ACOS_4 4 /* ACOS \83t\83@\83C\83\8b\96¼\82ð('')\82Å\8a\87\82ç\82È\82¢ */\r
+#define HTYPE_ACOS_4 4 /* ACOS ファイル名を('')で括らない */\r
#define HTYPE_STRATUS 5 /* Stratus */\r
#define HTYPE_AGILENT 6 /* Agilent Logic analyzer */\r
#define HTYPE_SHIBASOKU 7 /* Shibasoku LSI test system */\r
\r
-/*===== \83R\83}\83\93\83h\83\89\83C\83\93\83I\83v\83V\83\87\83\93 =====*/\r
+/*===== コマンドラインオプション =====*/\r
\r
-#define OPT_MIRROR 0x0001 /* \83~\83\89\81[\83\8a\83\93\83O\83A\83b\83v\83\8d\81[\83h\82ð\8ds\82¤ */\r
-#define OPT_FORCE 0x0002 /* \83~\83\89\81[\83\8a\83\93\83O\8aJ\8en\82Ì\8am\94F\82ð\82µ\82È\82¢ */\r
-#define OPT_QUIT 0x0004 /* \8fI\97¹\8cã\83v\83\8d\83O\83\89\83\80\8fI\97¹ */\r
-#define OPT_EUC 0x0008 /* \8a¿\8e\9a\83R\81[\83h\82ÍEUC */\r
-#define OPT_JIS 0x0010 /* \8a¿\8e\9a\83R\81[\83h\82ÍJIS */\r
-#define OPT_ASCII 0x0020 /* \83A\83X\83L\81[\93]\91\97\83\82\81[\83h */\r
-#define OPT_BINARY 0x0040 /* \83o\83C\83i\83\8a\93]\91\97\83\82\81[\83h */\r
-#define OPT_AUTO 0x0080 /* \8e©\93®\94»\95Ê */\r
-#define OPT_KANA 0x0100 /* \94¼\8ap\82©\82È\82ð\82»\82Ì\82Ü\82Ü\92Ê\82· */\r
-#define OPT_EUC_NAME 0x0200 /* \83t\83@\83C\83\8b\96¼\82ÍEUC */\r
-#define OPT_JIS_NAME 0x0400 /* \83t\83@\83C\83\8b\96¼\82ÍJIS */\r
-#define OPT_MIRRORDOWN 0x0800 /* \83~\83\89\81[\83\8a\83\93\83O\83_\83E\83\93\83\8d\81[\83h\82ð\8ds\82¤ */\r
-#define OPT_SAVEOFF 0x1000 /* \90Ý\92è\82Ì\95Û\91¶\82ð\92\86\8e~\82·\82é */\r
-#define OPT_SAVEON 0x2000 /* \90Ý\92è\82Ì\95Û\91¶\82ð\8dÄ\8aJ\82·\82é */\r
+#define OPT_MIRROR 0x0001 /* ミラーリングアップロードを行う */\r
+#define OPT_FORCE 0x0002 /* ミラーリング開始の確認をしない */\r
+#define OPT_QUIT 0x0004 /* 終了後プログラム終了 */\r
+#define OPT_EUC 0x0008 /* 漢字コードはEUC */\r
+#define OPT_JIS 0x0010 /* 漢字コードはJIS */\r
+#define OPT_ASCII 0x0020 /* アスキー転送モード */\r
+#define OPT_BINARY 0x0040 /* バイナリ転送モード */\r
+#define OPT_AUTO 0x0080 /* 自動判別 */\r
+#define OPT_KANA 0x0100 /* 半角かなをそのまま通す */\r
+#define OPT_EUC_NAME 0x0200 /* ファイル名はEUC */\r
+#define OPT_JIS_NAME 0x0400 /* ファイル名はJIS */\r
+#define OPT_MIRRORDOWN 0x0800 /* ミラーリングダウンロードを行う */\r
+#define OPT_SAVEOFF 0x1000 /* 設定の保存を中止する */\r
+#define OPT_SAVEON 0x2000 /* 設定の保存を再開する */\r
\r
-/*===== \83z\83X\83g\82Ì\83q\83X\83g\83\8a =====*/\r
+/*===== ホストのヒストリ =====*/\r
\r
-#define HISTORY_MAX 20 /* \83t\83@\83C\83\8b\82Ì\83q\83X\83g\83\8a\82Ì\8dÅ\91å\8cÂ\90\94 */\r
-#define DEF_FMENU_ITEMS 8 /* File\83\81\83j\83\85\81[\82É\82 \82é\8d\80\96Ú\90\94\82Ì\8f\89\8aú\92l */\r
+#define HISTORY_MAX 20 /* ファイルのヒストリの最大個数 */\r
+#define DEF_FMENU_ITEMS 8 /* Fileメニューにある項目数の初期値 */\r
\r
/*===== SOCKS4 =====*/\r
\r
-#define SOCKS4_VER 4 /* SOCKS\82Ì\83o\81[\83W\83\87\83\93 */\r
+#define SOCKS4_VER 4 /* SOCKSのバージョン */\r
\r
-#define SOCKS4_CMD_CONNECT 1 /* CONNECT\83R\83}\83\93\83h */\r
-#define SOCKS4_CMD_BIND 2 /* BIND\83R\83}\83\93\83h */\r
+#define SOCKS4_CMD_CONNECT 1 /* CONNECTコマンド */\r
+#define SOCKS4_CMD_BIND 2 /* BINDコマンド */\r
\r
-/* \83\8a\83U\83\8b\83g\83R\81[\83h */\r
-#define SOCKS4_RES_OK 90 /* \97v\8b\81\82Í\8b\96\89Â\82³\82ê\82½ */\r
- /* \82»\82Ì\91¼\82Ì\83R\81[\83h\82Í\83`\83F\83b\83N\82µ\82È\82¢\82Ì\82Å\92è\8b`\82µ\82È\82¢ */\r
+/* リザルトコード */\r
+#define SOCKS4_RES_OK 90 /* 要求は許可された */\r
+ /* その他のコードはチェックしないので定義しない */\r
\r
/*===== SOCKS5 =====*/\r
\r
-#define SOCKS5_VER 5 /* SOCKS\82Ì\83o\81[\83W\83\87\83\93 */\r
+#define SOCKS5_VER 5 /* SOCKSのバージョン */\r
\r
-#define SOCKS5_CMD_CONNECT 1 /* CONNECT\83R\83}\83\93\83h */\r
-#define SOCKS5_CMD_BIND 2 /* BIND\83R\83}\83\93\83h */\r
+#define SOCKS5_CMD_CONNECT 1 /* CONNECTコマンド */\r
+#define SOCKS5_CMD_BIND 2 /* BINDコマンド */\r
\r
-#define SOCKS5_AUTH_NONE 0 /* \94F\8fØ\96³\82µ */\r
+#define SOCKS5_AUTH_NONE 0 /* 認証無し */\r
#define SOCKS5_AUTH_GSSAPI 1 /* GSS-API */\r
#define SOCKS5_AUTH_USER 2 /* Username/Password */\r
\r
#define SOCKS5_ADRS_NAME 3 /* Domain name */\r
#define SOCKS5_ADRS_IPV6 4 /* IP V6 address */\r
\r
-#define SOCKS5_USERAUTH_VER 1 /* Username\Password\94F\8fØ\82Ì\83o\81[\83W\83\87\83\93 */\r
+#define SOCKS5_USERAUTH_VER 1 /* Username\Password認証のバージョン */\r
\r
-/* \83\8a\83U\83\8b\83g\83R\81[\83h */\r
+/* リザルトコード */\r
#define SOCKS5_RES_OK 0x00 /* succeeded */\r
- /* \82»\82Ì\91¼\82Ì\83R\81[\83h\82Í\83`\83F\83b\83N\82µ\82È\82¢\82Ì\82Å\92è\8b`\82µ\82È\82¢ */\r
+ /* その他のコードはチェックしないので定義しない */\r
\r
-/*===== \92\86\92f\83R\81[\83h =====*/\r
+/*===== 中断コード =====*/\r
\r
-#define ABORT_NONE 0 /* \93]\91\97\92\86\92f\82È\82µ */\r
-#define ABORT_USER 1 /* \83\86\81[\83U\82É\82æ\82é\92\86\92f */\r
-#define ABORT_ERROR 2 /* \83G\83\89\81[\82É\82æ\82é\92\86\92f */\r
-#define ABORT_DISKFULL 3 /* \83f\83B\83X\83N\83t\83\8b\82æ\82é\92\86\92f */\r
+#define ABORT_NONE 0 /* 転送中断なし */\r
+#define ABORT_USER 1 /* ユーザによる中断 */\r
+#define ABORT_ERROR 2 /* エラーによる中断 */\r
+#define ABORT_DISKFULL 3 /* ディスクフルよる中断 */\r
\r
-/*===== FireWall\82Ì\8eí\97Þ =====*/\r
+/*===== FireWallの種類 =====*/\r
\r
-#define FWALL_NONE 0 /* \82È\82µ */\r
-#define FWALL_FU_FP_SITE 1 /* FW user \81¨ FW pass \81¨ SITE host */\r
-#define FWALL_FU_FP_USER 2 /* FW user \81¨ FW pass \81¨ USER user@host */\r
+#define FWALL_NONE 0 /* なし */\r
+#define FWALL_FU_FP_SITE 1 /* FW user → FW pass → SITE host */\r
+#define FWALL_FU_FP_USER 2 /* FW user → FW pass → USER user@host */\r
#define FWALL_USER 3 /* USER user@host */\r
#define FWALL_OPEN 4 /* OPEN host */\r
#define FWALL_SOCKS4 5 /* SOCKS4 */\r
-#define FWALL_SOCKS5_NOAUTH 6 /* SOCKS5 (\94F\8fØ\82È\82µ) */\r
-#define FWALL_SOCKS5_USER 7 /* SOCKS5 (Username/Password\94F\8fØ) */\r
-#define FWALL_FU_FP 8 /* FW user \81¨ FW pass */\r
+#define FWALL_SOCKS5_NOAUTH 6 /* SOCKS5 (認証なし) */\r
+#define FWALL_SOCKS5_USER 7 /* SOCKS5 (Username/Password認証) */\r
+#define FWALL_FU_FP 8 /* FW user → FW pass */\r
#define FWALL_SIDEWINDER 9 /* USER FWuser:FWpass@host */\r
\r
-/*===== \83\8f\83\93\83^\83C\83\80\83p\83X\83\8f\81[\83h =====*/\r
+/*===== ワンタイムパスワード =====*/\r
\r
-/* \83R\81[\83h\82Ì\8eí\97Þ */\r
-#define SECURITY_DISABLE 0 /* \8eg\97p\82µ\82È\82¢ */\r
-#define SECURITY_AUTO 1 /* \8e©\93®\94F\8e¯ */\r
+/* コードの種類 */\r
+#define SECURITY_DISABLE 0 /* 使用しない */\r
+#define SECURITY_AUTO 1 /* 自動認識 */\r
#define MD4 2 /* MD4 */\r
#define MD5 3 /* MD5 */\r
#define SHA1 4 /* SHA-1 */\r
\r
-#define MAX_SEED_LEN 16 /* Seed\82Ì\95¶\8e\9a\90\94 */\r
+#define MAX_SEED_LEN 16 /* Seedの文字数 */\r
\r
-/*===== \8dÄ\8bA\93I\82È\83t\83@\83C\83\8b\8c\9f\8dõ\82Ì\95û\96@ =====*/\r
+/*===== 再帰的なファイル検索の方法 =====*/\r
\r
-#define RDIR_NONE 0 /* \8dÄ\8bA\8c\9f\8dõ\82È\82µ */\r
+#define RDIR_NONE 0 /* 再帰検索なし */\r
#define RDIR_NLST 1 /* NLST -R */\r
-#define RDIR_CWD 2 /* CWD\82Å\88Ú\93® */\r
+#define RDIR_CWD 2 /* CWDで移動 */\r
\r
-/*===== VAX VMS \8aÖ\8cW =====*/\r
+/*===== VAX VMS 関係 =====*/\r
\r
-#define BLOCK_SIZE 512 /* 1\83u\83\8d\83b\83N\82Ì\83o\83C\83g\90\94 */\r
+#define BLOCK_SIZE 512 /* 1ブロックのバイト数 */\r
\r
-/*===== \90Ý\92è\82Ì\83\8c\83x\83\8b =====*/\r
+/*===== 設定のレベル =====*/\r
\r
-#define SET_LEVEL_GROUP 0x8000 /* \83O\83\8b\81[\83v\82Ì\83t\83\89\83O */\r
+#define SET_LEVEL_GROUP 0x8000 /* グループのフラグ */\r
#define SET_LEVEL_MASK 0x7FFF\r
#define SET_LEVEL_SAME 0x7FFF\r
\r
-/*===== \93ú\95t\81A\90\94\92l\82Ì\95\\8e¦\8c`\8e® =====*/\r
+/*===== 日付、数値の表示形式 =====*/\r
\r
-#define DISPFORM_LEGACY 0 /* \8cÅ\92è\8f\91\8e® */\r
-#define DISPFORM_LOCALE 1 /* \83R\83\93\83g\83\8d\81[\83\8b\83p\83l\83\8b\82É\8f]\82¤ */\r
+#define DISPFORM_LEGACY 0 /* 固定書式 */\r
+#define DISPFORM_LOCALE 1 /* コントロールパネルに従う */\r
\r
-/*===== \83t\83@\83C\83\8b\88ê\97\97\82É\91¶\8dÝ\82µ\82½\8fî\95ñ =====*/\r
+/*===== ファイル一覧に存在した情報 =====*/\r
\r
-#define FINFO_DATE 0x01 /* \93ú\95t */\r
-#define FINFO_TIME 0x02 /* \8e\9e\8aÔ */\r
-#define FINFO_SIZE 0x04 /* \83T\83C\83Y */\r
-#define FINFO_ATTR 0x08 /* \91®\90« */\r
-#define FINFO_ALL 0xFF /* \91S\82Ä */\r
+#define FINFO_DATE 0x01 /* 日付 */\r
+#define FINFO_TIME 0x02 /* 時間 */\r
+#define FINFO_SIZE 0x04 /* サイズ */\r
+#define FINFO_ATTR 0x08 /* 属性 */\r
+#define FINFO_ALL 0xFF /* 全て */\r
\r
-/*===== GetMasterPasswordStatus\82Å\8eg\82¤\83R\81[\83h =====*/\r
+/*===== GetMasterPasswordStatusで使うコード =====*/\r
#define PASSWORD_OK 0\r
#define PASSWORD_UNMATCH 2\r
#define BAD_PASSWORD_HASH 3\r
\r
-/*===== \88Ã\8d\86\89»\83p\83X\83\8f\81[\83h\90Ý\92è =====*/\r
+/*===== 暗号化パスワード設定 =====*/\r
#define DEFAULT_PASSWORD "DefaultPassword"\r
#define MAX_PASSWORD_LEN 128\r
\r
-// \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
+// 暗号化通信対応\r
#define CRYPT_NONE 0\r
#define CRYPT_FTPES 1\r
#define CRYPT_FTPIS 2\r
#define CRYPT_SFTP 3\r
\r
+// FEAT対応\r
+// UTF-8対応\r
+#define FEATURE_UTF8 0x00000001\r
+// MLSD対応\r
+#define FEATURE_MLSD 0x00000002\r
+// IPv6対応\r
+#define FEATURE_EPRT 0x00000004\r
+#define FEATURE_EPSV 0x00000008\r
+\r
+// IPv6対応\r
+#define NTYPE_AUTO 0 /* 自動 */\r
+#define NTYPE_IPV4 1 /* TCP/IPv4 */\r
+#define NTYPE_IPV6 2 /* TCP/IPv6 */\r
+\r
+// 暗号化通信対応\r
+// REG_SECT_MAXの値を加味する必要がある\r
+#define MAX_CERT_CACHE_HASH 256\r
+\r
\r
/*=================================================\r
-* \83X\83g\83\89\83N\83`\83\83\r
+* ストラクチャ\r
*=================================================*/\r
\r
-/*===== \83z\83X\83g\90Ý\92è\83f\81[\83^ =====*/\r
+/*===== ホスト設定データ =====*/\r
\r
typedef struct {\r
- int Level; /* \90Ý\92è\82Ì\83\8c\83x\83\8b */\r
- /* \92Ê\8fí\82Í\83O\83\8b\81[\83v\82Ì\83t\83\89\83O\82Ì\82Ý\82ª\97L\8cø */\r
- /* \83\8c\83x\83\8b\90\94\82Í\90Ý\92è\82Ì\93o\98^\81^\8cÄ\8fo\8e\9e\82Ì\82Ý\82Å\8eg\97p */\r
- char HostName[HOST_NAME_LEN+1]; /* \90Ý\92è\96¼ */\r
- char HostAdrs[HOST_ADRS_LEN+1]; /* \83z\83X\83g\96¼ */\r
- char UserName[USER_NAME_LEN+1]; /* \83\86\81[\83U\96¼ */\r
- char PassWord[PASSWORD_LEN+1]; /* \83p\83X\83\8f\81[\83h */\r
- char Account[ACCOUNT_LEN+1]; /* \83A\83J\83E\83\93\83g */\r
- char LocalInitDir[INIT_DIR_LEN+1]; /* \83\8d\81[\83J\83\8b\82Ì\8aJ\8en\83f\83B\83\8c\83N\83g\83\8a */\r
- char RemoteInitDir[INIT_DIR_LEN+1]; /* \83z\83X\83g\82Ì\8aJ\8en\83f\83B\83\8c\83N\83g\83\8a */\r
- char BookMark[BOOKMARK_SIZE]; /* \83u\83b\83N\83}\81[\83N */\r
- char ChmodCmd[CHMOD_CMD_LEN+1]; /* \91®\90«\95Ï\8dX\83R\83}\83\93\83h */\r
- char LsName[NLST_NAME_LEN+1]; /* NLST\82É\95t\82¯\82é\83t\83@\83C\83\8b\96¼/\83I\83v\83V\83\87\83\93*/\r
- char InitCmd[INITCMD_LEN+1]; /* \83z\83X\83g\82Ì\8f\89\8aú\89»\83R\83}\83\93\83h */\r
- int Port; /* \83|\81[\83g\94Ô\8d\86 */\r
- int Anonymous; /* Anonymous\83t\83\89\83O */\r
- int KanjiCode; /* \83z\83X\83g\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
- int KanaCnv; /* \94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
- int NameKanjiCode; /* \83t\83@\83C\83\8b\96¼\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
- int NameKanaCnv; /* \83t\83@\83C\83\8b\96¼\82Ì\94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
- int Pasv; /* PASV\83\82\81[\83h (YES/NO) */\r
- int FireWall; /* FireWall\82ð\8eg\82¤ (YES/NO) */\r
- int ListCmdOnly; /* "LIST"\83R\83}\83\93\83h\82Ì\82Ý\8eg\97p\82·\82é */\r
- int UseNLST_R; /* "NLST -R"\83R\83}\83\93\83h\82ð\8eg\97p\82·\82é */\r
- int LastDir; /* \8dÅ\8cã\82É\83A\83N\83Z\83X\82µ\82½\83t\83H\83\8b\83_\82ð\95Û\91¶ */\r
- int TimeZone; /* \83^\83C\83\80\83]\81[\83\93 (-12\81`12) */\r
- int HostType; /* \83z\83X\83g\82Ì\83^\83C\83v (HTYPE_xxx) */\r
- int SyncMove; /* \83t\83H\83\8b\83_\93¯\8e\9e\88Ú\93® (YES/NO) */\r
- int NoFullPath; /* \83t\83\8b\83p\83X\82Å\83t\83@\83C\83\8b\83A\83N\83Z\83X\82µ\82È\82¢ (YES/NO) */\r
- ulong Sort; /* \83\\81[\83g\95û\96@ (0x11223344 : 11=LFsort 22=LDsort 33=RFsort 44=RFsort) */\r
- int Security; /* \83Z\83L\83\85\83\8a\83e\83B (SECURITY_xxx , MDx) */\r
- int Dialup; /* \83_\83C\83A\83\8b\83A\83b\83v\90Ú\91±\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
- int DialupAlways; /* \8fí\82É\82±\82Ì\83G\83\93\83g\83\8a\82Ö\90Ú\91±\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
- int DialupNotify; /* \8dÄ\90Ú\91±\82Ì\8dÛ\82É\8am\94F\82·\82é (YES/NO) */\r
- char DialEntry[RAS_NAME_LEN+1]; /* \83_\83C\83A\83\8b\83A\83b\83v\83G\83\93\83g\83\8a */\r
- // \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
- int CryptMode; /* \88Ã\8d\86\89»\92Ê\90M\83\82\81[\83h (CRYPT_xxx) */\r
- int UseFTPES; /* FTPES\82Å\90Ú\91±\82·\82é (YES/NO) */\r
- int UseFTPIS; /* FTPIS\82Å\90Ú\91±\82·\82é (YES/NO) */\r
- int UseSFTP; /* SFTP\82Å\90Ú\91±\82·\82é (YES/NO) */\r
+ int Level; /* 設定のレベル */\r
+ /* 通常はグループのフラグのみが有効 */\r
+ /* レベル数は設定の登録/呼出時のみで使用 */\r
+ char HostName[HOST_NAME_LEN+1]; /* 設定名 */\r
+ char HostAdrs[HOST_ADRS_LEN+1]; /* ホスト名 */\r
+ char UserName[USER_NAME_LEN+1]; /* ユーザ名 */\r
+ char PassWord[PASSWORD_LEN+1]; /* パスワード */\r
+ char Account[ACCOUNT_LEN+1]; /* アカウント */\r
+ char LocalInitDir[INIT_DIR_LEN+1]; /* ローカルの開始ディレクトリ */\r
+ char RemoteInitDir[INIT_DIR_LEN+1]; /* ホストの開始ディレクトリ */\r
+ char BookMark[BOOKMARK_SIZE]; /* ブックマーク */\r
+ char ChmodCmd[CHMOD_CMD_LEN+1]; /* 属性変更コマンド */\r
+ char LsName[NLST_NAME_LEN+1]; /* NLSTに付けるファイル名/オプション*/\r
+ char InitCmd[INITCMD_LEN+1]; /* ホストの初期化コマンド */\r
+ int Port; /* ポート番号 */\r
+ int Anonymous; /* Anonymousフラグ */\r
+ int KanjiCode; /* ホストの漢字コード (KANJI_xxx) */\r
+ int KanaCnv; /* 半角カナを全角に変換(YES/NO) */\r
+ int NameKanjiCode; /* ファイル名の漢字コード (KANJI_xxx) */\r
+ // UTF-8対応\r
+ int CurNameKanjiCode; /* 自動判別後のファイル名の漢字コード (KANJI_xxx) */\r
+ int NameKanaCnv; /* ファイル名の半角カナを全角に変換(YES/NO) */\r
+ int Pasv; /* PASVモード (YES/NO) */\r
+ int FireWall; /* FireWallを使う (YES/NO) */\r
+ int ListCmdOnly; /* "LIST"コマンドのみ使用する */\r
+ int UseNLST_R; /* "NLST -R"コマンドを使用する */\r
+ int LastDir; /* 最後にアクセスしたフォルダを保存 */\r
+ int TimeZone; /* タイムゾーン (-12~12) */\r
+ int HostType; /* ホストのタイプ (HTYPE_xxx) */\r
+ int SyncMove; /* フォルダ同時移動 (YES/NO) */\r
+ int NoFullPath; /* フルパスでファイルアクセスしない (YES/NO) */\r
+ ulong Sort; /* ソート方法 (0x11223344 : 11=LFsort 22=LDsort 33=RFsort 44=RFsort) */\r
+ int Security; /* セキュリティ (SECURITY_xxx , MDx) */\r
+ int Dialup; /* ダイアルアップ接続するかどうか (YES/NO) */\r
+ int DialupAlways; /* 常にこのエントリへ接続するかどうか (YES/NO) */\r
+ int DialupNotify; /* 再接続の際に確認する (YES/NO) */\r
+ char DialEntry[RAS_NAME_LEN+1]; /* ダイアルアップエントリ */\r
+ // 暗号化通信対応\r
+ int CryptMode; /* 暗号化通信モード (CRYPT_xxx) */\r
+ int UseNoEncryption; /* 暗号化なしで接続する (YES/NO) */\r
+ int UseFTPES; /* FTPESで接続する (YES/NO) */\r
+ int UseFTPIS; /* FTPISで接続する (YES/NO) */\r
+ int UseSFTP; /* SFTPで接続する (YES/NO) */\r
+ char PrivateKey[PRIVATE_KEY_LEN+1]; /* テキスト形式の秘密鍵 */\r
+ // 同時接続対応\r
+ int MaxThreadCount; /* 同時接続数 */\r
+ int ReuseCmdSkt; /* メインウィンドウのソケットを再利用する (YES/NO) */\r
+ int NoDisplayUI; /* UIを表示しない (YES/NO) */\r
+ // FEAT対応\r
+ int Feature; /* 利用可能な機能のフラグ (FEATURE_xxx) */\r
+ // MLSD対応\r
+ int UseMLSD; /* "MLSD"コマンドを使用する */\r
+ // IPv6対応\r
+ int NetType; /* ネットワークの種類 (NTYPE_xxx) */\r
+ int CurNetType; /* 接続中のネットワークの種類 (NTYPE_xxx) */\r
+ // 自動切断対策\r
+ int NoopInterval; /* 無意味なコマンドを送信する間隔(秒数、0で無効)*/\r
+ // 再転送対応\r
+ int TransferErrorMode; /* 転送エラー時の処理 (EXIST_xxx) */\r
+ int TransferErrorNotify; /* 転送エラー時に確認ダイアログを出すかどうか (YES/NO) */\r
} HOSTDATA;\r
\r
\r
-/*===== \83z\83X\83g\90Ý\92è\83\8a\83X\83g =====*/\r
+/*===== ホスト設定リスト =====*/\r
\r
typedef struct hostlistdata {\r
- HOSTDATA Set; /* \83z\83X\83g\90Ý\92è\83f\81[\83^ */\r
+ HOSTDATA Set; /* ホスト設定データ */\r
struct hostlistdata *Next;\r
struct hostlistdata *Prev;\r
struct hostlistdata *Child;\r
} HOSTLISTDATA;\r
\r
\r
-/*===== \90Ú\91±\83q\83X\83g\83\8a\83\8a\83X\83g =====*/\r
+/*===== 接続ヒストリリスト =====*/\r
\r
typedef struct historydata {\r
- char HostAdrs[HOST_ADRS_LEN+1]; /* \83z\83X\83g\96¼ */\r
- char UserName[USER_NAME_LEN+1]; /* \83\86\81[\83U\96¼ */\r
- char PassWord[PASSWORD_LEN+1]; /* \83p\83X\83\8f\81[\83h */\r
- char Account[ACCOUNT_LEN+1]; /* \83A\83J\83E\83\93\83g */\r
- char LocalInitDir[INIT_DIR_LEN+1]; /* \83f\83B\83\8c\83N\83g\83\8a */\r
- char RemoteInitDir[INIT_DIR_LEN+1]; /* \83f\83B\83\8c\83N\83g\83\8a */\r
- char ChmodCmd[CHMOD_CMD_LEN+1]; /* \91®\90«\95Ï\8dX\83R\83}\83\93\83h */\r
- char LsName[NLST_NAME_LEN+1]; /* NLST\82É\95t\82¯\82é\83t\83@\83C\83\8b\96¼/\83I\83v\83V\83\87\83\93*/\r
- char InitCmd[INITCMD_LEN+1]; /* \83z\83X\83g\82Ì\8f\89\8aú\89»\83R\83}\83\93\83h */\r
- int Port; /* \83|\81[\83g\94Ô\8d\86 */\r
- int KanjiCode; /* \83z\83X\83g\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
- int KanaCnv; /* \94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
- int NameKanjiCode; /* \83t\83@\83C\83\8b\96¼\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
- int NameKanaCnv; /* \83t\83@\83C\83\8b\96¼\82Ì\94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
- int Pasv; /* PASV\83\82\81[\83h (YES/NO) */\r
- int FireWall; /* FireWall\82ð\8eg\82¤ (YES/NO) */\r
- int ListCmdOnly; /* "LIST"\83R\83}\83\93\83h\82Ì\82Ý\8eg\97p\82·\82é */\r
- int UseNLST_R; /* "NLST -R"\83R\83}\83\93\83h\82ð\8eg\97p\82·\82é */\r
- int TimeZone; /* \83^\83C\83\80\83]\81[\83\93 (-12\81`12) */\r
- int HostType; /* \83z\83X\83g\82Ì\83^\83C\83v (HTYPE_xxx) */\r
- int SyncMove; /* \83t\83H\83\8b\83_\93¯\8e\9e\88Ú\93® (YES/NO) */\r
- int NoFullPath; /* \83t\83\8b\83p\83X\82Å\83t\83@\83C\83\8b\83A\83N\83Z\83X\82µ\82È\82¢ (YES/NO) */\r
- ulong Sort; /* \83\\81[\83g\95û\96@ (0x11223344 : 11=LFsort 22=LDsort 33=RFsort 44=RFsort) */\r
- int Security; /* \83Z\83L\83\85\83\8a\83e\83B (OTP_xxx , MDx) */\r
- int Type; /* \93]\91\97\95û\96@ (TYPE_xx) */\r
- int Dialup; /* \83_\83C\83A\83\8b\83A\83b\83v\90Ú\91±\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
- int DialupAlways; /* \8fí\82É\82±\82Ì\83G\83\93\83g\83\8a\82Ö\90Ú\91±\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
- int DialupNotify; /* \8dÄ\90Ú\91±\82Ì\8dÛ\82É\8am\94F\82·\82é (YES/NO) */\r
- char DialEntry[RAS_NAME_LEN+1]; /* \83_\83C\83A\83\8b\83A\83b\83v\83G\83\93\83g\83\8a */\r
- // \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
- int UseFTPES; /* FTPES\82Å\90Ú\91±\82·\82é (YES/NO) */\r
- int UseFTPIS; /* FTPIS\82Å\90Ú\91±\82·\82é (YES/NO) */\r
- int UseSFTP; /* SFTP\82Å\90Ú\91±\82·\82é (YES/NO) */\r
+ char HostAdrs[HOST_ADRS_LEN+1]; /* ホスト名 */\r
+ char UserName[USER_NAME_LEN+1]; /* ユーザ名 */\r
+ char PassWord[PASSWORD_LEN+1]; /* パスワード */\r
+ char Account[ACCOUNT_LEN+1]; /* アカウント */\r
+ char LocalInitDir[INIT_DIR_LEN+1]; /* ディレクトリ */\r
+ char RemoteInitDir[INIT_DIR_LEN+1]; /* ディレクトリ */\r
+ char ChmodCmd[CHMOD_CMD_LEN+1]; /* 属性変更コマンド */\r
+ char LsName[NLST_NAME_LEN+1]; /* NLSTに付けるファイル名/オプション*/\r
+ char InitCmd[INITCMD_LEN+1]; /* ホストの初期化コマンド */\r
+ int Port; /* ポート番号 */\r
+ int KanjiCode; /* ホストの漢字コード (KANJI_xxx) */\r
+ int KanaCnv; /* 半角カナを全角に変換(YES/NO) */\r
+ int NameKanjiCode; /* ファイル名の漢字コード (KANJI_xxx) */\r
+ int NameKanaCnv; /* ファイル名の半角カナを全角に変換(YES/NO) */\r
+ int Pasv; /* PASVモード (YES/NO) */\r
+ int FireWall; /* FireWallを使う (YES/NO) */\r
+ int ListCmdOnly; /* "LIST"コマンドのみ使用する */\r
+ int UseNLST_R; /* "NLST -R"コマンドを使用する */\r
+ int TimeZone; /* タイムゾーン (-12~12) */\r
+ int HostType; /* ホストのタイプ (HTYPE_xxx) */\r
+ int SyncMove; /* フォルダ同時移動 (YES/NO) */\r
+ int NoFullPath; /* フルパスでファイルアクセスしない (YES/NO) */\r
+ ulong Sort; /* ソート方法 (0x11223344 : 11=LFsort 22=LDsort 33=RFsort 44=RFsort) */\r
+ int Security; /* セキュリティ (OTP_xxx , MDx) */\r
+ int Type; /* 転送方法 (TYPE_xx) */\r
+ int Dialup; /* ダイアルアップ接続するかどうか (YES/NO) */\r
+ int DialupAlways; /* 常にこのエントリへ接続するかどうか (YES/NO) */\r
+ int DialupNotify; /* 再接続の際に確認する (YES/NO) */\r
+ char DialEntry[RAS_NAME_LEN+1]; /* ダイアルアップエントリ */\r
+ // 暗号化通信対応\r
+ int UseNoEncryption; /* 暗号化なしで接続する (YES/NO) */\r
+ int UseFTPES; /* FTPESで接続する (YES/NO) */\r
+ int UseFTPIS; /* FTPISで接続する (YES/NO) */\r
+ int UseSFTP; /* SFTPで接続する (YES/NO) */\r
+ char PrivateKey[PRIVATE_KEY_LEN+1]; /* テキスト形式の秘密鍵 */\r
+ // 同時接続対応\r
+ int MaxThreadCount; /* 同時接続数 */\r
+ int ReuseCmdSkt; /* メインウィンドウのソケットを再利用する (YES/NO) */\r
+ // MLSD対応\r
+ int UseMLSD; /* "MLSD"コマンドを使用する */\r
+ // IPv6対応\r
+ int NetType; /* ネットワークの種類 (NTYPE_xxx) */\r
+ // 自動切断対策\r
+ int NoopInterval; /* NOOPコマンドを送信する間隔(秒数、0で無効)*/\r
+ // 再転送対応\r
+ int TransferErrorMode; /* 転送エラー時の処理 (EXIST_xxx) */\r
+ int TransferErrorNotify; /* 転送エラー時に確認ダイアログを出すかどうか (YES/NO) */\r
struct historydata *Next;\r
} HISTORYDATA;\r
\r
\r
-/*===== \93]\91\97\83t\83@\83C\83\8b\83\8a\83X\83g =====*/\r
+/*===== 転送ファイルリスト =====*/\r
\r
typedef struct transpacket {\r
SOCKET ctrl_skt; /* Socket */\r
char Cmd[40]; /* STOR/RETR/MKD */\r
- char RemoteFile[FMAX_PATH+1]; /* \83z\83X\83g\91¤\82Ì\83t\83@\83C\83\8b\96¼\81i\83t\83\8b\83p\83X\81j */\r
- /* VMS\82Ì\8e\9e\82Í ddd[xxx.yyy]/yyy/zzz \82Ì\82æ\82¤\82É */\r
- /* \82È\82Á\82Ä\82é\82Ì\82Å\92\8d\88Ó */\r
- char LocalFile[FMAX_PATH+1]; /* \83\8d\81[\83J\83\8b\91¤\82Ì\83t\83@\83C\83\8b\96¼\81i\83t\83\8b\83p\83X\81j */\r
- int Type; /* \93]\91\97\95û\96@ (TYPE_xx) */\r
- LONGLONG Size; /* \83t\83@\83C\83\8b\82Ì\83T\83C\83Y */\r
- LONGLONG ExistSize; /* \82·\82Å\82É\91¶\8dÝ\82·\82é\83t\83@\83C\83\8b\82Ì\83T\83C\83Y */\r
- /* \93]\91\97\92\86\82Í\81A\93]\91\97\82µ\82½\83t\83@\83C\83\8b\82Ì\83T\83C\83Y\82ð\8ai\94[\82·\82é */\r
- FILETIME Time; /* \83t\83@\83C\83\8b\82Ì\8e\9e\8aÔ(UTC) */\r
- int Attr; /* \83t\83@\83C\83\8b\82Ì\91®\90« */\r
- int KanjiCode; /* \8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
- // UTF-8\91Î\89\9e\r
- int KanjiCodeDesired; /* \83\8d\81[\83J\83\8b\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
- int KanaCnv; /* \94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
- int Mode; /* \93]\91\97\83\82\81[\83h (EXIST_xxx) */\r
- HWND hWndTrans; /* \93]\91\97\92\86\83_\83C\83A\83\8d\83O\82Ì\83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b */\r
- int Abort; /* \93]\91\97\92\86\8e~\83t\83\89\83O (ABORT_xxx) */\r
- // \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
- int CryptMode; /* \88Ã\8d\86\89»\92Ê\90M\83\82\81[\83h (CRYPT_xxx) */\r
+ char RemoteFile[FMAX_PATH+1]; /* ホスト側のファイル名(フルパス) */\r
+ /* VMSの時は ddd[xxx.yyy]/yyy/zzz のように */\r
+ /* なってるので注意 */\r
+ char LocalFile[FMAX_PATH+1]; /* ローカル側のファイル名(フルパス) */\r
+ int Type; /* 転送方法 (TYPE_xx) */\r
+ LONGLONG Size; /* ファイルのサイズ */\r
+ LONGLONG ExistSize; /* すでに存在するファイルのサイズ */\r
+ /* 転送中は、転送したファイルのサイズを格納する */\r
+ FILETIME Time; /* ファイルの時間(UTC) */\r
+ int Attr; /* ファイルの属性 */\r
+ int KanjiCode; /* 漢字コード (KANJI_xxx) */\r
+ // UTF-8対応\r
+ int KanjiCodeDesired; /* ローカルの漢字コード (KANJI_xxx) */\r
+ int KanaCnv; /* 半角カナを全角に変換(YES/NO) */\r
+ int Mode; /* 転送モード (EXIST_xxx) */\r
+ HWND hWndTrans; /* 転送中ダイアログのウインドウハンドル */\r
+ int Abort; /* 転送中止フラグ (ABORT_xxx) */\r
+ // 同時接続対応\r
+ int ThreadCount;\r
struct transpacket *Next;\r
} TRANSPACKET;\r
\r
\r
-/*===== \83t\83@\83C\83\8b\83\8a\83X\83g =====*/\r
+/*===== ファイルリスト =====*/\r
\r
typedef struct filelist {\r
- char File[FMAX_PATH+1]; /* \83t\83@\83C\83\8b\96¼ */\r
- char Node; /* \8eí\97Þ (NODE_xxx) */\r
- char Link; /* \83\8a\83\93\83N\83t\83@\83C\83\8b\82©\82Ç\82¤\82© (YES/NO) */\r
- LONGLONG Size; /* \83t\83@\83C\83\8b\83T\83C\83Y */\r
- int Attr; /* \91®\90« */\r
- FILETIME Time; /* \8e\9e\8aÔ(UTC) */\r
- char Owner[OWNER_NAME_LEN+1]; /* \83I\81[\83i\96¼ */\r
- char InfoExist; /* \83t\83@\83C\83\8b\88ê\97\97\82É\91¶\8dÝ\82µ\82½\8fî\95ñ\82Ì\83t\83\89\83O (FINFO_xxx) */\r
+ char File[FMAX_PATH+1]; /* ファイル名 */\r
+ char Node; /* 種類 (NODE_xxx) */\r
+ char Link; /* リンクファイルかどうか (YES/NO) */\r
+ LONGLONG Size; /* ファイルサイズ */\r
+ int Attr; /* 属性 */\r
+ FILETIME Time; /* 時間(UTC) */\r
+ char Owner[OWNER_NAME_LEN+1]; /* オーナ名 */\r
+ char InfoExist; /* ファイル一覧に存在した情報のフラグ (FINFO_xxx) */\r
struct filelist *Next;\r
} FILELIST;\r
\r
\r
-/*===== \83R\81[\83h\95Ï\8a·\8fî\95ñ\83p\83P\83b\83g =====*/\r
+/*===== コード変換情報パケット =====*/\r
\r
typedef char * (*funcptr)(struct codeconvinfo *, char , char *);\r
\r
typedef struct codeconvinfo {\r
- char *Str; /* \95¶\8e\9a\97ñ */\r
- int StrLen; /* \95¶\8e\9a\97ñ\82Ì\92·\82³ */\r
- int KanaCnv; /* \94¼\8ap\83J\83^\83J\83i\82ð\91S\8ap\82É\95Ï\8a·\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
- char *Buf; /* \95Ï\8a·\8cã\82Ì\95¶\8e\9a\97ñ\82ð\8ai\94[\82·\82é\83o\83b\83t\83@ */\r
- int BufSize; /* \95Ï\8a·\8cã\82Ì\95¶\8e\9a\97ñ\82ð\8ai\94[\82·\82é\83o\83b\83t\83@\82Ì\83T\83C\83Y */\r
- int OutLen; /* \95Ï\8a·\8cã\82Ì\95¶\8e\9a\97ñ\82Ì\83T\83C\83Y */\r
- int KanjiMode; /* \8a¿\8e\9a\83\82\81[\83h\83t\83\89\83O(YES/NO) (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
- int EscProc; /* \83G\83X\83P\81[\83v\83V\81[\83P\83\93\83X\95¶\8e\9a\90\94 (0\81`) (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
- char EscCode[2]; /* \83G\83X\83P\81[\83v\83V\81[\83P\83\93\83X\95¶\8e\9a\95Û\91¶\97p (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
- char KanjiFst; /* \8a¿\8e\9a\83R\81[\83h\82P\83o\83C\83g\96Ú\95Û\91¶\97p (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
- char KanaPrev; /* \94¼\8ap\83J\83^\83J\83i\95Û\91¶\97p (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
- funcptr KanaProc; /* \94¼\8ap\83J\83^\83J\83i\8f\88\97\9d\83\8b\81[\83`\83\93 (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
+ char *Str; /* 文字列 */\r
+ int StrLen; /* 文字列の長さ */\r
+ int KanaCnv; /* 半角カタカナを全角に変換するかどうか (YES/NO) */\r
+ char *Buf; /* 変換後の文字列を格納するバッファ */\r
+ int BufSize; /* 変換後の文字列を格納するバッファのサイズ */\r
+ int OutLen; /* 変換後の文字列のサイズ */\r
+ int KanjiMode; /* 漢字モードフラグ(YES/NO) (内部処理用ワーク) */\r
+ int EscProc; /* エスケープシーケンス文字数 (0~) (内部処理用ワーク) */\r
+ char EscCode[2]; /* エスケープシーケンス文字保存用 (内部処理用ワーク) */\r
+ char KanjiFst; /* 漢字コード1バイト目保存用 (内部処理用ワーク) */\r
+ char KanaPrev; /* 半角カタカナ保存用 (内部処理用ワーク) */\r
+ funcptr KanaProc; /* 半角カタカナ処理ルーチン (内部処理用ワーク) */\r
char EscUTF8[8];\r
int EscUTF8Len;\r
} CODECONVINFO;\r
\r
\r
-/*===== \89ü\8ds\83R\81[\83h\95Ï\8a·\8fî\95ñ\83p\83P\83b\83g =====*/\r
+/*===== 改行コード変換情報パケット =====*/\r
\r
typedef struct termcodeconvinfo {\r
- char *Str; /* \95¶\8e\9a\97ñ */\r
- int StrLen; /* \95¶\8e\9a\97ñ\82Ì\92·\82³ */\r
- char *Buf; /* \95Ï\8a·\8cã\82Ì\95¶\8e\9a\97ñ\82ð\8ai\94[\82·\82é\83o\83b\83t\83@ */\r
- int BufSize; /* \95Ï\8a·\8cã\82Ì\95¶\8e\9a\97ñ\82ð\8ai\94[\82·\82é\83o\83b\83t\83@\82Ì\83T\83C\83Y */\r
- int OutLen; /* \95Ï\8a·\8cã\82Ì\95¶\8e\9a\97ñ\82Ì\83T\83C\83Y */\r
- char Term; /* \89ü\8ds\83R\81[\83h\82P\83o\83C\83g\96Ú\95Û\91¶\97p (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
+ char *Str; /* 文字列 */\r
+ int StrLen; /* 文字列の長さ */\r
+ char *Buf; /* 変換後の文字列を格納するバッファ */\r
+ int BufSize; /* 変換後の文字列を格納するバッファのサイズ */\r
+ int OutLen; /* 変換後の文字列のサイズ */\r
+ char Term; /* 改行コード1バイト目保存用 (内部処理用ワーク) */\r
} TERMCODECONVINFO;\r
\r
\r
-/*===== \83e\83\93\83|\83\89\83\8a\83t\83@\83C\83\8b\83\8a\83X\83g =====*/\r
+/*===== テンポラリファイルリスト =====*/\r
\r
typedef struct tempfilelist {\r
- char *Fname; /* \83t\83@\83C\83\8b\96¼ */\r
+ char *Fname; /* ファイル名 */\r
struct tempfilelist *Next;\r
} TEMPFILELIST;\r
\r
\r
-/*===== \83T\83E\83\93\83h\83t\83@\83C\83\8b =====*/\r
+/*===== サウンドファイル =====*/\r
\r
typedef struct {\r
- int On; /* ON/OFF\83X\83C\83b\83` */\r
- char Fname[FMAX_PATH+1]; /* \83t\83@\83C\83\8b\96¼ */\r
+ int On; /* ON/OFFスイッチ */\r
+ char Fname[FMAX_PATH+1]; /* ファイル名 */\r
} SOUNDFILE;\r
\r
\r
-/*===== \83\89\83W\83I\83{\83^\83\93\82Ì\90Ý\92è =====*/\r
+/*===== ラジオボタンの設定 =====*/\r
\r
typedef struct {\r
- int ButID; /* \83{\83^\83\93\82ÌID */\r
- int Value; /* \92l */\r
+ int ButID; /* ボタンのID */\r
+ int Value; /* 値 */\r
} RADIOBUTTON;\r
\r
\r
/*===== SOCKS4 =====*/\r
\r
-/* \83R\83}\83\93\83h\83p\83P\83b\83g */\r
+/* コマンドパケット */\r
typedef struct {\r
- char Ver; /* \83o\81[\83W\83\87\83\93 (SOCKS4_VER) */\r
- char Cmd; /* \83R\83}\83\93\83h (SOCKS4_CMD_xxx) */\r
- ushort Port; /* \83|\81[\83g */\r
- ulong AdrsInt; /* \83A\83h\83\8c\83X */\r
- char UserID[USER_NAME_LEN+1]; /* \83\86\81[\83UID */\r
+ char Ver; /* バージョン (SOCKS4_VER) */\r
+ char Cmd; /* コマンド (SOCKS4_CMD_xxx) */\r
+ ushort Port; /* ポート */\r
+ ulong AdrsInt; /* アドレス */\r
+ char UserID[USER_NAME_LEN+1]; /* ユーザID */\r
} SOCKS4CMD;\r
\r
\r
-/* \95Ô\90M\83p\83P\83b\83g */\r
+/* 返信パケット */\r
typedef struct {\r
- char Ver; /* \83o\81[\83W\83\87\83\93 */\r
- char Result; /* \83\8a\83U\83\8b\83g\83R\81[\83h (SOCKS4_RES_xxx) */\r
- ushort Port; /* \83|\81[\83g */\r
- ulong AdrsInt; /* \83A\83h\83\8c\83X */\r
+ char Ver; /* バージョン */\r
+ char Result; /* リザルトコード (SOCKS4_RES_xxx) */\r
+ ushort Port; /* ポート */\r
+ ulong AdrsInt; /* アドレス */\r
} SOCKS4REPLY;\r
\r
#define SOCKS4REPLY_SIZE 8\r
\r
/*===== SOCKS5 =====*/\r
\r
-/* Method request\83p\83P\83b\83g */\r
+/* Method requestパケット */\r
typedef struct {\r
- char Ver; /* \83o\81[\83W\83\87\83\93 (SOCKS5_VER) */\r
- char Num; /* \83\81\83\\83b\83h\82Ì\90\94 */\r
- uchar Methods[1]; /* \83\81\83\\83b\83h */\r
+ char Ver; /* バージョン (SOCKS5_VER) */\r
+ char Num; /* メソッドの数 */\r
+ uchar Methods[1]; /* メソッド */\r
} SOCKS5METHODREQUEST;\r
\r
#define SOCKS5METHODREQUEST_SIZE 3\r
\r
\r
-/* Method reply\83p\83P\83b\83g */\r
+/* Method replyパケット */\r
typedef struct {\r
- char Ver; /* \83o\81[\83W\83\87\83\93 (SOCKS5_VER) */\r
- uchar Method; /* \83\81\83\\83b\83h */\r
+ char Ver; /* バージョン (SOCKS5_VER) */\r
+ uchar Method; /* メソッド */\r
} SOCKS5METHODREPLY;\r
\r
#define SOCKS5METHODREPLY_SIZE 2\r
\r
\r
-/* Request\83p\83P\83b\83g */\r
+/* Requestパケット */\r
typedef struct {\r
- char Ver; /* \83o\81[\83W\83\87\83\93 (SOCKS5_VER) */\r
- char Cmd; /* \83R\83}\83\93\83h (SOCKS5_CMD_xxx) */\r
- char Rsv; /* \81i\97\\96ñ\81j */\r
- char Type; /* \83A\83h\83\8c\83X\82Ì\83^\83C\83v */\r
- /* \88È\8cã\81i\89Â\95Ï\92·\95\94\95ª\81j */\r
- char _dummy[255+1+2]; /* \83A\83h\83\8c\83X\81A\83|\81[\83g */\r
+ char Ver; /* バージョン (SOCKS5_VER) */\r
+ char Cmd; /* コマンド (SOCKS5_CMD_xxx) */\r
+ char Rsv; /* (予約) */\r
+ char Type; /* アドレスのタイプ */\r
+ /* 以後(可変長部分) */\r
+ char _dummy[255+1+2]; /* アドレス、ポート */\r
} SOCKS5REQUEST;\r
\r
-#define SOCKS5REQUEST_SIZE 4 /* \8dÅ\8f\89\82Ì\8cÅ\92è\95\94\95ª\82Ì\83T\83C\83Y */\r
+#define SOCKS5REQUEST_SIZE 4 /* 最初の固定部分のサイズ */\r
\r
\r
-/* Reply\83p\83P\83b\83g */\r
+/* Replyパケット */\r
typedef struct {\r
- char Ver; /* \83o\81[\83W\83\87\83\93 */\r
- char Result; /* \83\8a\83U\83\8b\83g\83R\81[\83h (SOCKS4_RES_xxx) */\r
- char Rsv; /* \81i\97\\96ñ\81j */\r
- char Type; /* \83A\83h\83\8c\83X\82Ì\83^\83C\83v */\r
- /* \88È\8cã\81i\89Â\95Ï\92·\95\94\95ª\81j */\r
- ulong AdrsInt; /* \83A\83h\83\8c\83X */\r
- ushort Port; /* \83|\81[\83g */\r
- char _dummy[2]; /* dummy */\r
+ char Ver; /* バージョン */\r
+ char Result; /* リザルトコード (SOCKS4_RES_xxx) */\r
+ char Rsv; /* (予約) */\r
+ char Type; /* アドレスのタイプ */\r
+ /* 以後(可変長部分) */\r
+ // IPv6対応\r
+// ulong AdrsInt; /* アドレス */\r
+// ushort Port; /* ポート */\r
+// char _dummy[2]; /* dummy */\r
+ char _dummy[255+1+2]; /* dummy */\r
} SOCKS5REPLY;\r
\r
-#define SOCKS5REPLY_SIZE 4 /* \8dÅ\8f\89\82Ì\8cÅ\92è\95\94\95ª\82Ì\83T\83C\83Y */\r
+#define SOCKS5REPLY_SIZE 4 /* 最初の固定部分のサイズ */\r
\r
\r
-/* Username/Password\94F\8fØstatus\83p\83P\83b\83g */\r
+/* Username/Password認証statusパケット */\r
typedef struct {\r
- char Ver; /* \83o\81[\83W\83\87\83\93 */\r
- uchar Status; /* \83X\83e\81[\83^\83X */\r
+ char Ver; /* バージョン */\r
+ uchar Status; /* ステータス */\r
} SOCKS5USERPASSSTATUS;\r
\r
#define SOCKS5USERPASSSTATUS_SIZE 2\r
\r
\r
\r
-/*===== \83_\83C\83A\83\8d\83O\83{\83b\83N\83X\95Ï\8dX\8f\88\97\9d\97p =====*/\r
+/*===== ダイアログボックス変更処理用 =====*/\r
\r
typedef struct {\r
- int HorMoveList[10]; /* \90\85\95½\82É\93®\82©\82·\95\94\95i\82Ì\83\8a\83X\83g */\r
- int VarMoveList[10]; /* \90\82\92¼\82É\93®\82©\82·\95\94\95i\82Ì\83\8a\83X\83g */\r
- int ResizeList[10]; /* \83T\83C\83Y\95Ï\8dX\82·\82é\95\94\95i\82Ì\83\8a\83X\83g */\r
- SIZE MinSize; /* \8dÅ\8f\83T\83C\83Y */\r
- SIZE CurSize; /* \8c»\8dÝ\82Ì\83T\83C\83Y */\r
+ int HorMoveList[10]; /* 水平に動かす部品のリスト */\r
+ int VarMoveList[10]; /* 垂直に動かす部品のリスト */\r
+ int ResizeList[10]; /* サイズ変更する部品のリスト */\r
+ SIZE MinSize; /* 最少サイズ */\r
+ SIZE CurSize; /* 現在のサイズ */\r
} DIALOGSIZE;\r
\r
\r
-/*===== \90\94\92l\95Ï\8a·\97p =====*/\r
+/*===== 数値変換用 =====*/\r
\r
typedef struct {\r
int Num1;\r
\r
\r
/*=================================================\r
-* \83v\83\8d\83g\83^\83C\83v\r
+* プロトタイプ\r
*=================================================*/\r
\r
/*===== main.c =====*/\r
int BackgrndMessageProc(void);\r
void ResetAutoExitFlg(void);\r
int AskAutoExit(void);\r
-// \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
-BOOL __stdcall SSLTimeoutCallback();\r
+// 暗号化通信対応\r
+BOOL __stdcall SSLTimeoutCallback(BOOL* pbAborted);\r
+BOOL __stdcall SSLConfirmCallback(BOOL* pbAborted, BOOL bVerified, LPCSTR Certificate, LPCSTR CommonName);\r
+BOOL LoadSSLRootCAFile();\r
+// マルチコアCPUの特定環境下でファイル通信中にクラッシュするバグ対策\r
+BOOL IsMainThread();\r
\r
/*===== filelist.c =====*/\r
\r
int Assume1900or2000(int Year);\r
void SetFilter(int *CancelCheckWork);\r
void doDeleteRemoteFile(void);\r
+// UTF-8対応\r
+int AnalyzeNameKanjiCode(int Num);\r
\r
\r
/*===== toolmenu.c =====*/\r
void DispHostKanjiCode(void);\r
int AskHostKanjiCode(void);\r
void HideHostKanjiButton(void);\r
-// \83\8d\81[\83J\83\8b\82Ì\8a¿\8e\9a\83R\81[\83h\r
+// UTF-8対応\r
void SetLocalKanjiCodeImm(int Mode);\r
void SetLocalKanjiCode(int Type);\r
void DispLocalKanjiCode(void);\r
int AskLocalKanjiCode(void);\r
void HideLocalKanjiButton(void);\r
-// \82±\82±\82Ü\82Å\r
void SetHostKanaCnvImm(int Mode);\r
void SetHostKanaCnv(void);\r
void DispHostKanaCnv(void);\r
void CopyDefaultHost(HOSTDATA *Set);\r
int SearchHostName(char *Name);\r
void ImportFromWSFTP(void);\r
+// 暗号化通信対応\r
+int SetHostExcryption(int Num, int UseNoEncryption, int UseFTPES, int UseFTPIS, int UseSFTP);\r
\r
/*===== connect.c =====*/\r
\r
void SaveCurrentSetToHost(void);\r
int ReConnectCmdSkt(void);\r
// int ReConnectTrnSkt(void);\r
+// 同時接続対応\r
+int ReConnectTrnSkt(SOCKET *Skt, int *CancelCheckWork);\r
SOCKET AskCmdCtrlSkt(void);\r
SOCKET AskTrnCtrlSkt(void);\r
void SktShareProh(void);\r
void DisconnectSet(void);\r
int AskConnecting(void);\r
SOCKET connectsock(char *host, int port, char *PreMsg, int *CancelCheckWork);\r
+// IPv6対応\r
+SOCKET connectsockIPv4(char *host, int port, char *PreMsg, int *CancelCheckWork);\r
+SOCKET connectsockIPv6(char *host, int port, char *PreMsg, int *CancelCheckWork);\r
SOCKET GetFTPListenSocket(SOCKET ctrl_skt, int *CancelCheckWork);\r
+// IPv6対応\r
+SOCKET GetFTPListenSocketIPv4(SOCKET ctrl_skt, int *CancelCheckWork);\r
+SOCKET GetFTPListenSocketIPv6(SOCKET ctrl_skt, int *CancelCheckWork);\r
int AskTryingConnect(void);\r
-int SocksGet2ndBindReply(SOCKET Socket, SOCKET *Data);\r
-// \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
+// 同時接続対応\r
+//int SocksGet2ndBindReply(SOCKET Socket, SOCKET *Data);\r
+int SocksGet2ndBindReply(SOCKET Socket, SOCKET *Data, int *CancelCheckWork);\r
+// 暗号化通信対応\r
int AskCryptMode(void);\r
+int AskUseNoEncryption(void);\r
int AskUseFTPES(void);\r
int AskUseFTPIS(void);\r
int AskUseSFTP(void);\r
+char *AskPrivateKey(void);\r
+// 同時接続対応\r
+int AskMaxThreadCount(void);\r
+int AskReuseCmdSkt(void);\r
+// FEAT対応\r
+int AskHostFeature(void);\r
+// MLSD対応\r
+int AskUseMLSD(void);\r
+// IPv6対応\r
+int AskCurNetType(void);\r
+// 自動切断対策\r
+int AskNoopInterval(void);\r
+// 再転送対応\r
+int AskTransferErrorMode(void);\r
+int AskTransferErrorNotify(void);\r
\r
/*===== cache.c =====*/\r
\r
void ChangeDirDirectProc(int Win);\r
void ChangeDirDropFileProc(WPARAM wParam);\r
void ChmodProc(void);\r
-BOOL CALLBACK ChmodDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);\r
+// 64ビット対応\r
+//BOOL CALLBACK ChmodDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);\r
+INT_PTR CALLBACK ChmodDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);\r
void SomeCmdProc(void);\r
void CalcFileSizeProc(void);\r
void DispCWDerror(HWND hWnd);\r
void CopyURLtoClipBoard(void);\r
-int ProcForNonFullpath(char *Path, char *CurDir, HWND hWnd, int Type);\r
+// 同時接続対応\r
+//int ProcForNonFullpath(char *Path, char *CurDir, HWND hWnd, int Type);\r
+int ProcForNonFullpath(SOCKET cSkt, char *Path, char *CurDir, HWND hWnd, int *CancelCheckWork);\r
void ReformToVMSstyleDirName(char *Path);\r
void ReformToVMSstylePathName(char *Path);\r
#if defined(HAVE_OPENVMS)\r
void ReformVMSDirName(char *DirName, int Flg);\r
#endif\r
+// 自動切断対策\r
+void NoopProc(void);\r
\r
/*===== local.c =====*/\r
\r
int DoDELE(char *Path);\r
int DoRENAME(char *Src, char *Dst);\r
int DoCHMOD(char *Path, char *Mode);\r
-int DoSIZE(char *Path, LONGLONG *Size);\r
-int DoMDTM(char *Path, FILETIME *Time);\r
+// 同時接続対応\r
+//int DoSIZE(char *Path, LONGLONG *Size);\r
+int DoSIZE(SOCKET cSkt, char *Path, LONGLONG *Size, int *CancelCheckWork);\r
+// 同時接続対応\r
+//int DoMDTM(char *Path, FILETIME *Time);\r
+int DoMDTM(SOCKET cSkt, char *Path, FILETIME *Time, int *CancelCheckWork);\r
int DoQUOTE(char *CmdStr);\r
SOCKET DoClose(SOCKET Sock);\r
int DoQUIT(SOCKET ctrl_skt);\r
int DoDirListCmdSkt(char *AddOpt, char *Path, int Num, int *CancelCheckWork);\r
int CommandProcCmd(char *Reply, char *fmt, ...);\r
-int CommandProcTrn(char *Reply, char *fmt, ...);\r
+// 同時接続対応\r
+//int CommandProcTrn(char *Reply, char *fmt, ...);\r
+int CommandProcTrn(SOCKET cSkt, char *Reply, int* CancelCheckWork, char *fmt, ...);\r
int command(SOCKET cSkt, char *Reply, int *CancelCheckWork, char *fmt, ...);\r
int SendData(SOCKET Skt, char *Data, int Size, int Mode, int *CancelCheckWork);\r
int ReadReplyMessage(SOCKET cSkt, char *Buf, int Max, int *CancelCheckWork, char *Tmp);\r
int ConvEUCtoSJIS(CODECONVINFO *cInfo);\r
int ConvJIStoSJIS(CODECONVINFO *cInfo);\r
int ConvSMBtoSJIS(CODECONVINFO *cInfo);\r
-int ConvUTF8NtoSJIS(CODECONVINFO *cInfo); // UTF-8N\91Î\89\9e\r
+int ConvUTF8NtoSJIS(CODECONVINFO *cInfo); // UTF-8対応\r
int ConvSJIStoEUC(CODECONVINFO *cInfo);\r
int ConvSJIStoJIS(CODECONVINFO *cInfo);\r
int ConvSJIStoSMB_HEX(CODECONVINFO *cInfo);\r
int ConvSJIStoSMB_CAP(CODECONVINFO *cInfo);\r
-int ConvSJIStoUTF8N(CODECONVINFO *cInfo); // UTF-8N\91Î\89\9e\r
+int ConvSJIStoUTF8N(CODECONVINFO *cInfo); // UTF-8対応\r
void ConvAutoToSJIS(char *Text, int Pref);\r
int CheckKanjiCode(char *Text, int Size, int Pref);\r
\r
\r
void SetOption(int Start);\r
int SortSetting(void);\r
+// hostman.cで使用\r
+int GetDecimalText(HWND hDlg, int Ctrl);\r
+void SetDecimalText(HWND hDlg, int Ctrl, int Num);\r
+void CheckRange2(int *Cur, int Max, int Min);\r
+void AddTextToListBox(HWND hDlg, char *Str, int CtrlList, int BufSize);\r
+void SetMultiTextToList(HWND hDlg, int CtrlList, char *Text);\r
+void GetMultiTextFromList(HWND hDlg, int CtrlList, char *Buf, int BufSize);\r
\r
/*===== bookmark.c =====*/\r
\r
/*===== misc.c =====*/\r
\r
int InputDialogBox(int Res, HWND hWnd, char *Title, char *Buf, int Max, int *Flg, int Help);\r
-BOOL CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-BOOL CALLBACK ExeEscTextDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+// 64ビット対応\r
+//BOOL CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+INT_PTR CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+// 64ビット対応\r
+//BOOL CALLBACK ExeEscTextDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+INT_PTR CALLBACK ExeEscTextDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
void SetYenTail(char *Str);\r
void RemoveYenTail(char *Str);\r
void SetSlashTail(char *Str);\r
int MoveFileToTrashCan(char *Path);\r
LONGLONG MakeLongLong(DWORD High, DWORD Low);\r
char *MakeNumString(LONGLONG Num, char *Buf, BOOL Comma);\r
+// 異なるファイルが表示されるバグ修正\r
+char* MakeDistinguishableFileName(char* Out, char* In);\r
+// 環境依存の不具合対策\r
+char* GetAppTempPath(char* Buf);\r
\r
/*===== dlgsize.c =====*/\r
\r
\r
int MakeSocketWin(HWND hWnd, HINSTANCE hInst);\r
void DeleteSocketWin(void);\r
-struct hostent *do_gethostbyname(const char *Name, char *Buf, int Len, int *CancelCheckWork);\r
+// IPv6対応\r
+//struct hostent *do_gethostbyname(const char *Name, char *Buf, int Len, int *CancelCheckWork);\r
+struct hostent *do_gethostbynameIPv4(const char *Name, char *Buf, int Len, int *CancelCheckWork);\r
+struct hostent *do_gethostbynameIPv6(const char *Name, char *Buf, int Len, int *CancelCheckWork);\r
SOCKET do_socket(int af, int type, int protocol);\r
int do_connect(SOCKET s, const struct sockaddr *name, int namelen, int *CancelCheckWork);\r
int do_closesocket(SOCKET s);\r
SOCKET do_accept(SOCKET s, struct sockaddr *addr, int *addrlen);\r
int do_recv(SOCKET s, char *buf, int len, int flags, int *TimeOut, int *CancelCheckWork);\r
int do_send(SOCKET s, const char *buf, int len, int flags, int *TimeOutErr, int *CancelCheckWork);\r
+// 同時接続対応\r
+void RemoveReceivedData(SOCKET s);\r
int CheckClosedAndReconnect(void);\r
void CheckAllEventClosed(void);\r
\r