OSDN Git Service

Add protection for password edit controls.
[ffftp/ffftp.git] / common.h
index edcb5dd..853472d 100644 (file)
--- a/common.h
+++ b/common.h
@@ -30,7 +30,7 @@
 #define __COMMON_H__\r
 \r
 #include "config.h"\r
-#ifndef ENGLISH\r
+#ifndef FFFTP_ENGLISH\r
 #include "mesg-jpn.h"\r
 #else\r
 #include "mesg-eng.h"\r
@@ -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.99"\r
-#define VER_NUM                                        1990            /* 設定バージョン */\r
-#define PROGRAM_VERSION_NUM            1990            /* バージョン */\r
+#define VER_STR                                        "1.98e"\r
+#define VER_NUM                                        1985            /* 設定バージョン */\r
+#define PROGRAM_VERSION_NUM            1985            /* バージョン */\r
 \r
 \r
 // SourceForge.JPによるフォーク\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 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              48\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
@@ -671,6 +681,22 @@ 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
 /*===== 接続ウインドウの形式 =====*/\r
@@ -751,6 +777,9 @@ LIST_UNIX_70
 #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
 /*===== コマンドラインオプション =====*/\r
 \r
@@ -954,6 +983,7 @@ typedef struct {
        // 同時接続対応\r
        int MaxThreadCount;                                     /* 同時接続数 */\r
        int ReuseCmdSkt;                                        /* メインウィンドウのソケットを再利用する (YES/NO) */\r
+       int NoDisplayUI;                                        /* UIを表示しない (YES/NO) */\r
        // FEAT対応\r
        int Feature;                                            /* 利用可能な機能のフラグ (FEATURE_xxx) */\r
        // MLSD対応\r
@@ -1054,6 +1084,12 @@ typedef struct transpacket {
        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
@@ -1073,6 +1109,8 @@ typedef struct filelist {
        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
@@ -1266,6 +1304,10 @@ int AskAutoExit(void);
 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
@@ -1438,6 +1480,11 @@ 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
@@ -1490,12 +1537,12 @@ void CountPrevFfftpWindows(void);
 \r
 /*===== ftpproc.c =====*/\r
 \r
-void DownLoadProc(int ChName, int ForceFile, int All);\r
-void DirectDownLoadProc(char *Fname);\r
-void InputDownLoadProc(void);\r
+void DownloadProc(int ChName, int ForceFile, int All);\r
+void DirectDownloadProc(char *Fname);\r
+void InputDownloadProc(void);\r
 void MirrorDownloadProc(int Notify);\r
-void UpLoadListProc(int ChName, int All);\r
-void UpLoadDragProc(WPARAM wParam);\r
+void UploadListProc(int ChName, int All);\r
+void UploadDragProc(WPARAM wParam);\r
 void MirrorUploadProc(int Notify);\r
 void DeleteProc(void);\r
 void RenameProc(void);\r
@@ -1506,7 +1553,9 @@ 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
@@ -1550,10 +1599,17 @@ 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
-int DoQUOTE(char *CmdStr);\r
+// 同時接続対応\r
+//int DoQUOTE(char *CmdStr);\r
+int DoQUOTE(SOCKET cSkt, char *CmdStr, int *CancelCheckWork);\r
 SOCKET DoClose(SOCKET Sock);\r
-int DoQUIT(SOCKET ctrl_skt);\r
+// 同時接続対応\r
+//int DoQUIT(SOCKET ctrl_skt);\r
+int DoQUIT(SOCKET ctrl_skt, int *CancelCheckWork);\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
 // 同時接続対応\r
 //int CommandProcTrn(char *Reply, char *fmt, ...);\r
@@ -1582,7 +1638,7 @@ int AskTransferNow(void);
 int AskTransferFileNum(void);\r
 void GoForwardTransWindow(void);\r
 void InitTransCurDir(void);\r
-int DoDownLoad(SOCKET cSkt, TRANSPACKET *Pkt, int DirList, int *CancelCheckWork);\r
+int DoDownload(SOCKET cSkt, TRANSPACKET *Pkt, int DirList, int *CancelCheckWork);\r
 int CheckPathViolation(TRANSPACKET *packet);\r
 \r
 /*===== codecnv.c =====*/\r
@@ -1642,13 +1698,13 @@ int CheckFname(char *str, char *regexp);
 \r
 /*===== registory.c =====*/\r
 \r
-void SaveRegistory(void);\r
-int LoadRegistory(void);\r
-void ClearRegistory(void);\r
+void SaveRegistry(void);\r
+int LoadRegistry(void);\r
+void ClearRegistry(void);\r
 void SetMasterPassword( const char* );\r
 int GetMasterPasswordStatus(void);\r
 int ValidateMasterPassword(void);\r
-DWORD LoadHideDriveListRegistory(void);\r
+DWORD LoadHideDriveListRegistry(void);\r
 void SaveSettingsToFile(void);\r
 int LoadSettingsFromFile(void);\r
 \r
@@ -1671,8 +1727,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
@@ -1721,6 +1781,11 @@ LONGLONG MakeLongLong(DWORD High, DWORD Low);
 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
@@ -1762,6 +1827,11 @@ char *AskLocalFreeSpace(char *Path);
 \r
 int MakeSocketWin(HWND hWnd, HINSTANCE hInst);\r
 void DeleteSocketWin(void);\r
+// ソケットにデータを付与\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 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
 // 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
@@ -1776,7 +1846,8 @@ int do_send(SOCKET s, const char *buf, int len, int flags, int *TimeOutErr, int
 // 同時接続対応\r
 void RemoveReceivedData(SOCKET s);\r
 int CheckClosedAndReconnect(void);\r
-void CheckAllEventClosed(void);\r
+// 同時接続対応\r
+int CheckClosedAndReconnectTrnSkt(SOCKET *Skt, int *CancelCheckWork);\r
 \r
 /*===== updatebell.c =====*/\r
 \r