OSDN Git Service

Compile executable files.
[ffftp/ffftp.git] / common.h
index d52071d..d1f7b5c 100644 (file)
--- a/common.h
+++ b/common.h
@@ -1,5 +1,5 @@
-/*=============================================================================\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
-// SourceForge.JP\82É\82æ\82é\83t\83H\81[\83N\r
+// SourceForge.JPによるフォーク\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
-#define VER_STR                                        "1.98"\r
-#define VER_NUM                                        1980            /* \90Ý\92è\83o\81[\83W\83\87\83\93 */\r
-#define PROGRAM_VERSION_NUM            1980            /* \83o\81[\83W\83\87\83\93 */\r
+//#define VER_NUM                                      1921            /* 設定バージョン */\r
+//#define PROGRAM_VERSION_NUM          1972            /* バージョン */\r
+#define VER_STR                                        "1.98e"\r
+#define VER_NUM                                        1985            /* 設定バージョン */\r
+#define PROGRAM_VERSION_NUM            1985            /* バージョン */\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
+#if defined(HAVE_TANDEM)\r
+#define DEF_PRIEXT             4                               /* Primary Extents の初期値 */\r
+#define DEF_SECEXT             28                              /* Secondary Extents の初期値 */\r
+#define DEF_MAXEXT             978                             /* Max Extents の初期値 */\r
+#endif\r
+\r
+/*===== 同じ名前のファイルがあった時の処理 =====*/\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
+#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
-/*===== \83t\83@\83C\83\8b\96¼\82Ì\94ä\8ar\83\82\81[\83h =====*/\r
+/*===== ファイル名の比較モード =====*/\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
+#define COMP_IGNORE            0               /* 大文字/小文字は区別しない */\r
+#define COMP_STRICT            1               /* 大文字/小文字を区別する */\r
+#define COMP_LOWERMATCH        2               /* 大文字/小文字を区別しない(片側は全て小文字) */\r
 \r
-/*===== FTP\82Ì\89\9e\93\9a\83R\81[\83h\82Ì\93ª\82P\8c\85 =====*/\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
+// linux-ftpd\r
+#define LIST_UNIX_16   48              /* UNIX 16 */\r
+// MLSD対応\r
+#define LIST_MLSD              49\r
+#if defined(HAVE_TANDEM)\r
+#define LIST_TANDEM            50              /* HP NonStop Server */\r
+#endif\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
@@ -464,8 +487,8 @@ LIST_UNIX_70
 *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
@@ -476,25 +499,25 @@ LIST_UNIX_70
 *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
@@ -548,7 +571,7 @@ LIST_UNIX_70
        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
@@ -559,7 +582,7 @@ LIST_UNIX_70
        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
@@ -583,8 +606,8 @@ LIST_UNIX_70
           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
@@ -600,7 +623,7 @@ LIST_UNIX_70
        (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
@@ -658,123 +681,147 @@ LIST_UNIX_70
      61191    Aug-30-2002  17:30:38   FILENAME.C        \r
 \r
 \r
+// linux-ftpd\r
+*LIST_UNIX_16\r
+       0          1   2     3      4    5          6     7\r
+       -------------------------------------------------------\r
+       合計 12345\r
+       drwxr-x--- 2 root root      4096 2011-12-06 23:39 .\r
+       drwxr-x--- 3 root root      4096 2011-12-06 23:39 ..\r
+       -rw-r----- 1 root root       251 2011-12-06 23:39 .hoge\r
+\r
+*LIST_TANDEM\r
+        0             1               2    3         4        5       6\r
+       ---------------------------------------------------------------\r
+       File         Code             EOF  Last Modification    Owner  RWEP\r
+       EMSACSTM      101             146  18-Sep-00 09:03:37 170,175 "nunu"\r
+       TACLCSTM   O  101             101  4-Mar-01  23:50:06 255,255 "oooo"\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
+#if defined(HAVE_TANDEM)\r
+#define HTYPE_TANDEM   8               /* HP NonStop Server */\r
+#endif\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
@@ -782,142 +829,180 @@ LIST_UNIX_70
 #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
@@ -925,165 +1010,187 @@ typedef struct hostlistdata {
 } 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
+#if defined(HAVE_TANDEM)\r
+       int FileCode;                                   /* ファイルコード */\r
+       int PriExt;                                             /* Primary Extents */\r
+       int SecExt;                                             /* Secondary Extents */\r
+       int MaxExt;                                             /* Max Extents */\r
+#endif\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
+       // ファイルアイコン表示対応\r
+       int ImageId;                                    /* アイコン画像番号 */\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
@@ -1091,75 +1198,77 @@ typedef struct {
 \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
@@ -1168,7 +1277,7 @@ typedef struct {
 \r
 \r
 /*=================================================\r
-*              \83v\83\8d\83g\83^\83C\83v\r
+*              プロトタイプ\r
 *=================================================*/\r
 \r
 /*===== main.c =====*/\r
@@ -1191,8 +1300,14 @@ int AskForceIni(void);
 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
+int AskDispFileIcon(void);\r
 \r
 /*===== filelist.c =====*/\r
 \r
@@ -1231,6 +1346,8 @@ FILELIST *SearchFileList(char *Fname, FILELIST *Base, int Caps);
 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
@@ -1260,13 +1377,12 @@ void SetHostKanjiCode(int Type);
 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
@@ -1329,6 +1445,8 @@ void SetCurrentHost(int Num);
 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
@@ -1353,6 +1471,8 @@ char *AskHostUserName(void);
 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
@@ -1360,15 +1480,44 @@ int AskShareProh(void);
 void DisconnectProc(void);\r
 void DisconnectSet(void);\r
 int AskConnecting(void);\r
+#if defined(HAVE_TANDEM)\r
+int AskRealHostType(void);\r
+int SetOSS(int wkOss);\r
+int AskOSS(void);\r
+#endif\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
@@ -1404,17 +1553,23 @@ void ChangeDirBmarkProc(int MarkID);
 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
@@ -1438,14 +1593,23 @@ int DoRMD(char *Path);
 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
+#if defined(HAVE_TANDEM)\r
+void SwitchOSSProc(void);\r
+#endif\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
@@ -1484,12 +1648,12 @@ int FlushRestData(CODECONVINFO *cInfo);
 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
@@ -1497,6 +1661,13 @@ int CheckKanjiCode(char *Text, int Size, int Pref);
 \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
@@ -1552,8 +1723,12 @@ int ConnectRas(int Dialup, int UseThis, int Notify, char *Name);
 /*===== 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
@@ -1600,6 +1775,13 @@ int ConvertNum(int x, int Dir, const INTCONVTBL *Tbl, int Num);
 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
+#if defined(HAVE_TANDEM)\r
+void CalcExtentSize(TRANSPACKET *Pkt, LONGLONG Size);\r
+#endif\r
 \r
 /*===== dlgsize.c =====*/\r
 \r
@@ -1641,7 +1823,10 @@ char *AskLocalFreeSpace(char *Path);
 \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
@@ -1649,6 +1834,8 @@ int do_listen(SOCKET s,   int backlog);
 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