OSDN Git Service

Add support for UTF-8 HFS+ filenames (Windows Vista or later only).
[ffftp/ffftp.git] / common.h
index 7d96478..102fd57 100644 (file)
--- a/common.h
+++ b/common.h
 #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 +709,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 +746,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
@@ -1037,6 +1048,8 @@ typedef struct {
        // 再転送対応\r
        int TransferErrorMode;                          /* 転送エラー時の処理 (EXIST_xxx) */\r
        int TransferErrorNotify;                        /* 転送エラー時に確認ダイアログを出すかどうか (YES/NO) */\r
+       // セッションあたりの転送量制限対策\r
+       int TransferErrorReconnect;                     /* 転送エラー時に再接続する (YES/NO) */\r
 } HOSTDATA;\r
 \r
 \r
@@ -1101,6 +1114,8 @@ typedef struct historydata {
        // 再転送対応\r
        int TransferErrorMode;                          /* 転送エラー時の処理 (EXIST_xxx) */\r
        int TransferErrorNotify;                        /* 転送エラー時に確認ダイアログを出すかどうか (YES/NO) */\r
+       // セッションあたりの転送量制限対策\r
+       int TransferErrorReconnect;                     /* 転送エラー時に再接続する (YES/NO) */\r
        struct historydata *Next;\r
 } HISTORYDATA;\r
 \r
@@ -1352,11 +1367,12 @@ BOOL __stdcall SSLConfirmCallback(BOOL* pbAborted, BOOL bVerified, LPCSTR Certif
 BOOL LoadSSLRootCAFile();\r
 // マルチコアCPUの特定環境下でファイル通信中にクラッシュするバグ対策\r
 BOOL IsMainThread();\r
-// ファイルアイコン表示対応\r
-int AskDispFileIcon(void);\r
 // ポータブル版判定\r
 void CheckPortableVersion();\r
 int AskPortableVersion(void);\r
+// 全設定暗号化対応\r
+int Restart();\r
+void RestartAndTerminate();\r
 \r
 /*===== filelist.c =====*/\r
 \r
@@ -1501,7 +1517,7 @@ void CopyDefaultHost(HOSTDATA *Set);
 int SearchHostName(char *Name);\r
 void ImportFromWSFTP(void);\r
 // 暗号化通信対応\r
-int SetHostExcryption(int Num, int UseNoEncryption, int UseFTPES, int UseFTPIS, int UseSFTP);\r
+int SetHostEncryption(int Num, int UseNoEncryption, int UseFTPES, int UseFTPIS, int UseSFTP);\r
 \r
 /*===== connect.c =====*/\r
 \r
@@ -1573,6 +1589,8 @@ int AskNoopInterval(void);
 // 再転送対応\r
 int AskTransferErrorMode(void);\r
 int AskTransferErrorNotify(void);\r
+// セッションあたりの転送量制限対策\r
+int AskErrorReconnect(void);\r
 \r
 /*===== cache.c =====*/\r
 \r
@@ -1719,8 +1737,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
@@ -1827,10 +1852,14 @@ void RectClientToScreen(HWND hWnd, RECT *Rect);
 int hex2bin(char Ch);\r
 int SplitUNCpath(char *unc, char *Host, char *Path, char *File, char *User, char *Pass, int *Port);\r
 int TimeString2FileTime(char *Time, FILETIME *Buf);\r
-void FileTime2TimeString(FILETIME *Time, char *Buf, int Mode, int InfoExist);\r
+// タイムスタンプのバグ修正\r
+//void FileTime2TimeString(FILETIME *Time, char *Buf, int Mode, int InfoExist);\r
+void FileTime2TimeString(FILETIME *Time, char *Buf, int Mode, int InfoExist, int ShowSeconds);\r
 void SpecificLocalFileTime2FileTime(FILETIME *Time, int TimeZone);\r
 int AttrString2Value(char *Str);\r
-void AttrValue2String(int Attr, char *Buf);\r
+// ファイルの属性を数字で表示\r
+//void AttrValue2String(int Attr, char *Buf);\r
+void AttrValue2String(int Attr, char *Buf, int ShowNumber);\r
 void FormatIniString(char *Str);\r
 int SelectFile(HWND hWnd, char *Fname, char *Title, char *Filters, char *Ext, int Flags, int Save);\r
 int SelectDir(HWND hWnd, char *Buf, int MaxLen);\r
@@ -1868,6 +1897,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
@@ -1898,8 +1929,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
@@ -1913,6 +1946,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);\r
+int RemovePortMapping(int Port);\r
 int CheckClosedAndReconnect(void);\r
 // 同時接続対応\r
 int CheckClosedAndReconnectTrnSkt(SOCKET *Skt, int *CancelCheckWork);\r