OSDN Git Service

Rebuild OpenSSL with backward compatibility options.
[ffftp/ffftp.git] / common.h
index 448c5c5..ca4c248 100644 (file)
--- a/common.h
+++ b/common.h
 //#define VER_STR                                      "1.97b"\r
 //#define VER_NUM                                      1921            /* 設定バージョン */\r
 //#define PROGRAM_VERSION_NUM          1972            /* バージョン */\r
-#define VER_STR                                        "1.99"\r
+// 64ビット対応\r
+#ifdef _WIN64\r
+#define VER_STR                                        "1.99a-20160911 64bit"\r
+#else\r
+#define VER_STR                                        "1.99a-20160911"\r
+#endif\r
 #define VER_NUM                                        1990            /* 設定バージョン */\r
 #define PROGRAM_VERSION_NUM            1990            /* バージョン */\r
+// ソフトウェア自動更新\r
+// リリースバージョンはリリース予定年(10進数4桁)+月(2桁)+日(2桁)+通し番号(0スタート2桁)とする\r
+// 2014年7月31日中の30個目のリリースは2014073129\r
+#define RELEASE_VERSION_NUM            2016091100      /* リリースバージョン */\r
 \r
 \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
+#define MYWEB_URL      "https://osdn.jp/projects/ffftp/forums/"\r
 \r
 \r
 \r
 #define WM_REFRESH_LOCAL_FLG   (WM_USER+7)\r
 #define WM_REFRESH_REMOTE_FLG  (WM_USER+8)\r
 \r
+// UPnP対応\r
+#define WM_ADDPORTMAPPING      (WM_USER+9)\r
+#define WM_REMOVEPORTMAPPING   (WM_USER+10)\r
+\r
 /*===== ホスト番号 =====*/\r
 /* ホスト番号は 0~ の値を取る */\r
 \r
 #endif\r
 // uClinux\r
 #define LIST_UNIX_17   51              /* UNIX 17 */\r
+// Windows Server 2008 R2\r
+#define LIST_DOS_5             52              /* MS-DOS 5 */\r
 \r
 #define LIST_MELCOM            0x100   /* MELCOM80 */\r
 \r
@@ -707,6 +722,13 @@ LIST_UNIX_70
        -rw-r--r-- 1 0 0 34 passwd\r
        lrwxrwxrwx 1 0 0 18 inittab -> ../var/tmp/inittab\r
 \r
+// Windows Server 2008 R2\r
+*LIST_DOS_5\r
+       0          1       2     3\r
+       -------------------------------------------------------\r
+       02-05-2013 09:45AM <DIR> TEST\r
+       01-28-2013 03:54PM 2847 DATA.TXT\r
+\r
 *LIST_TANDEM\r
         0             1               2    3         4        5       6\r
        ---------------------------------------------------------------\r
@@ -737,6 +759,8 @@ LIST_UNIX_70
 #define KANJI_UTF8N            5               /* UTF-8 */\r
 // UTF-8対応\r
 #define KANJI_UTF8BOM          6               /* UTF-8 BOM */\r
+// UTF-8 HFS+対応\r
+#define KANJI_UTF8HFSX         7               /* UTF-8 HFS+ */\r
 \r
 #define KANJI_NOCNV            -1              /* 漢字コード変換なし */\r
 \r
