-/*=============================================================================\r
+/*=============================================================================\r
*\r
-* \83q\83X\83g\83\8a\r
+* ヒストリ\r
*\r
===============================================================================\r
/ Copyright (C) 1997-2007 Sota. All rights reserved.\r
/============================================================================*/\r
\r
#define STRICT\r
+// IPv6対応\r
+#include <winsock2.h>\r
#include <windows.h>\r
#include <stdio.h>\r
#include <stdlib.h>\r
#include <windowsx.h>\r
#include <commctrl.h>\r
#include <stdarg.h>\r
-#include <winsock.h>\r
+// IPv6対応\r
+//#include <winsock.h>\r
\r
#include "common.h"\r
#include "resource.h"\r
\r
\r
-/*===== \83v\83\8d\83g\83^\83C\83v =====*/\r
+/*===== プロトタイプ =====*/\r
\r
static void CopyHostToHistory(HOSTDATA *Host, HISTORYDATA *New);\r
static void AddOneFnameToMenu(char *Host, char *User, char *Remote, int Num);\r
static void RemoveAllHistoryFromMenu(void);\r
\r
-/*===== \8aO\95\94\8eQ\8fÆ =====*/\r
+/*===== 外部参照 =====*/\r
\r
-/* \90Ý\92è\92l */\r
+/* 設定値 */\r
extern int FileHist;\r
extern int PassToHist;\r
\r
-/*===== \83\8d\81[\83J\83\8b\82È\83\8f\81[\83N =====*/\r
+/*===== ローカルなワーク =====*/\r
\r
static HISTORYDATA *HistoryBase = NULL;\r
static int HistoryNum = 0;\r
\r
-/* \83q\83X\83g\83\8a\82Ì\83\81\83j\83\85\81[\8d\80\96Ú\82ÌID */\r
+/* ヒストリのメニュー項目のID */\r
static int MenuHistId[HISTORY_MAX] = {\r
MENU_HIST_1, MENU_HIST_2, MENU_HIST_3, MENU_HIST_4, MENU_HIST_5,\r
MENU_HIST_6, MENU_HIST_7, MENU_HIST_8, MENU_HIST_9, MENU_HIST_10,\r
\r
\r
\r
-/*----- \83z\83X\83g\8fî\95ñ\82ð\83q\83X\83g\83\8a\83\8a\83X\83g\82Ì\90æ\93ª\82É\92Ç\89Á\82·\82é ----------------------------\r
+/*----- ホスト情報をヒストリリストの先頭に追加する ----------------------------\r
*\r
* Parameter\r
-* HOSTDATA *Host : \83z\83X\83g\83f\81[\83^\r
-* int TrMode : \93]\91\97\83\82\81[\83h\r
+* HOSTDATA *Host : ホストデータ\r
+* int TrMode : 転送モード\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void AddHostToHistory(HOSTDATA *Host, int TrMode)\r
}\r
\r
\r
-/*----- \83q\83X\83g\83\8a\82ð\83q\83X\83g\83\8a\83\8a\83X\83g\82Ì\90æ\93ª\82É\92Ç\89Á\82·\82é ------------------------------\r
+/*----- ヒストリをヒストリリストの先頭に追加する ------------------------------\r
*\r
* Parameter\r
-* HISTORYDATA *Hist : \83q\83X\83g\83\8a\83f\81[\83^\r
+* HISTORYDATA *Hist : ヒストリデータ\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void AddHistoryToHistory(HISTORYDATA *Hist)\r
}\r
\r
\r
-/*----- \83q\83X\83g\83\8a\82Ì\90\94\82ð\95Ô\82· ----------------------------------------------------\r
+/*----- ヒストリの数を返す ----------------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* int \83q\83X\83g\83\8a\82Ì\90\94\r
+* int ヒストリの数\r
*----------------------------------------------------------------------------*/\r
\r
int AskHistoryNum(void)\r
}\r
\r
\r
-/*----- \83q\83X\83g\83\8a\82Ì\90\94\82ð\83`\83F\83b\83N\82µ\91½\82·\82¬\82½\82ç\8dí\8f\9c --------------------------------\r
+/*----- ヒストリの数をチェックし多すぎたら削除 --------------------------------\r
*\r
* Parameter\r
-* int Space : \8bó\82¯\82Ä\82¨\82\8cÂ\90\94 (0\81`)\r
+* int Space : 空けておく個数 (0~)\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void CheckHistoryNum(int Space)\r
\r
if(HistoryNum > FileHist-Space)\r
{\r
- /* \8ec\82·\82×\82«\83q\83X\83g\83\8a\82ð\92T\82· */\r
+ /* 残すべきヒストリを探す */\r
Pos = HistoryBase;\r
Prev = NULL;\r
for(i = 0; i < FileHist-Space; i++)\r
Pos = Pos->Next;\r
}\r
\r
- /* \82¢\82ç\82È\82¢\83q\83X\83g\83\8a\82ð\8fÁ\82· */\r
+ /* いらないヒストリを消す */\r
if(Prev == NULL)\r
HistoryBase = NULL;\r
else\r
}\r
\r
\r
-/*----- \83z\83X\83g\8fî\95ñ\82ð\83q\83X\83g\83\8a\82É\83Z\83b\83g ------------------------------------------\r
+/*----- ホスト情報をヒストリにセット ------------------------------------------\r
*\r
* Parameter\r
-* HOSTDATA *Host : \83z\83X\83g\83f\81[\83^\r
-* HISTORYDATA *New : \83q\83X\83g\83\8a\82ð\83Z\83b\83g\82·\82é\83\8f\81[\83N\r
+* HOSTDATA *Host : ホストデータ\r
+* HISTORYDATA *New : ヒストリをセットするワーク\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
static void CopyHostToHistory(HOSTDATA *Host, HISTORYDATA *New)\r
New->DialupAlways = Host->DialupAlways;\r
New->DialupNotify = Host->DialupNotify;\r
strcpy(New->DialEntry, Host->DialEntry);\r
+ // 暗号化通信対応\r
+ New->UseNoEncryption = Host->UseNoEncryption;\r
+ New->UseFTPES = Host->UseFTPES;\r
+ New->UseFTPIS = Host->UseFTPIS;\r
+ New->UseSFTP = Host->UseSFTP;\r
+ strcpy(New->PrivateKey, Host->PrivateKey);\r
+ // 同時接続対応\r
+ New->MaxThreadCount = Host->MaxThreadCount;\r
+ New->ReuseCmdSkt = Host->ReuseCmdSkt;\r
+ // MLSD対応\r
+ New->UseMLSD = Host->UseMLSD;\r
+ // IPv6対応\r
+ New->NetType = Host->NetType;\r
+ // 自動切断対策\r
+ New->NoopInterval = Host->NoopInterval;\r
+ // 再転送対応\r
+ New->TransferErrorMode = Host->TransferErrorMode;\r
+ New->TransferErrorNotify = Host->TransferErrorNotify;\r
return;\r
}\r
\r
\r
-/*----- \83q\83X\83g\83\8a\8fî\95ñ\82ð\83z\83X\83g\8fî\95ñ\82É\83Z\83b\83g --------------------------------------\r
+/*----- ヒストリ情報をホスト情報にセット --------------------------------------\r
*\r
* Parameter\r
-* HISTORYDATA *Hist : \83q\83X\83g\83\8a\r
-* HOSTDATA *Host : \83z\83X\83g\83f\81[\83^\82ð\83Z\83b\83g\82·\82é\83\8f\81[\83N\r
+* HISTORYDATA *Hist : ヒストリ\r
+* HOSTDATA *Host : ホストデータをセットするワーク\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void CopyHistoryToHost(HISTORYDATA *Hist, HOSTDATA *Host)\r
Host->DialupAlways = Hist->DialupAlways;\r
Host->DialupNotify = Hist->DialupNotify;\r
strcpy(Host->DialEntry, Hist->DialEntry);\r
+ // 暗号化通信対応\r
+ Host->UseNoEncryption = Hist->UseNoEncryption;\r
+ Host->UseFTPES = Hist->UseFTPES;\r
+ Host->UseFTPIS = Hist->UseFTPIS;\r
+ Host->UseSFTP = Hist->UseSFTP;\r
+ strcpy(Host->PrivateKey, Hist->PrivateKey);\r
+ // 同時接続対応\r
+ Host->MaxThreadCount = Hist->MaxThreadCount;\r
+ Host->ReuseCmdSkt = Hist->ReuseCmdSkt;\r
+ // MLSD対応\r
+ Host->UseMLSD = Hist->UseMLSD;\r
+ // IPv6対応\r
+ Host->NetType = Hist->NetType;\r
+ // 自動切断対策\r
+ Host->NoopInterval = Hist->NoopInterval;\r
+ // 再転送対応\r
+ Host->TransferErrorMode = Hist->TransferErrorMode;\r
+ Host->TransferErrorNotify = Hist->TransferErrorNotify;\r
return;\r
}\r
\r
\r
-/*----- \83q\83X\83g\83\8a\8fî\95ñ\82Ì\8f\89\8aú\92l\82ð\8eæ\93¾ --------------------------------------------\r
+/*----- ヒストリ情報の初期値を取得 --------------------------------------------\r
*\r
* Parameter\r
-* HISTORYDATA *Set : \83q\83X\83g\83\8a\82ð\83Z\83b\83g\82·\82é\83\8f\81[\83N\r
+* HISTORYDATA *Set : ヒストリをセットするワーク\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void CopyDefaultHistory(HISTORYDATA *Set)\r
}\r
\r
\r
-/*----- \91S\83q\83X\83g\83\8a\82ð\83\81\83j\83\85\81[\82É\83Z\83b\83g ------------------------------------------\r
+/*----- 全ヒストリをメニューにセット ------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void SetAllHistoryToMenu(void)\r
}\r
\r
\r
-/*----- \83q\83X\83g\83\8a\82ð\83\81\83j\83\85\81[\82É\92Ç\89Á ----------------------------------------------\r
+/*----- ヒストリをメニューに追加 ----------------------------------------------\r
*\r
* Parameter\r
-* char *Host : \83z\83X\83g\96¼\r
-* char *User : \83\86\81[\83U\96¼\r
-* char *Remote : \83z\83X\83g\82Ì\83t\83H\83\8b\83_\r
-* int Num : \94Ô\8d\86\r
+* char *Host : ホスト名\r
+* char *User : ユーザ名\r
+* char *Remote : ホストのフォルダ\r
+* int Num : 番号\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
static void AddOneFnameToMenu(char *Host, char *User, char *Remote, int Num)\r
}\r
\r
\r
-/*----- \91S\83q\83X\83g\83\8a\82ð\83\81\83j\83\85\81[\82©\82ç\8dí\8f\9c ------------------------------------------\r
+/*----- 全ヒストリをメニューから削除 ------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
static void RemoveAllHistoryFromMenu(void)\r
}\r
\r
\r
-/*----- \8ew\92è\83\81\83j\83\85\81[\83R\83}\83\93\83h\82É\91Î\89\9e\82·\82é\83q\83X\83g\83\8a\82ð\95Ô\82· --------------------------\r
+/*----- 指定メニューコマンドに対応するヒストリを返す --------------------------\r
*\r
* Parameter\r
-* int MenuCmd : \8eæ\82è\8fo\82·\83q\83X\83g\83\8a\82É\8a\84\82è\93\96\82Ä\82ç\82ê\82½\83\81\83j\83\85\81[\83R\83}\83\93\83h (MENU_xxx)\r
-* HISTORYDATA *Buf : \83q\83X\83g\83\8a\83f\81[\83^\82ð\95Ô\82·\83o\83b\83t\83@\r
+* int MenuCmd : 取り出すヒストリに割り当てられたメニューコマンド (MENU_xxx)\r
+* HISTORYDATA *Buf : ヒストリデータを返すバッファ\r
*\r
* Return Value\r
-* int \83X\83e\81[\83^\83X\r
-* SUCCESS/FAIL\r
+* int ステータス\r
+* FFFTP_SUCCESS/FFFTP_FAIL\r
*----------------------------------------------------------------------------*/\r
\r
int GetHistoryByCmd(int MenuCmd, HISTORYDATA *Buf)\r
int i;\r
HISTORYDATA *Pos;\r
\r
- Sts = FAIL;\r
+ Sts = FFFTP_FAIL;\r
Pos = HistoryBase;\r
for(i = 0; i < HistoryNum; i++)\r
{\r
if(MenuHistId[i] == MenuCmd)\r
{\r
memcpy(Buf, Pos, sizeof(HISTORYDATA));\r
- Sts = SUCCESS;\r
+ Sts = FFFTP_SUCCESS;\r
}\r
Pos = Pos->Next;\r
}\r
}\r
\r
\r
-/*----- \8ew\92è\94Ô\8d\86\82É\91Î\89\9e\82·\82é\83q\83X\83g\83\8a\82ð\95Ô\82· --------------------------------------\r
+/*----- 指定番号に対応するヒストリを返す --------------------------------------\r
*\r
* Parameter\r
-* int Num : \94Ô\8d\86(0\81`)\r
-* HISTORYDATA *Buf : \83q\83X\83g\83\8a\83f\81[\83^\82ð\95Ô\82·\83o\83b\83t\83@\r
+* int Num : 番号(0~)\r
+* HISTORYDATA *Buf : ヒストリデータを返すバッファ\r
*\r
* Return Value\r
-* int \83X\83e\81[\83^\83X\r
-* SUCCESS/FAIL\r
+* int ステータス\r
+* FFFTP_SUCCESS/FFFTP_FAIL\r
*----------------------------------------------------------------------------*/\r
\r
int GetHistoryByNum(int Num, HISTORYDATA *Buf)\r