X-Git-Url: http://git.sourceforge.jp/view?p=ffftp%2Fffftp.git;a=blobdiff_plain;f=common.h;h=bd7737ee07634944608297b94688db56f47d6906;hp=1a867af1ded765019f7799650b28d66d76a96ac5;hb=c3ccec885437f6ad3e4f4cee46b64f6f8700f5a3;hpb=8ab3c0a0ba31901a286f30b910989e6a8e3d2b45 diff --git a/common.h b/common.h index 1a867af..bd7737e 100644 --- a/common.h +++ b/common.h @@ -70,9 +70,9 @@ //#define VER_STR "1.97b" //#define VER_NUM 1921 /* 設定バージョン */ //#define PROGRAM_VERSION_NUM 1972 /* バージョン */ -#define VER_STR "1.99" -#define VER_NUM 1990 /* 設定バージョン */ -#define PROGRAM_VERSION_NUM 1990 /* バージョン */ +#define VER_STR "1.98d" +#define VER_NUM 1984 /* 設定バージョン */ +#define PROGRAM_VERSION_NUM 1984 /* バージョン */ // SourceForge.JPによるフォーク @@ -297,8 +297,10 @@ #define LIST_UNIX_73 45 /* UNIX 73 */ #define LIST_UNIX_74 46 /* UNIX 74 */ #define LIST_UNIX_75 47 /* UNIX 75 */ +// linux-ftpd +#define LIST_UNIX_16 48 /* UNIX 16 */ // MLSD対応 -#define LIST_MLSD 48 +#define LIST_MLSD 49 #define LIST_MELCOM 0x100 /* MELCOM80 */ @@ -671,6 +673,15 @@ LIST_UNIX_70 61191 Aug-30-2002 17:30:38 FILENAME.C +// linux-ftpd +*LIST_UNIX_16 + 0 1 2 3 4 5 6 7 + ------------------------------------------------------- + 合計 12345 + drwxr-x--- 2 root root 4096 2011-12-06 23:39 . + drwxr-x--- 3 root root 4096 2011-12-06 23:39 .. + -rw-r----- 1 root root 251 2011-12-06 23:39 .hoge + ------------------------------------*/ /*===== 接続ウインドウの形式 =====*/ @@ -890,6 +901,11 @@ LIST_UNIX_70 #define FEATURE_EPRT 0x00000004 #define FEATURE_EPSV 0x00000008 +// IPv6対応 +#define NTYPE_AUTO 0 /* 自動 */ +#define NTYPE_IPV4 1 /* TCP/IPv4 */ +#define NTYPE_IPV6 2 /* TCP/IPv6 */ + // 暗号化通信対応 // REG_SECT_MAXの値を加味する必要がある #define MAX_CERT_CACHE_HASH 256 @@ -949,13 +965,19 @@ typedef struct { // 同時接続対応 int MaxThreadCount; /* 同時接続数 */ int ReuseCmdSkt; /* メインウィンドウのソケットを再利用する (YES/NO) */ + int NoDisplayUI; /* UIを表示しない (YES/NO) */ // FEAT対応 int Feature; /* 利用可能な機能のフラグ (FEATURE_xxx) */ // MLSD対応 int UseMLSD; /* "MLSD"コマンドを使用する */ // IPv6対応 - int InetFamily; /* IPv6接続かどうか (AF_INET/AF_INET6) */ - int UseIPv6; /* IPv6接続を許可しEPRT/EPSVコマンドを使用する */ + int NetType; /* ネットワークの種類 (NTYPE_xxx) */ + int CurNetType; /* 接続中のネットワークの種類 (NTYPE_xxx) */ + // 自動切断対策 + int NoopInterval; /* 無意味なコマンドを送信する間隔(秒数、0で無効)*/ + // 再転送対応 + int TransferErrorMode; /* 転送エラー時の処理 (EXIST_xxx) */ + int TransferErrorNotify; /* 転送エラー時に確認ダイアログを出すかどうか (YES/NO) */ } HOSTDATA; @@ -1014,7 +1036,12 @@ typedef struct historydata { // MLSD対応 int UseMLSD; /* "MLSD"コマンドを使用する */ // IPv6対応 - int UseIPv6; /* IPv6接続を許可しEPRT/EPSVコマンドを使用する */ + int NetType; /* ネットワークの種類 (NTYPE_xxx) */ + // 自動切断対策 + int NoopInterval; /* NOOPコマンドを送信する間隔(秒数、0で無効)*/ + // 再転送対応 + int TransferErrorMode; /* 転送エラー時の処理 (EXIST_xxx) */ + int TransferErrorNotify; /* 転送エラー時に確認ダイアログを出すかどうか (YES/NO) */ struct historydata *Next; } HISTORYDATA; @@ -1250,6 +1277,9 @@ int AskAutoExit(void); // 暗号化通信対応 BOOL __stdcall SSLTimeoutCallback(BOOL* pbAborted); BOOL __stdcall SSLConfirmCallback(BOOL* pbAborted, BOOL bVerified, LPCSTR Certificate, LPCSTR CommonName); +BOOL LoadSSLRootCAFile(); +// マルチコアCPUの特定環境下でファイル通信中にクラッシュするバグ対策 +BOOL IsMainThread(); /*===== filelist.c =====*/ @@ -1449,8 +1479,12 @@ int AskHostFeature(void); // MLSD対応 int AskUseMLSD(void); // IPv6対応 -int AskInetFamily(void); -int AskUseIPv6(void); +int AskCurNetType(void); +// 自動切断対策 +int AskNoopInterval(void); +// 再転送対応 +int AskTransferErrorMode(void); +int AskTransferErrorNotify(void); /*===== cache.c =====*/ @@ -1486,7 +1520,9 @@ void ChangeDirBmarkProc(int MarkID); void ChangeDirDirectProc(int Win); void ChangeDirDropFileProc(WPARAM wParam); void ChmodProc(void); -BOOL CALLBACK ChmodDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam); +// 64ビット対応 +//BOOL CALLBACK ChmodDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK ChmodDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam); void SomeCmdProc(void); void CalcFileSizeProc(void); void DispCWDerror(HWND hWnd); @@ -1499,6 +1535,8 @@ void ReformToVMSstylePathName(char *Path); #if defined(HAVE_OPENVMS) void ReformVMSDirName(char *DirName, int Flg); #endif +// 自動切断対策 +void NoopProc(void); /*===== local.c =====*/ @@ -1649,8 +1687,12 @@ int ConnectRas(int Dialup, int UseThis, int Notify, char *Name); /*===== misc.c =====*/ int InputDialogBox(int Res, HWND hWnd, char *Title, char *Buf, int Max, int *Flg, int Help); -BOOL CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK ExeEscTextDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +// 64ビット対応 +//BOOL CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +// 64ビット対応 +//BOOL CALLBACK ExeEscTextDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK ExeEscTextDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); void SetYenTail(char *Str); void RemoveYenTail(char *Str); void SetSlashTail(char *Str); @@ -1699,6 +1741,8 @@ LONGLONG MakeLongLong(DWORD High, DWORD Low); char *MakeNumString(LONGLONG Num, char *Buf, BOOL Comma); // 異なるファイルが表示されるバグ修正 char* MakeDistinguishableFileName(char* Out, char* In); +// 環境依存の不具合対策 +char* GetAppTempPath(char* Buf); /*===== dlgsize.c =====*/