@@ -1021,6 +1045,7 @@ typedef struct {
        int UseFTPIS;                                           /* FTPISで接続する (YES/NO) */\r
        int UseSFTP;                                            /* SFTPで接続する (YES/NO) */\r
        char PrivateKey[PRIVATE_KEY_LEN+1];     /* テキスト形式の秘密鍵 */\r
+       int NoWeakEncryption;                           /* 弱い暗号を拒否 (YES/NO) */\r
        // 同時接続対応\r
        int MaxThreadCount;                                     /* 同時接続数 */\r
        int ReuseCmdSkt;                                        /* メインウィンドウのソケットを再利用する (YES/NO) */\r
@@ -1091,6 +1116,7 @@ typedef struct historydata {
        int UseFTPIS;                                           /* FTPISで接続する (YES/NO) */\r
        int UseSFTP;                                            /* SFTPで接続する (YES/NO) */\r
        char PrivateKey[PRIVATE_KEY_LEN+1];     /* テキスト形式の秘密鍵 */\r
+       int NoWeakEncryption;                           /* 弱い暗号を拒否 (YES/NO) */\r
        // 同時接続対応\r
        int MaxThreadCount;                                     /* 同時接続数 */\r
        int ReuseCmdSkt;                                        /* メインウィンドウのソケットを再利用する (YES/NO) */\r
@@ -1137,6 +1163,8 @@ typedef struct transpacket {
 #endif\r
        HWND hWndTrans;                                 /* 転送中ダイアログのウインドウハンドル */\r
        int Abort;                                              /* 転送中止フラグ (ABORT_xxx) */\r
+       // ミラーリング設定追加\r
+       int NoTransfer;\r
        // 同時接続対応\r
        int ThreadCount;\r
        struct transpacket *Next;\r
@@ -1310,9 +1338,13 @@ typedef struct {
 /*===== ダイアログボックス変更処理用 =====*/\r
 \r
 typedef struct {\r
-       int HorMoveList[10];    /* 水平に動かす部品のリスト */\r
-       int VarMoveList[10];    /* 垂直に動かす部品のリスト */\r
-       int ResizeList[10];             /* サイズ変更する部品のリスト */\r
+       // ホスト共通設定機能\r
+//     int HorMoveList[10];    /* 水平に動かす部品のリスト */\r
+//     int VarMoveList[10];    /* 垂直に動かす部品のリスト */\r
+//     int ResizeList[10];             /* サイズ変更する部品のリスト */\r
+       int HorMoveList[16];    /* 水平に動かす部品のリスト */\r
+       int VarMoveList[16];    /* 垂直に動かす部品のリスト */\r
+       int ResizeList[16];             /* サイズ変更する部品のリスト */\r
        SIZE MinSize;                   /* 最少サイズ */\r
        SIZE CurSize;                   /* 現在のサイズ */\r
 } DIALOGSIZE;\r
@@ -1326,6 +1358,23 @@ typedef struct {
 } INTCONVTBL;\r
 \r
 \r
+// UPnP対応\r
+typedef struct\r
+{\r
+       int r;\r
+       HANDLE h;\r
+       char* Adrs;\r
+       int Port;\r
+       char* ExtAdrs;\r
+} ADDPORTMAPPINGDATA;\r
+\r
+typedef struct\r
+{\r
+       int r;\r
+       HANDLE h;\r
+       int Port;\r
+} REMOVEPORTMAPPINGDATA;\r
+\r
 /*=================================================\r
 *              プロトタイプ\r
 *=================================================*/\r
@@ -1359,6 +1408,18 @@ BOOL IsMainThread();
 // ポータブル版判定\r
 void CheckPortableVersion();\r
 int AskPortableVersion(void);\r
+// 全設定暗号化対応\r
+int Restart();\r
+void Terminate();\r
+// タスクバー進捗表示\r
+int LoadTaskbarList3();\r
+void FreeTaskbarList3();\r
+int IsTaskbarList3Loaded();\r
+void UpdateTaskbarProgress();\r
+// 高DPI対応\r
+int AskToolWinHeight(void);\r
+// ソフトウェア自動更新\r
+void UpdateSoftware(int Async, int NoError, int NoConfirm);\r
 \r
 /*===== filelist.c =====*/\r
 \r
@@ -1393,7 +1454,9 @@ int GetNodeType(int Win, int Pos);
 void GetNodeOwner(int Win, int Pos, char *Buf, int Max);\r
 void EraseRemoteDirForWnd(void);\r
 double GetSelectedTotalSize(int Win);\r
-void MakeSelectedFileList(int Win, int Expand, int All, FILELIST **Base, int *CancelCheckWork);\r
+// ファイル一覧バグ修正\r
+//void MakeSelectedFileList(int Win, int Expand, int All, FILELIST **Base, int *CancelCheckWork);\r
+int MakeSelectedFileList(int Win, int Expand, int All, FILELIST **Base, int *CancelCheckWork);\r
 void MakeDroppedFileList(WPARAM wParam, char *Cur, FILELIST **Base);\r
 void MakeDroppedDir(WPARAM wParam, char *Cur);\r
 void AddRemoteTreeToFileList(int Num, char *Path, int IncDir, FILELIST **Base);\r
@@ -1500,6 +1563,10 @@ void DecomposeSortType(ulong Sort, int *LFSort, int *LDSort, int *RFSort, int *R
 int AskCurrentHost(void);\r
 void SetCurrentHost(int Num);\r
 void CopyDefaultHost(HOSTDATA *Set);\r
+// ホスト共通設定機能\r
+void ResetDefaultHost(void);\r
+void SetDefaultHost(HOSTDATA *Set);\r
+void CopyDefaultDefaultHost(HOSTDATA *Set);\r
 int SearchHostName(char *Name);\r
 void ImportFromWSFTP(void);\r
 // 暗号化通信対応\r
@@ -1629,6 +1696,8 @@ void ReformVMSDirName(char *DirName, int Flg);
 #endif\r
 // 自動切断対策\r
 void NoopProc(int Force);\r
+// 同時接続対応\r
+void AbortRecoveryProc(void);\r
 \r
 /*===== local.c =====*/\r
 \r
@@ -1705,6 +1774,10 @@ void GoForwardTransWindow(void);
 void InitTransCurDir(void);\r
 int DoDownload(SOCKET cSkt, TRANSPACKET *Pkt, int DirList, int *CancelCheckWork);\r
 int CheckPathViolation(TRANSPACKET *packet);\r
+// タスクバー進捗表示\r
+LONGLONG AskTransferSizeLeft(void);\r
+LONGLONG AskTransferSizeTotal(void);\r
+int AskTransferErrorDisplay(void);\r
 \r
 /*===== codecnv.c =====*/\r
 \r
@@ -1714,6 +1787,8 @@ int ConvTermCodeToCRLF(TERMCODECONVINFO *cInfo);
 \r
 void InitCodeConvInfo(CODECONVINFO *cInfo);\r
 int FlushRestData(CODECONVINFO *cInfo);\r
+// UTF-8対応\r
+int ConvNoConv(CODECONVINFO *cInfo);\r
 int ConvEUCtoSJIS(CODECONVINFO *cInfo);\r
 int ConvJIStoSJIS(CODECONVINFO *cInfo);\r
 int ConvSMBtoSJIS(CODECONVINFO *cInfo);\r
@@ -1723,8 +1798,15 @@ int ConvSJIStoJIS(CODECONVINFO *cInfo);
 int ConvSJIStoSMB_HEX(CODECONVINFO *cInfo);\r
 int ConvSJIStoSMB_CAP(CODECONVINFO *cInfo);\r
 int ConvSJIStoUTF8N(CODECONVINFO *cInfo); // UTF-8対応\r
+// UTF-8 HFS+対応\r
+int ConvUTF8NtoUTF8HFSX(CODECONVINFO *cInfo);\r
+int ConvUTF8HFSXtoUTF8N(CODECONVINFO *cInfo);\r
 void ConvAutoToSJIS(char *Text, int Pref);\r
 int CheckKanjiCode(char *Text, int Size, int Pref);\r
+// UTF-8対応\r
+int LoadUnicodeNormalizationDll();\r
+void FreeUnicodeNormalizationDll();\r
+int IsUnicodeNormalizationDllLoaded();\r
 \r
 /*===== option.c =====*/\r
 \r
@@ -1761,7 +1843,7 @@ char *JreGetStrMatchInfo(char *Str, UINT nStart);
 \r
 int CheckFname(char *str, char *regexp);\r
 \r
-/*===== registory.c =====*/\r
+/*===== registry.c =====*/\r
 \r
 void SaveRegistry(void);\r
 int LoadRegistry(void);\r
@@ -1779,6 +1861,10 @@ int LoadSettingsFromFile(void);
 // ポータブル版判定\r
 int IsRegAvailable();\r
 int IsIniAvailable();\r
+// バージョン確認\r
+int ReadSettingsVersion();\r
+// FileZilla XML形式エクスポート対応\r
+void SaveSettingsToFileZillaXml();\r
 \r
 /*===== lvtips.c =====*/\r
 \r
@@ -1805,6 +1891,8 @@ INT_PTR CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM
 // 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
+// 全設定暗号化対応\r
+INT_PTR CALLBACK AnyButtonDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
 void SetYenTail(char *Str);\r
 void RemoveYenTail(char *Str);\r
 void SetSlashTail(char *Str);\r
@@ -1862,6 +1950,13 @@ char* GetAppTempPath(char* Buf);
 #if defined(HAVE_TANDEM)\r
 void CalcExtentSize(TRANSPACKET *Pkt, LONGLONG Size);\r
 #endif\r
+// 高DPI対応\r
+void QueryDisplayDPI();\r
+int CalcPixelX(int x);\r
+int CalcPixelY(int y);\r
+HBITMAP ResizeBitmap(HBITMAP hBitmap, int UnitSizeX, int UnitSizeY, int ScaleNumerator, int ScaleDenominator);\r
+// ソフトウェア自動更新\r
+void DecodeLineFeed(char* Str);\r
 \r
 /*===== dlgsize.c =====*/\r
 \r
@@ -1876,6 +1971,8 @@ int Make6WordPass(int seq, char *seed, char *pass, int type, char *buf);
 /*===== tool.c =====*/\r
 \r
 void OtpCalcTool(void);\r
+// FTPS対応\r
+void TurnStatefulFTPFilter();\r
 \r
 /*===== history.c =====*/\r
 \r
@@ -1906,8 +2003,10 @@ void DeleteSocketWin(void);
 // ソケットにデータを付与\r
 int SetAsyncTableDataIPv4(SOCKET s, struct sockaddr_in* Host, struct sockaddr_in* Socks);\r
 int SetAsyncTableDataIPv6(SOCKET s, struct sockaddr_in6* Host, struct sockaddr_in6* Socks);\r
+int SetAsyncTableDataMapPort(SOCKET s, int Port);\r
 int GetAsyncTableDataIPv4(SOCKET s, struct sockaddr_in* Host, struct sockaddr_in* Socks);\r
 int GetAsyncTableDataIPv6(SOCKET s, struct sockaddr_in6* Host, struct sockaddr_in6* Socks);\r
+int GetAsyncTableDataMapPort(SOCKET s, int* Port);\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
@@ -1921,6 +2020,12 @@ int do_recv(SOCKET s, char *buf, int len, int flags, int *TimeOut, int *CancelCh
 int do_send(SOCKET s, const char *buf, int len, int flags, int *TimeOutErr, int *CancelCheckWork);\r
 // 同時接続対応\r
 void RemoveReceivedData(SOCKET s);\r
+// UPnP対応\r
+int LoadUPnP();\r
+void FreeUPnP();\r
+int IsUPnPLoaded();\r
+int AddPortMapping(char* Adrs, int Port, char* ExtAdrs);\r
+int RemovePortMapping(int Port);\r
 int CheckClosedAndReconnect(void);\r
 // 同時接続対応\r
 int CheckClosedAndReconnectTrnSkt(SOCKET *Skt, int *CancelCheckWork);\r