OSDN Git Service

Extend command line options.
[ffftp/ffftp.git] / common.h
index 6b16dd2..4d635fc 100644 (file)
--- a/common.h
+++ b/common.h
@@ -70,9 +70,9 @@
 //#define VER_STR                                      "1.97b"\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
+#define VER_STR                                        "1.98f"\r
+#define VER_NUM                                        1986            /* 設定バージョン */\r
+#define PROGRAM_VERSION_NUM            1986            /* バージョン */\r
 \r
 \r
 // SourceForge.JPによるフォーク\r
@@ -783,20 +783,40 @@ LIST_UNIX_70
 \r
 /*===== コマンドラインオプション =====*/\r
 \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
+//#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
+#define OPT_MIRROR             0x00000001      /* ミラーリングアップロードを行う */\r
+#define OPT_FORCE              0x00000002      /* ミラーリング開始の確認をしない */\r
+#define OPT_QUIT               0x00000004      /* 終了後プログラム終了 */\r
+#define OPT_EUC                        0x00000008      /* 漢字コードはEUC */\r
+#define OPT_JIS                        0x00000010      /* 漢字コードはJIS */\r
+#define OPT_ASCII              0x00000020      /* アスキー転送モード */\r
+#define OPT_BINARY             0x00000040      /* バイナリ転送モード */\r
+#define OPT_AUTO               0x00000080      /* 自動判別 */\r
+#define OPT_KANA               0x00000100      /* 半角かなをそのまま通す */\r
+#define OPT_EUC_NAME   0x00000200      /* ファイル名はEUC */\r
+#define OPT_JIS_NAME   0x00000400      /* ファイル名はJIS */\r
+#define OPT_MIRRORDOWN 0x00000800      /* ミラーリングダウンロードを行う */\r
+#define OPT_SAVEOFF            0x00001000      /* 設定の保存を中止する */\r
+#define OPT_SAVEON             0x00002000      /* 設定の保存を再開する */\r
+// UTF-8対応\r
+#define OPT_SJIS               0x00004000      /* 漢字コードはShift_JIS */\r
+#define OPT_UTF8N              0x00008000      /* 漢字コードはUTF-8 */\r
+#define OPT_UTF8BOM            0x00010000      /* 漢字コードはUTF-8 BOM */\r
+#define OPT_SJIS_NAME  0x00020000      /* ファイル名はShift_JIS */\r
+#define OPT_UTF8N_NAME 0x00040000      /* ファイル名はUTF-8 */\r
 \r
 /*===== ホストのヒストリ =====*/\r
 \r
@@ -1118,6 +1138,8 @@ typedef struct filelist {
 /*===== コード変換情報パケット =====*/\r
 \r
 typedef char * (*funcptr)(struct codeconvinfo *, char , char *);\r
+// UTF-8対応\r
+typedef int (*convptr)(struct codeconvinfo *);\r
 \r
 typedef struct codeconvinfo {\r
        char *Str;                      /* 文字列 */\r
@@ -1132,8 +1154,11 @@ typedef struct codeconvinfo {
        char KanjiFst;          /* 漢字コード1バイト目保存用 (内部処理用ワーク) */\r
        char KanaPrev;          /* 半角カタカナ保存用 (内部処理用ワーク) */\r
        funcptr KanaProc;       /* 半角カタカナ処理ルーチン (内部処理用ワーク) */\r
-       char EscUTF8[8];\r
-       int EscUTF8Len;\r
+       // UTF-8対応\r
+       char EscUTF8[16];       /* エスケープシーケンス文字数 (0~) (内部処理用ワーク) */\r
+       int EscUTF8Len;         /* エスケープシーケンス文字保存用 (内部処理用ワーク) */\r
+       int EscFlush;           /* 残り情報を出力 (YES/NO) */\r
+       convptr FlushProc;      /* 残り情報処理ルーチン (内部処理用ワーク) */\r
 } CODECONVINFO;\r
 \r
 \r
@@ -1602,6 +1627,8 @@ int DoSIZE(SOCKET cSkt, char *Path, LONGLONG *Size, int *CancelCheckWork);
 // 同時接続対応\r
 //int DoMDTM(char *Path, FILETIME *Time);\r
 int DoMDTM(SOCKET cSkt, char *Path, FILETIME *Time, int *CancelCheckWork);\r
+// ホスト側の日時設定\r
+int DoMFMT(SOCKET cSkt, char *Path, FILETIME *Time, int *CancelCheckWork);\r
 // 同時接続対応\r
 //int DoQUOTE(char *CmdStr);\r
 int DoQUOTE(SOCKET cSkt, char *CmdStr, int *CancelCheckWork);\r
@@ -1707,6 +1734,8 @@ void ClearRegistry(void);
 // ポータブル版判定\r
 void ClearIni(void);\r
 void SetMasterPassword( const char* );\r
+// セキュリティ強化\r
+void GetMasterPassword(char*);\r
 int GetMasterPasswordStatus(void);\r
 int ValidateMasterPassword(void);\r
 DWORD LoadHideDriveListRegistry(void);\r