OSDN Git Service

d52071db4258d1f1fae1c2650bbccc7fca8d752f
[ffftp/ffftp.git] / common.h
1 /*=============================================================================\r
2 *                                                       \82e\82e\82e\82s\82o\8b¤\92Ê\92è\8b`\83t\83@\83C\83\8b\r
3 *\r
4 ===============================================================================\r
5 / Copyright (C) 1997-2007 Sota. All rights reserved.\r
6 /\r
7 / Redistribution and use in source and binary forms, with or without \r
8 / modification, are permitted provided that the following conditions \r
9 / are met:\r
10 /\r
11 /  1. Redistributions of source code must retain the above copyright \r
12 /     notice, this list of conditions and the following disclaimer.\r
13 /  2. Redistributions in binary form must reproduce the above copyright \r
14 /     notice, this list of conditions and the following disclaimer in the \r
15 /     documentation and/or other materials provided with the distribution.\r
16 /\r
17 / THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR \r
18 / IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES \r
19 / OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \r
20 / IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, \r
21 / INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, \r
22 / BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF \r
23 / USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON \r
24 / ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT \r
25 / (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF \r
26 / THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
27 /============================================================================*/\r
28 \r
29 #ifndef __COMMON_H__\r
30 #define __COMMON_H__\r
31 \r
32 #include "config.h"\r
33 #ifndef ENGLISH\r
34 #include "mesg-jpn.h"\r
35 #else\r
36 #include "mesg-eng.h"\r
37 #endif\r
38 \r
39 \r
40 #define NUL                             '\0'\r
41 \r
42 #define LOW8(x)                 ((x) & 0xFF)\r
43 #define HIGH8(x)                (((x) >> 8) & 0xFF)\r
44 #define LOW32(x)                ((x) & 0xFFFFFFFF)\r
45 #define HIGH32(x)               (((x) >> 32) & 0xFFFFFFFF)\r
46 #define N2INT(h,l)              ((int)(((uchar)(h) << 4) + (uchar)(l)))\r
47 \r
48 #define IsDigit(n)              (isascii(n) && isdigit(n))\r
49 #define IsAlpha(n)              (isascii(n) && isalpha(n))\r
50 \r
51 #define uchar                   unsigned char\r
52 #define ushort                  unsigned short\r
53 #define ulong                   unsigned long\r
54 \r
55 #define FAIL                    0\r
56 #define SUCCESS                 1\r
57 \r
58 #define NO                              0\r
59 #define YES                             1\r
60 #define NO_ALL                  2\r
61 #define YES_ALL                 3\r
62 #define YES_LIST                4\r
63 \r
64 /*===== \83o\81[\83W\83\87\83\93 ======*/\r
65 \r
66 // SourceForge.JP\82É\82æ\82é\83t\83H\81[\83N\r
67 //#define VER_STR                                       "1.97b"\r
68 //#define VER_NUM                                       1921            /* \90Ý\92è\83o\81[\83W\83\87\83\93 */\r
69 //#define PROGRAM_VERSION_NUM           1972            /* \83o\81[\83W\83\87\83\93 */\r
70 #define VER_STR                                 "1.98"\r
71 #define VER_NUM                                 1980            /* \90Ý\92è\83o\81[\83W\83\87\83\93 */\r
72 #define PROGRAM_VERSION_NUM             1980            /* \83o\81[\83W\83\87\83\93 */\r
73 \r
74 \r
75 #define MYWEB_URL       "http://www2.biglobe.ne.jp/~sota/ffftp-qa.html"\r
76 \r
77 \r
78 \r
79 /*===== \92Ê\90M\8aÖ\8cW ======*/\r
80 \r
81 #define TCP_PORT                6\r
82 \r
83 /*===== \83E\83C\83\93\83h\83E\83T\83C\83Y ======*/\r
84 \r
85 #define TOOLWIN_HEIGHT  28              /* \83c\81[\83\8b\83o\81[\82Ì\8d\82\82³ */\r
86 \r
87 /*===== \93Á\8eê\82È\83L\83\83\83b\83V\83\85\83f\81[\83^\94Ô\8d\86 =====*/\r
88 /* \81i\83t\83@\83C\83\8b\88ê\97\97\8eæ\93¾\82Å\8eg\97p\82·\82é\83\8d\81[\83J\83\8b\83t\83@\83C\83\8b\96¼ _ffftp.??? \82Ì\94Ô\8d\86\95\94\95ª\81j */\r
89 \r
90 #define CACHE_FILE_TMP1 999             /* \83z\83X\83g\82Ì\83t\83@\83C\83\8b\83c\83\8a\81[\8eæ\93¾\97p */\r
91 #define CACHE_FILE_TMP2 998             /* \83A\83b\83v\83\8d\81[\83h\92\86\82Ì\83z\83X\83g\82Ì\83t\83@\83C\83\8b\88ê\97\97\8eæ\93¾\97p */\r
92 \r
93 /*===== \83\86\81[\83U\92è\8b`\83R\83}\83\93\83h =====*/\r
94 \r
95 #define WM_CHANGE_COND  (WM_USER+1)     /* \83t\83@\83C\83\8b\88ê\97\97\82ð\95Ï\8dX\82·\82é\83R\83}\83\93\83h */\r
96 #define WM_SET_PACKET   (WM_USER+2)     /* \8c»\8dÝ\8eg\97p\82µ\82Ä\82¢\82é\93]\91\97\83p\83P\83b\83g\82Ì\83A\83h\83\8c\83X\82ð\92Ê\92m */\r
97 #define WM_SELECT_HOST  (WM_USER+3)     /* \83z\83X\83g\82ð\83_\83u\83\8b\83N\83\8a\83b\83N\82Å\91I\91ð\82µ\82½ */\r
98 #define WM_DIAL_MSG             (WM_USER+4)     /* \83_\83C\83A\83\8b\92\86\82Ì\83X\83e\81[\83^\83X\92Ê\92m */\r
99 \r
100 #define WM_ASYNC_SOCKET (WM_USER+5)\r
101 #define WM_ASYNC_DBASE  (WM_USER+6)\r
102 \r
103 #define WM_REFRESH_LOCAL_FLG    (WM_USER+7)\r
104 #define WM_REFRESH_REMOTE_FLG   (WM_USER+8)\r
105 \r
106 /*===== \83z\83X\83g\94Ô\8d\86 =====*/\r
107 /* \83z\83X\83g\94Ô\8d\86\82Í 0\81\82Ì\92l\82ð\8eæ\82é */\r
108 \r
109 #define HOSTNUM_NOENTRY (-1)    /* \83z\83X\83g\88ê\97\97\82É\96³\82¢\82Æ\82«\82Ì\83z\83X\83g\94Ô\8d\86 */\r
110 \r
111 /*===== \83o\83b\83t\83@\83T\83C\83Y =====*/\r
112 \r
113 #define BUFSIZE                 4096    /* \83t\83@\83C\83\8b\93]\91\97\83o\83b\83t\83@\82Ì\83T\83C\83Y(4k\88È\8fã) */\r
114 \r
115 #define HOST_NAME_LEN   40              /* \88ê\97\97\82É\95\\8e¦\82·\82é\83z\83X\83g\82Ì\96¼\91O */\r
116 #define HOST_ADRS_LEN   80              /* \83z\83X\83g\96¼ */\r
117 #define USER_NAME_LEN   80              /* \83\86\81[\83U\96¼ */\r
118 #define PASSWORD_LEN    80              /* \83p\83X\83\8f\81[\83h */\r
119 #define ACCOUNT_LEN             80              /* \83A\83J\83E\83\93\83g */\r
120 #define HOST_TYPE_LEN   1               /* \83z\83X\83g\82Ì\8eí\97Þ */\r
121 #define INIT_DIR_LEN    (FMAX_PATH-40)  /* \8f\89\8aú\83f\83B\83\8c\83N\83g\83\8a */\r
122 #define USER_MAIL_LEN   80              /* \83\86\81[\83U\82Ì\83\81\81[\83\8b\83A\83h\83\8c\83X */\r
123                                                                 /*   PASSWORD_LEN \82Æ\93¯\82\82É\82·\82é\82±\82Æ */\r
124 #define ASCII_EXT_LEN   400             /* \83A\83X\83L\81[\83\82\81[\83h\93]\91\97\82Ì\83t\83@\83C\83\8b\96¼\97ñ */\r
125 #define FILTER_EXT_LEN  400             /* \83t\83B\83\8b\83^\82Ì\83t\83@\83C\83\8b\96¼\97ñ */\r
126 #define BOOKMARK_SIZE   2048    /* \83u\83b\83N\83}\81[\83N */\r
127 #define CHMOD_CMD_LEN   40              /* \91®\90«\95Ï\8dX\83R\83}\83\93\83h */\r
128 #define MIRROR_LEN              400             /* \83~\83\89\81[\83\8a\83\93\83O\82Ì\90Ý\92è\97p */\r
129 #define NLST_NAME_LEN   40              /* NLST\82É\95t\82¯\82é\83t\83@\83C\83\8b\96¼\81^\83I\83v\83V\83\87\83\93 */\r
130 #define DEFATTRLIST_LEN 800             /* \91®\90«\83\8a\83X\83g\82Ì\92·\82³ */\r
131 #define INITCMD_LEN             256             /* \8f\89\8aú\89»\83R\83}\83\93\83h */\r
132 #define OWNER_NAME_LEN  40              /* \83I\81[\83i\96¼ */\r
133 #define RAS_NAME_LEN    256             /* RAS\82Ì\83G\83\93\83g\83\8a\96¼\82Ì\92·\82³ */\r
134 \r
135 #define FMAX_PATH               1024\r
136 \r
137 #define ONELINE_BUF_SIZE        (10*1024)\r
138 \r
139 /*===== \8f\89\8aú\92l =====*/\r
140 \r
141 #define SAMBA_HEX_TAG   ':'                             /* Samba-HEX \82Ì\8bæ\90Ø\82è\95\8e\9a */\r
142 #define CHMOD_CMD_NOR   "SITE CHMOD"    /* \91®\90«\95Ï\8dX\83R\83}\83\93\83h */\r
143 #define PORT_NOR                21                              /* \83|\81[\83g\94Ô\8d\86 */\r
144 #define LS_FNAME                "-alL"                  /* NLST\82É\95t\82¯\82é\82à\82Ì */\r
145 \r
146 /*===== \93¯\82\96¼\91O\82Ì\83t\83@\83C\83\8b\82ª\82 \82Á\82½\8e\9e\82Ì\8f\88\97\9d =====*/\r
147 \r
148 #define EXIST_OVW               0               /* \8fã\8f\91\82« */\r
149 #define EXIST_NEW               1               /* \90V\82µ\82¯\82ê\82Î\8fã\8f\91\82« */\r
150 #define EXIST_RESUME    2               /* \83\8c\83W\83\85\81[\83\80 */\r
151 #define EXIST_IGNORE    3               /* \96³\8e\8b */\r
152 #define EXIST_UNIQUE    4               /* \83z\83X\83g\82ª\96¼\91O\82ð\95t\82¯\82é */\r
153 #define EXIST_ABORT             5               /* \91S\82Ä\92\86\8e~ */\r
154 \r
155 /*===== \83t\83@\83C\83\8b\96¼\82Ì\94ä\8ar\83\82\81[\83h =====*/\r
156 \r
157 #define COMP_IGNORE             0               /* \91å\95\8e\9a/\8f¬\95\8e\9a\82Í\8bæ\95Ê\82µ\82È\82¢ */\r
158 #define COMP_STRICT             1               /* \91å\95\8e\9a/\8f¬\95\8e\9a\82ð\8bæ\95Ê\82·\82é */\r
159 #define COMP_LOWERMATCH 2               /* \91å\95\8e\9a/\8f¬\95\8e\9a\82ð\8bæ\95Ê\82µ\82È\82¢\81i\95Ð\91¤\82Í\91S\82Ä\8f¬\95\8e\9a\81j */\r
160 \r
161 /*===== FTP\82Ì\89\9e\93\9a\83R\81[\83h\82Ì\93ª\82P\8c\85 =====*/\r
162 \r
163 #define FTP_PRELIM              1               /* */\r
164 #define FTP_COMPLETE    2               /* */\r
165 #define FTP_CONTINUE    3               /* */\r
166 #define FTP_RETRY               4               /* */\r
167 #define FTP_ERROR               5               /* */\r
168 \r
169 /*===== \83t\83@\83C\83\8b\83\8a\83X\83g\82Ì\83m\81[\83h\91®\90« =====*/\r
170 \r
171 #define NODE_DIR                0               /* \83f\83B\83\8c\83N\83g\83\8a */\r
172 #define NODE_FILE               1               /* \83t\83@\83C\83\8b */\r
173 #define NODE_DRIVE              2               /* \83h\83\89\83C\83u */\r
174 #define NODE_NONE               (-1)    /* \82È\82µ */\r
175 \r
176 /*===== \8fã\8f\91\82«\8am\94F\95û\96@\82Ì\90Ý\92è\92l =====*/\r
177 \r
178 #define TRANS_OVW               0               /* \8fã\8f\91\82« */\r
179 #define TRANS_DLG               1               /* \83_\83C\83A\83\8d\83O\82ð\8fo\82· */\r
180 \r
181 /*===== \83z\83X\83g\93à\83t\83@\83C\83\8b\88Ú\93®\8am\94F\95û\96@\82Ì\90Ý\92è\92l =====*/\r
182 \r
183 #define MOVE_NODLG              0               /* \83_\83C\83A\83\8d\83O\82ð\8fo\82³\82È\82¢ */\r
184 #define MOVE_DLG                1               /* \83_\83C\83A\83\8d\83O\82ð\8fo\82· */\r
185 #define MOVE_DISABLE    2               /* \8b@\94\\8eg\97p\8bÖ\8e~ */\r
186 \r
187 /*===== \93]\91\97\95û\96@ =====*/\r
188 \r
189 #define TYPE_I                  'I'             /* \83o\83C\83i\83\8a\83\82\81[\83h */\r
190 #define TYPE_A                  'A'             /* \83A\83X\83L\81[\83\82\81[\83h */\r
191 #define TYPE_X                  'X'             /* \8e©\93®\94»\95Ê */\r
192 \r
193 #define TYPE_DEFAULT    NUL             /* \90Ý\92è\82µ\82È\82¢ DirectConnectProc()\82Ì\88ø\90\94\82Æ\82µ\82Ä\97L\8cø */\r
194 \r
195 /*===== \83\\81[\83g\95û\96@ =====*/\r
196 /* \94Ô\8d\86\82ÍListView\82Ì\83J\83\89\83\80\94Ô\8d\86\82Æ\8d\87\82í\82¹\82Ä\82 \82é */\r
197 \r
198 #define SORT_NAME               0               /* \96¼\91O\8f\87 */\r
199 #define SORT_DATE               1               /* \93ú\95t\8f\87 */\r
200 #define SORT_SIZE               2               /* \83T\83C\83Y\8f\87 */\r
201 #define SORT_EXT                3               /* \8ag\92£\8eq\8f\87 */\r
202 \r
203 #define SORT_ASCENT             0x00    /* \8f¸\8f\87 */\r
204 #define SORT_DESCENT    0x80    /* \8d~\8f\87 */\r
205 \r
206 #define SORT_MASK_ORD   0x7F    /* \82\98\82\98\8f\87\82ð\8eæ\82è\8fo\82·\83}\83X\83N */\r
207 #define SORT_GET_ORD    0x80    /* \8f¸\8f\87\81^\8d~\8f\87\82ð\8eæ\82è\8fo\82·\83}\83X\83N */\r
208 \r
209 #define SORT_NOTSAVED   ((ulong)0xFFFFFFFF)     /* \83z\83X\83g\96\88\82Ì\83Z\81[\83u\95û\96@\82ð\95Û\91\82µ\82Ä\82¢\82È\82¢\8e\9e\82Ì\92l */\r
210 \r
211 /*===== \83\\81[\83g\82·\82é\8fê\8f\8a =====*/\r
212 \r
213 #define ITEM_LFILE              0               /* \83\8d\81[\83J\83\8b\82Ì\96¼\91O */\r
214 #define ITEM_LDIR               1               /* \83\8d\81[\83J\83\8b\82Ì\83f\83B\83\8c\83N\83g\83\8a */\r
215 #define ITEM_RFILE              2               /* \83z\83X\83g\82Ì\96¼\91O */\r
216 #define ITEM_RDIR               3               /* \83z\83X\83g\82Ì\83f\83B\83\8c\83N\83g\83\8a */\r
217 \r
218 /*===== \83E\83C\83\93\83h\83E\94Ô\8d\86 =====*/\r
219 \r
220 #define WIN_LOCAL               0               /* \83\8d\81[\83J\83\8b */\r
221 #define WIN_REMOTE              1               /* \83z\83X\83g */\r
222 #define WIN_BOTH                2               /* \97¼\95û */\r
223 \r
224 /*===== \83t\83@\83C\83\8b\91I\91ð\95û\96@ =====*/\r
225 \r
226 #define SELECT_ALL              0               /* \91S\91I\91ð */\r
227 #define SELECT_REGEXP   1               /* \8c\9f\8dõ\8e®\82ð\93ü\97Í\82µ\82Ä\91I\91ð */\r
228 \r
229 /*===== \8c\9f\8dõ\95û\96@ =====*/\r
230 \r
231 #define FIND_FIRST              0               /* \8dÅ\8f\89\82Ì\8c\9f\8dõ */\r
232 #define FIND_NEXT               1               /* \8e\9f\82ð\8c\9f\8dõ */\r
233 \r
234 /*===== \83t\83@\83C\83\8b\96¼\82Ì\91å\95\8e\9a\81^\8f¬\95\8e\9a\95Ï\8a· =====*/\r
235 \r
236 #define FNAME_NOCNV             0               /* \95Ï\8a·\82µ\82È\82¢ */\r
237 #define FNAME_LOWER             1               /* \8f¬\95\8e\9a\82É\95Ï\8a· */\r
238 #define FNAME_UPPER             2               /* \91å\95\8e\9a\82É\95Ï\8a· */\r
239 \r
240 /*===== \83t\83@\83C\83\8b\88ê\97\97\82Ì\8c`\8e® =====*/\r
241 \r
242 #define LIST_UNKNOWN    (-1)    /* \95s\96¾ */\r
243 \r
244 #define LIST_UNIX_10    0               /* UNIX 10 */\r
245 #define LIST_UNIX_11    1               /* UNIX 11 */\r
246 #define LIST_UNIX_12    2               /* UNIX 12 */\r
247 #define LIST_UNIX_13    3               /* UNIX 13 */\r
248 #define LIST_UNIX_14    4               /* UNIX 14 */\r
249 #define LIST_UNIX_15    5               /* UNIX 15 */\r
250 #define LIST_UNIX_20    6               /* UNIX 20 */\r
251 #define LIST_UNIX_21    7               /* UNIX 21 */\r
252 #define LIST_UNIX_22    8               /* UNIX 22 */\r
253 #define LIST_UNIX_23    9               /* UNIX 23 */\r
254 #define LIST_UNIX_24    10              /* UNIX 24 */\r
255 #define LIST_UNIX_25    11              /* UNIX 25 */\r
256 #define LIST_UNIX_50    12              /* UNIX 50 */\r
257 #define LIST_UNIX_51    13              /* UNIX 51 */\r
258 #define LIST_UNIX_54    14              /* UNIX 54 */\r
259 #define LIST_UNIX_60    15              /* UNIX 60 */\r
260 #define LIST_UNIX_61    16              /* UNIX 61 */\r
261 #define LIST_UNIX_62    17              /* UNIX 62 */\r
262 #define LIST_UNIX_63    18              /* UNIX 63 */\r
263 #define LIST_UNIX_64    19              /* UNIX 64 */\r
264 #define LIST_UNIX_65    20              /* UNIX 65 */\r
265 #define LIST_DOS_1              21              /* MS-DOS 1 */\r
266 #define LIST_DOS_2              22              /* MS-DOS 2 */\r
267 #define LIST_DOS_3              23              /* MS-DOS 3 */\r
268 #define LIST_DOS_4              24              /* MS-DOS 4 */\r
269 #define LIST_ACOS               25              /* ACOS */\r
270 #define LIST_AS400              26              /* AS/400 */\r
271 #define LIST_M1800              27              /* Fujitu M1800 (OS IV/MSP E20) */\r
272 #define LIST_CHAMELEON  28              /* Win3.1\97p Chameleon FTP server */\r
273 #define LIST_GP6000             29              /* Fujitu GP6000 Model 900 */\r
274 #define LIST_OS2                30              /* OS/2 */\r
275 #define LIST_VMS                31              /* VAX VMS */\r
276 #define LIST_OS7_1              32              /* Toshiba OS7 */\r
277 #define LIST_OS7_2              33              /* Toshiba OS7 */\r
278 #define LIST_IRMX               34              /* IRMX */\r
279 #define LIST_ACOS_4             35              /* ACOS-4 */\r
280 #define LIST_STRATUS    36              /* Stratus */\r
281 #define LIST_ALLIED             37              /* allied telesis (DOS) */\r
282 #define LIST_OS9                38              /* OS/9 */\r
283 #define LIST_IBM                39              /* IBM host */\r
284 #define LIST_AGILENT    40              /* Agilent logic analyzer */\r
285 #define LIST_SHIBASOKU  41              /* Shibasoku LSI test system */\r
286 #define LIST_UNIX_70    42              /* UNIX 70 */\r
287 #define LIST_UNIX_71    43              /* UNIX 71 */\r
288 #define LIST_UNIX_72    44              /* UNIX 72 */\r
289 #define LIST_UNIX_73    45              /* UNIX 73 */\r
290 #define LIST_UNIX_74    46              /* UNIX 74 */\r
291 #define LIST_UNIX_75    47              /* UNIX 75 */\r
292 \r
293 #define LIST_MELCOM             0x100   /* MELCOM80 */\r
294 \r
295 #define LIST_MASKFLG    0xFF\r
296 \r
297 /* \83t\83@\83C\83\8b\88ê\97\97\8fî\95ñ\97á ---------------\r
298 \r
299 *LIST_UNIX_10\r
300         0          1   2     3      4    5    6   7         8\r
301         -------------------------------------------------------\r
302         drwxr-xr-x 15  owner group  1024 Nov  6   14:21     Linux/\r
303         -rwxrwx---  5  owner group    12 Nov  6   1996      test.txt\r
304         drwxr-xr-x 15  owner group  1024 11\8c\8e 6\93ú 14:21     Linux/\r
305         drwxr-xr-x 15  owner group  1024 11\8c\8e 6\93ú 14\8e\9e21\95ª  Linux/\r
306         -rwxrwx---  5  owner group    12 11\8c\8e 6\93ú 1996\94N    test.txt\r
307         drwxrwxr-x 6   root  sys     512  1\8c\8e 26  03:10     adm         (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
308 \r
309 *LIST_UNIX_11\r
310         0          1   2     3      4    5        6         7\r
311         -------------------------------------------------------\r
312         drwxr-xr-x 15  owner group  1024 11\8c\8e12\93ú 14\8e\9e21\95ª  Linux/\r
313         -rwxrwx---  5  owner group    12 11\8c\8e12\93ú 1996\94N    test.txt\r
314 \r
315 *LIST_UNIX_12\r
316         0              1     2      3    4    5   6         7\r
317         -------------------------------------------------------\r
318         drwxr-xr-x123  owner group  1024 Nov  6   14:21     Linux/\r
319         -rwxrwx---132  owner group    12 Nov  6   1996      test.txt\r
320         drwxr-xr-x123  owner group  1024 11\8c\8e 6\93ú 14:21     Linux/\r
321         drwxr-xr-x123  owner group  1024 11\8c\8e 6\93ú 14\8e\9e21\95ª  Linux/\r
322         -rwxrwx---132  owner group    12 11\8c\8e 6\93ú 1996\94N    test.txt\r
323 \r
324 *LIST_UNIX_13\r
325         0              1     2      3    4        5         6\r
326         -------------------------------------------------------\r
327         drwxr-xr-x123  owner group  1024 11\8c\8e12\93ú 14\8e\9e21\95ª  Linux/\r
328         -rwxrwx---132  owner group    12 11\8c\8e12\93ú 1996\94N    test.txt\r
329 \r
330 *LIST_UNIX_14\r
331         0          1   2     3      4    5    6   7         8\r
332         -------------------------------------------------------\r
333         drwxr-xr-x 15  owner group  512  2001 6\8c\8e 18        audit       (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
334 \r
335 *LIST_UNIX_15\r
336         0              1     2      3    4    5   6         7\r
337         -------------------------------------------------------\r
338         drwxr-xr-x15   owner group  512  2001 6\8c\8e 18        audit       (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
339 \r
340 \r
341 \r
342 \r
343 \r
344 *LIST_UNIX_20\r
345         0          1   2            3    4    5   6         7\r
346         -------------------------------------------------------\r
347         drwxr-xr-x 15  owner        1024 Nov  6   14:21     Linux/\r
348         -rwxrwx---  5  owner          12 Nov  6   1996      test.txt\r
349         drwxr-xr-x 15  owner        1024 11\8c\8e 6\93ú 14:21     Linux/\r
350         drwxr-xr-x 15  owner        1024 11\8c\8e 6\93ú 14\8e\9e21\95ª  Linux/\r
351         -rwxrwx---  5  owner          12 11\8c\8e 6\93ú 1996\94N    test.txt\r
352 \r
353 *LIST_UNIX_21\r
354         0          1   2            3    4        5         6\r
355         -------------------------------------------------------\r
356         drwxr-xr-x 15  owner        1024 11\8c\8e12\93ú 14\8e\9e21\95ª  Linux/\r
357         -rwxrwx---  5  owner          12 11\8c\8e12\93ú 1996\94N    test.txt\r
358 \r
359 *LIST_UNIX_22\r
360         0              1            2    3    4   5         6\r
361         -------------------------------------------------------\r
362         drwxr-xr-x123  owner        1024 Nov  6   14:21     Linux/\r
363         -rwxrwx---132  owner          12 Nov  6   1996      test.txt\r
364         drwxr-xr-x123  owner        1024 11\8c\8e 6\93ú 14:21     Linux/\r
365         drwxr-xr-x123  owner        1024 11\8c\8e 6\93ú 14\8e\9e21\95ª  Linux/\r
366         -rwxrwx---132  owner          12 11\8c\8e 6\93ú 1996\94N    test.txt\r
367 \r
368 *LIST_UNIX_23\r
369         0              1            2    3        4         5\r
370         -------------------------------------------------------\r
371         drwxr-xr-x123  owner        1024 11\8c\8e12\93ú 14\8e\9e21\95ª  Linux/\r
372         -rwxrwx---132  owner          12 11\8c\8e12\93ú 1996\94N    test.txt\r
373 \r
374 *LIST_UNIX_24\r
375         0          1   2            3    4    5   6         7\r
376         -------------------------------------------------------\r
377         drwxr-xr-x 15  owner        512  2001 6\8c\8e 18        audit       (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
378 \r
379 *LIST_UNIX_25\r
380         0              1            2    3    4   5         6\r
381         -------------------------------------------------------\r
382         drwxr-xr-x15   owner        512  2001 6\8c\8e 18        audit       (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
383 \r
384 \r
385 \r
386 \r
387 \r
388 \r
389 \r
390 *LIST_UNIX_50\r
391         0              1            2    3    4   5         6\r
392         -------------------------------------------------------\r
393         drwxr-xr-x     owner        1024 Nov  6   14:21     Linux/\r
394         -rwxrwx---     owner          12 Nov  6   1996      test.txt\r
395         drwxr-xr-x     owner        1024 11\8c\8e 6\93ú 14:21     Linux/\r
396         drwxr-xr-x     owner        1024 11\8c\8e 6\93ú 14\8e\9e21\95ª  Linux/\r
397         -rwxrwx---     owner          12 11\8c\8e 6\93ú 1996\94N    test.txt\r
398 \r
399 *LIST_UNIX_51\r
400         0              1            2    3        4         5\r
401         -------------------------------------------------------\r
402         drwxr-xr-x     owner        1024 11\8c\8e12\93ú 14\8e\9e21\95ª  Linux/\r
403         -rwxrwx---     owner          12 11\8c\8e12\93ú 1996\94N    test.txt\r
404 \r
405         0          1   2        3        4        5\r
406         -------------------------------------------------------\r
407     -rwxrwxrwx SEQ 36203776 01/07/07 12:38:28 ADRS001                         \r
408     -rwxrwxrwx SEQ 70172160 01/07/07 13:59:58 ADRS002                         \r
409 \r
410 *LIST_UNIX_54\r
411         0              1            2    3    4   5         6\r
412         -------------------------------------------------------\r
413         drwxr-xr-x     owner        512  2001 6\8c\8e 18        audit       (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
414 \r
415 \r
416 \r
417 \r
418 \r
419 \r
420 \r
421 *LIST_UNIX_60\r
422         0          1    2     3 4     5 6    7    8  9     10\r
423         -------------------------------------------------------\r
424         drwxr-xr-x 123  owner m group g 1024 Nov  6  14:21 Linux/\r
425         -rwxrwx--- 132  owner m group g   12 Nov  6  1996  test.txt\r
426 \r
427 *LIST_UNIX_61\r
428         0          1    2     3 4     5 6    7         8     9\r
429         -------------------------------------------------------\r
430         drwxr-xr-x 123  owner m group g 1024 11\8c\8e12\93ú  14:21 Linux/\r
431         -rwxrwx--- 132  owner m group g   12 11\8c\8e12\93ú  1996  test.txt\r
432 \r
433 *LIST_UNIX_62\r
434         0              1     2 3     4 5    6    7  8     9\r
435         -------------------------------------------------------\r
436         drwxr-xr-x123  owner m group g 1024 Nov  6  14:21 Linux/\r
437         -rwxrwx---132  owner m group g   12 Nov  6  1996  test.txt\r
438 \r
439 *LIST_UNIX_63\r
440         0              1     2 3     4 5    6         7     8\r
441         -------------------------------------------------------\r
442         drwxr-xr-x123  owner m group g 1024 11\8c\8e12\93ú  14:21 Linux/\r
443         -rwxrwx---132  owner m group g   12 11\8c\8e12\93ú  1996  test.txt\r
444 \r
445 *LIST_UNIX_64\r
446         0          1   2     3 4     5  6    7    8   9    10\r
447         -------------------------------------------------------\r
448         drwxr-xr-x 15  owner m group g  512  2001 6\8c\8e 18   audit        (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
449 \r
450 *LIST_UNIX_65\r
451         0              1     2 3     4  5    6    7   8    9\r
452         -------------------------------------------------------\r
453         drwxr-xr-x15   owner m group g  512  2001 6\8c\8e 18   audit        (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
454 \r
455 \r
456 \r
457 \r
458 LIST_UNIX_70\r
459         0          1    2       3     4 5    6    7  8     9\r
460         -------------------------------------------------------\r
461         drwxr-xr-x 123  owner   group g 1024 Nov  6  14:21 Linux/\r
462         -rwxrwx--- 132  owner   group g   12 Nov  6  1996  test.txt\r
463 \r
464 *LIST_UNIX_71\r
465         0          1    2       3     4 5    6         7     8\r
466         -------------------------------------------------------\r
467         drwxr-xr-x 123  owner   group g 1024 11\8c\8e12\93ú  14:21 Linux/\r
468         -rwxrwx--- 132  owner   group g   12 11\8c\8e12\93ú  1996  test.txt\r
469 \r
470 *LIST_UNIX_72\r
471         0              1       2     3 4    5    6  7     8\r
472         -------------------------------------------------------\r
473         drwxr-xr-x123  owner   group g 1024 Nov  6  14:21 Linux/\r
474         -rwxrwx---132  owner   group g   12 Nov  6  1996  test.txt\r
475 \r
476 *LIST_UNIX_73\r
477         0              1       2     3 4    5         6     7\r
478         -------------------------------------------------------\r
479         drwxr-xr-x123  owner   group g 1024 11\8c\8e12\93ú  14:21 Linux/\r
480         -rwxrwx---132  owner   group g   12 11\8c\8e12\93ú  1996  test.txt\r
481 \r
482 *LIST_UNIX_74\r
483         0          1   2       3     4  5    6    7   8    9\r
484         -------------------------------------------------------\r
485         drwxr-xr-x 15  owner   group g  512  2001 6\8c\8e 18   audit        (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
486 \r
487 *LIST_UNIX_75\r
488         0              1       2     3  4    5    6   7    8\r
489         -------------------------------------------------------\r
490         drwxr-xr-x15   owner   group g  512  2001 6\8c\8e 18   audit        (\8c\8e\82ÍGB\83R\81[\83h\82Å0xD4C2)\r
491 \r
492 \r
493 \r
494 \r
495 \r
496 \r
497 *unix\8cn\82Å\88È\89º\82Ì\82æ\82¤\82È\93ú\95t\r
498         0              1            2    3   4    5         6\r
499         -------------------------------------------------------\r
500         drwxr-xr-x123  owner        1024 11/ 6    14:21     Linux/\r
501         -rwxrwx---132  owner          12 11/13    1996      test.txt\r
502 \r
503 \r
504 \r
505 \r
506 \r
507 \r
508 \r
509 \r
510 \r
511 \r
512 \r
513 \r
514 \r
515 \r
516 \r
517 \r
518 \r
519 \r
520 *LIST_DOS_1\r
521         0         1          2       3\r
522         -------------------------------------------------------\r
523         97-10-14  03:34p     <DIR>   Linux\r
524         97-10-14  03:34p        12   test.txt\r
525         100-10-14 03:34p        12   test.txt\r
526 \r
527 *LIST_DOS_2\r
528         0         1          2       3\r
529         -------------------------------------------------------\r
530         10-14-97  03:34p     <DIR>   Linux\r
531         10-14-97  03:34p        12   test.txt\r
532         10-14-100 03:34p        12   test.txt\r
533 \r
534 *LIST_DOS_3\r
535         0             1      2         3       4\r
536         -------------------------------------------------------\r
537         Linux         <DIR>  10-14-97  03:34    \r
538         test.txt         12  10-14-97  14:34   A\r
539         test.txt         12  10-14-100 14:34   A\r
540 \r
541 *LIST_DOS_4\r
542         0          1            2        3\r
543         -------------------------------------------------------\r
544     1998/07/30 15:39:02     <DIR>    Linux\r
545     1998/07/30 15:42:19     11623    test.txt\r
546 \r
547 *LIST_ACOS\r
548         0\r
549         -------------------------------------------------------\r
550         test.txt\r
551 \81@\81@\83f\83B\83\8c\83N\83g\83\8a\82È\82µ\81A\r
552 \r
553 *LIST_AS400\r
554         0           1     2        3        4        5\r
555         -------------------------------------------------------\r
556         QSYS        18944 96/09/20 00:35:10 *DIR     QOpenSys/\r
557         QDOC        26624 70/01/01 00:00:00 *FLR     QDLS/\r
558         QSYS            0 98/09/27 10:00:04 *LIB     QSYS.LIB/\r
559         QSECOFR         0 98/05/15 16:01:15 *STMF    WWWTEST.BAK\r
560 \r
561 *LIST_M1800\r
562         0     1     2       3       4     5         6 (\83t\83@\83C\83\8b\96¼\82Ì\8cã\82ë\82É\83X\83y\81[\83X\82 \82è\81j\r
563         -------------------------------------------------------\r
564         drwx  F        400     400  PO    93.10.27  COMMON.PDL.EXCEL/       \r
565         -rw-  F      10000   10000  DA    97.03.04  DTSLOG1.FNA             \r
566         -rw-  F      10000  ******  DA    97.03.04  DTSBRB.FNA              \r
567         drwx  U     ******    6144  PO    96.12.15  IS01.TISPLOAD/          \r
568         -rw-  ****  ******  ******  VSAM  **.**.**  HICS.CMDSEQ             \r
569 \r
570 *LIST_CHAMELEON\r
571         0            1        2    3 4    5     6\r
572         -------------------------------------------------------\r
573     Linux        <DIR>    Nov  6 1997 14:21 drw-\r
574     test.txt           12 Nov  6 1886 14:21 -rwa\r
575 \r
576 *LIST_GP6000\r
577         0          1        2        3        4        5    6\r
578         -------------------------------------------------------\r
579         drwxrwxrwx 98.10.21 14:38:46 SYSG03   XSYSOPR  2048 atlib\r
580         -rwxrwxrwx 97.10.30 11:06:04 XSYSMNGR XSYSOPR  2048 blib\r
581 \r
582 *LIST_OS2\r
583            0        1          2          3      4\r
584         -------------------------------------------------------\r
585        345      A          12-02-98   10:59  VirtualDevice.java\r
586          0           DIR   12-09-98   09:43  \83f\83B\83\8c\83N\83g\83\8a\r
587          0           DIR   12-09-100  09:43  \83f\83B\83\8c\83N\83g\83\8a\r
588 \r
589 *LIST_MELCOM\r
590         0 1           2   3          4  5    6  7    8\r
591         ---------------------------------------------------------------\r
592     - RW-RW-RW-   1   TERA       50 DEC  1  1997 AAAJ          B(B)\r
593     - RW-RW-RW-   1   TERA        1 AUG  7  1998 12345678901234B(B)\r
594     d RWXRWXRWX   2   TERA       64 NOV 13  1997 Q2000         -\r
595 \r
596 *LIST_VMS\r
597         0                  1         2           3         4\r
598         ---------------------------------------------------------------\r
599         CIM_ALL.MEM;5        2/4     21-APR-1998 11:01:17  [CIM,MIZOTE]\r
600         (RWED,RWED,RE,)\r
601         MAIL.DIR;1         104/248   18-SEP-2001 16:19:39  [CIM,MIZOTE]\r
602         (RWE,RWE,,)\r
603                 \81¦VMS\82Ì\8fê\8d\87\88ê\97\97\82ª\95¡\90\94\8ds\82É\95Ê\82ê\82é\8fê\8d\87\82ª\82 \82é\r
604 \r
605 *LIST_OS7_1\r
606         0                       1        2        3\r
607         ---------------------------------------------------------------\r
608     drwxrwxrwx              99/05/13 11:38:34 APL\r
609 *LIST_OS7_2\r
610         0          1      2     3        4        5\r
611         ---------------------------------------------------------------\r
612     -rwxrwxrwx SEQ    17408 96/12/06 10:11:27 INIT_CONFIG\r
613 \r
614 *LIST_IRMX\r
615         0          1   2     3  4       5       6 7 8         9  10  11\r
616         ---------------------------------------------------------------\r
617     world      DR  DLAC  1    416   1,024   1 WORLD       05 FEB 98\r
618     world      DR        1    416   1,024   1 WORLD       05 FEB 98\r
619     name.f38       DRAU  5  4,692   1,024   1 # 0         24 MAR 99\r
620     name.f38             5  4,692   1,024   1 # 0         24 MAR 99\r
621 \r
622 *LIST_STRATUS\r
623          0      1  2         3        4         5\r
624         ---------------------------------------------------------------\r
625         Files: 15  Blocks: 29\r
626          w      1  seq       99-06-15 13:11:39  member_srv.error\r
627         Dirs: 74\r
628          m      3  98-12-25 16:14:58  amano\r
629 \r
630 *LIST_ALLIED\r
631          0             1        2   3   4  5        6\r
632         ---------------------------------------------------------------\r
633              41622     IO.SYS   Tue Dec 20 06:20:00 1994\r
634         <dir>             DOS   Wed Nov 24 09:35:48 1999\r
635 \r
636 *LIST_OS9\r
637          0       1        2     3            4      5      6\r
638         ---------------------------------------------------------------\r
639      0.0     01/02/13 0945  d-----wr     3C0    148724 W_017\r
640      0.0     01/02/13 0945  ------wr     C20     48828 W_017.CLG\r
641 \r
642 *LIST_IBM\r
643          0      1      2           3  4    5      6   7      8   9\r
644         ---------------------------------------------------------------\r
645      JXSIB1 3390   2000/12/27  1  810  FB     240 24000  PO  DIRNAME\r
646      JXSW01 3390   2000/12/27  1    5  VBA    240  3120  PS  FILENAME\r
647 \r
648 *LIST_AGILENT\r
649          0             1    2    3      4     5\r
650         ---------------------------------------------------------------\r
651      drwxrwxrwx    1    1    1      1024  system\r
652      -rw-rw-rw-    1    1    1      1792  abc.aaa\r
653 \r
654 *LIST_SHIBASOKU\r
655          0        1            2          3                 4\r
656         ---------------------------------------------------------------\r
657        512    Jan-30-2002  14:52:04   DIRNAME           <DIR>\r
658      61191    Aug-30-2002  17:30:38   FILENAME.C        \r
659 \r
660 \r
661 ------------------------------------*/\r
662 \r
663 /*===== \90Ú\91±\83E\83C\83\93\83h\83E\82Ì\8c`\8e® =====*/\r
664 \r
665 #define DLG_TYPE_CON    0               /* \8aÈ\88Õ\81i\83z\83X\83g\95Ò\8fW\82È\82µ\81j */\r
666 #define DLG_TYPE_SET    1               /* \83z\83X\83g\95Ò\8fW\82 \82è */\r
667 \r
668 /*===== \83t\83@\83C\83\8b\88ê\97\97\8eæ\93¾\83\82\81[\83h =====*/\r
669 \r
670 #define CACHE_NORMAL    0               /* \92Ê\8fí\81i\83L\83\83\83b\83V\83\85\82É\82 \82ê\82Î\8eg\97p\81A\82È\82¯\82ê\82Î\93Ç\82Ý\8d\9e\82Ý\81j */\r
671 #define CACHE_REFRESH   1               /* \8fí\82É\93Ç\82Ý\8d\9e\82Ý */\r
672 #define CACHE_LASTREAD  2               /* \8dÅ\8cã\82É\93Ç\82Ý\8d\9e\82ñ\82¾\82à\82Ì\82ð\8eg\97p */\r
673 \r
674 /*===== \8a¿\8e\9a\83R\81[\83h\95Ï\8a· =====*/\r
675 \r
676 #define KANJI_SJIS              0               /* SJIS */\r
677 #define KANJI_JIS               1               /* JIS */\r
678 #define KANJI_EUC               2               /* EUC */\r
679 #define KANJI_SMB_HEX   3               /* Samba-HEX */\r
680 #define KANJI_SMB_CAP   4               /* Samba-CAP */\r
681 #define KANJI_UTF8N             5               /* UTF-8N */\r
682 \r
683 #define KANJI_NOCNV             -1              /* \8a¿\8e\9a\83R\81[\83h\95Ï\8a·\82È\82µ */\r
684 \r
685 #define KANJI_AUTO              -1\r
686 \r
687 /*===== \83T\83E\83\93\83h =====*/\r
688 \r
689 #define SND_CONNECT             0               /* \90Ú\91±\8e\9e\82Ì\83T\83E\83\93\83h */\r
690 #define SND_TRANS               1               /* \93]\91\97\8fI\97¹\8e\9e\82Ì\83T\83E\83\93\83h */\r
691 #define SND_ERROR               2               /* \83G\83\89\81[\8e\9e\82Ì\83T\83E\83\93\83h */\r
692 \r
693 #define SOUND_TYPES             3               /* \83T\83E\83\93\83h\82Ì\8eí\97Þ */\r
694 \r
695 /*===== \83r\83\85\81[\83\8f =====*/\r
696 \r
697 #define VIEWERS                 3               /* \83r\83\85\81[\83\8f\82Ì\90\94 */\r
698 \r
699 /*===== \83u\83b\83N\83}\81[\83N =====*/\r
700 \r
701 #define BMARK_SUB_MENU          2               /* \83u\83b\83N\83}\81[\83N\83\81\83j\83\85\81[\82Ì\83T\83u\83\81\83j\83\85\81[\94Ô\8d\86 */\r
702 #define DEFAULT_BMARK_ITEM      5               /* \83u\83b\83N\83}\81[\83N\83\81\83j\83\85\81[\82É\82 \82é\8cÅ\92è\95\94\95ª\82Ì\90\94 */\r
703 #define MENU_BMARK_TOP          30000   /* 3000\88È\8d~(3100\82­\82ç\82¢\82Ü\82Å)\82Í\97\\96ñ\82·\82é */\r
704                                                                         /* resource.h \82Ì\92è\8b`\82Æ\8fd\82È\82ç\82È\82¢\82æ\82¤\82É */\r
705 \r
706 #define BMARK_TYPE_NONE         0               /* \83u\83b\83N\83}\81[\83N\96³\82µ */\r
707 #define BMARK_TYPE_LOCAL        1               /* \83\8d\81[\83J\83\8b\91¤\82Ì\83u\83b\83N\83}\81[\83N */\r
708 #define BMARK_TYPE_REMOTE       2               /* \83z\83X\83g\91¤\82Ì\83u\83b\83N\83}\81[\83N */\r
709 #define BMARK_TYPE_BOTH         3               /* \97¼\95û\82Ì\83u\83b\83N\83}\81[\83N */\r
710 \r
711 #define BMARK_MARK_LOCAL        "L "    /* \83\8d\81[\83J\83\8b\91¤\82Ì\88ó */\r
712 #define BMARK_MARK_REMOTE       "H "    /* \83z\83X\83g\91¤\82Ì\88ó */\r
713 #define BMARK_MARK_BOTH         "W "    /* \97¼\95û\82Ì\88ó */\r
714 #define BMARK_MARK_LEN          2               /* \88ó\82Ì\95\8e\9a\90\94 */\r
715 \r
716 #define BMARK_SEP                       " <> "  /* \83\8d\81[\83J\83\8b\91¤\82Æ\83z\83X\83g\91¤\82Ì\8bæ\90Ø\82è */\r
717 #define BMARK_SEP_LEN           4               /* \8bæ\90Ø\82è\82Ì\95\8e\9a\90\94 */\r
718 \r
719 /*===== \83\8c\83W\83X\83g\83\8a\82Ì\83^\83C\83v =====*/\r
720 \r
721 #define REGTYPE_REG             0               /* \83\8c\83W\83X\83g\83\8a */\r
722 #define REGTYPE_INI             1               /* INI\83t\83@\83C\83\8b */\r
723 \r
724 #define REG_SECT_MAX    (16*1024)       /* \83\8c\83W\83X\83g\83\8a\82Ì\82P\83Z\83N\83V\83\87\83\93\82Ì\8dÅ\91å\83f\81[\83^\83T\83C\83Y */\r
725 \r
726 /*===== \83z\83X\83g\90Ý\92è\82Å\96¾\8e¦\93I\82É\8ew\92è\82·\82é\83z\83X\83g\82Ì\83^\83C\83v =====*/\r
727 \r
728 #define HTYPE_AUTO              0               /* \8e©\93® */\r
729 #define HTYPE_ACOS              1               /* ACOS (\91Ò\8b@\8c\8b\8d\87\83t\83@\83C\83\8b\82Ì\8ew\92è\82ª\95K\97v) */\r
730 #define HTYPE_VMS               2               /* VAX VMS */\r
731 #define HTYPE_IRMX              3               /* IRMX */\r
732 #define HTYPE_ACOS_4    4               /* ACOS \83t\83@\83C\83\8b\96¼\82ð('')\82Å\8a\87\82ç\82È\82¢ */\r
733 #define HTYPE_STRATUS   5               /* Stratus */\r
734 #define HTYPE_AGILENT   6               /* Agilent Logic analyzer */\r
735 #define HTYPE_SHIBASOKU 7               /* Shibasoku LSI test system */\r
736 \r
737 /*===== \83R\83}\83\93\83h\83\89\83C\83\93\83I\83v\83V\83\87\83\93 =====*/\r
738 \r
739 #define OPT_MIRROR              0x0001  /* \83~\83\89\81[\83\8a\83\93\83O\83A\83b\83v\83\8d\81[\83h\82ð\8ds\82¤ */\r
740 #define OPT_FORCE               0x0002  /* \83~\83\89\81[\83\8a\83\93\83O\8aJ\8en\82Ì\8am\94F\82ð\82µ\82È\82¢ */\r
741 #define OPT_QUIT                0x0004  /* \8fI\97¹\8cã\83v\83\8d\83O\83\89\83\80\8fI\97¹ */\r
742 #define OPT_EUC                 0x0008  /* \8a¿\8e\9a\83R\81[\83h\82ÍEUC */\r
743 #define OPT_JIS                 0x0010  /* \8a¿\8e\9a\83R\81[\83h\82ÍJIS */\r
744 #define OPT_ASCII               0x0020  /* \83A\83X\83L\81[\93]\91\97\83\82\81[\83h */\r
745 #define OPT_BINARY              0x0040  /* \83o\83C\83i\83\8a\93]\91\97\83\82\81[\83h */\r
746 #define OPT_AUTO                0x0080  /* \8e©\93®\94»\95Ê */\r
747 #define OPT_KANA                0x0100  /* \94¼\8ap\82©\82È\82ð\82»\82Ì\82Ü\82Ü\92Ê\82· */\r
748 #define OPT_EUC_NAME    0x0200  /* \83t\83@\83C\83\8b\96¼\82ÍEUC */\r
749 #define OPT_JIS_NAME    0x0400  /* \83t\83@\83C\83\8b\96¼\82ÍJIS */\r
750 #define OPT_MIRRORDOWN  0x0800  /* \83~\83\89\81[\83\8a\83\93\83O\83_\83E\83\93\83\8d\81[\83h\82ð\8ds\82¤ */\r
751 #define OPT_SAVEOFF             0x1000  /* \90Ý\92è\82Ì\95Û\91\82ð\92\86\8e~\82·\82é */\r
752 #define OPT_SAVEON              0x2000  /* \90Ý\92è\82Ì\95Û\91\82ð\8dÄ\8aJ\82·\82é */\r
753 \r
754 /*===== \83z\83X\83g\82Ì\83q\83X\83g\83\8a =====*/\r
755 \r
756 #define HISTORY_MAX             20              /* \83t\83@\83C\83\8b\82Ì\83q\83X\83g\83\8a\82Ì\8dÅ\91å\8cÂ\90\94 */\r
757 #define DEF_FMENU_ITEMS 8               /* File\83\81\83j\83\85\81[\82É\82 \82é\8d\80\96Ú\90\94\82Ì\8f\89\8aú\92l */\r
758 \r
759 /*===== SOCKS4 =====*/\r
760 \r
761 #define SOCKS4_VER                      4       /* SOCKS\82Ì\83o\81[\83W\83\87\83\93 */\r
762 \r
763 #define SOCKS4_CMD_CONNECT      1       /* CONNECT\83R\83}\83\93\83h */\r
764 #define SOCKS4_CMD_BIND         2       /* BIND\83R\83}\83\93\83h */\r
765 \r
766 /* \83\8a\83U\83\8b\83g\83R\81[\83h */\r
767 #define SOCKS4_RES_OK           90      /* \97v\8b\81\82Í\8b\96\89Â\82³\82ê\82½ */\r
768         /* \82»\82Ì\91¼\82Ì\83R\81[\83h\82Í\83`\83F\83b\83N\82µ\82È\82¢\82Ì\82Å\92è\8b`\82µ\82È\82¢ */\r
769 \r
770 /*===== SOCKS5 =====*/\r
771 \r
772 #define SOCKS5_VER                      5       /* SOCKS\82Ì\83o\81[\83W\83\87\83\93 */\r
773 \r
774 #define SOCKS5_CMD_CONNECT      1       /* CONNECT\83R\83}\83\93\83h */\r
775 #define SOCKS5_CMD_BIND         2       /* BIND\83R\83}\83\93\83h */\r
776 \r
777 #define SOCKS5_AUTH_NONE        0       /* \94F\8fØ\96³\82µ */\r
778 #define SOCKS5_AUTH_GSSAPI      1       /* GSS-API */\r
779 #define SOCKS5_AUTH_USER        2       /* Username/Password */\r
780 \r
781 #define SOCKS5_ADRS_IPV4        1       /* IP V4 address */\r
782 #define SOCKS5_ADRS_NAME        3       /* Domain name */\r
783 #define SOCKS5_ADRS_IPV6        4       /* IP V6 address */\r
784 \r
785 #define SOCKS5_USERAUTH_VER     1       /* Username\Password\94F\8fØ\82Ì\83o\81[\83W\83\87\83\93 */\r
786 \r
787 /* \83\8a\83U\83\8b\83g\83R\81[\83h */\r
788 #define SOCKS5_RES_OK           0x00    /* succeeded */\r
789         /* \82»\82Ì\91¼\82Ì\83R\81[\83h\82Í\83`\83F\83b\83N\82µ\82È\82¢\82Ì\82Å\92è\8b`\82µ\82È\82¢ */\r
790 \r
791 /*===== \92\86\92f\83R\81[\83h =====*/\r
792 \r
793 #define ABORT_NONE                      0               /* \93]\91\97\92\86\92f\82È\82µ */\r
794 #define ABORT_USER                      1               /* \83\86\81[\83U\82É\82æ\82é\92\86\92f */\r
795 #define ABORT_ERROR                     2               /* \83G\83\89\81[\82É\82æ\82é\92\86\92f */\r
796 #define ABORT_DISKFULL          3               /* \83f\83B\83X\83N\83t\83\8b\82æ\82é\92\86\92f */\r
797 \r
798 /*===== FireWall\82Ì\8eí\97Þ =====*/\r
799 \r
800 #define FWALL_NONE                      0               /* \82È\82µ */\r
801 #define FWALL_FU_FP_SITE        1               /* FW user \81¨ FW pass \81¨ SITE host */\r
802 #define FWALL_FU_FP_USER        2               /* FW user \81¨ FW pass \81¨ USER user@host */\r
803 #define FWALL_USER                      3               /* USER user@host */\r
804 #define FWALL_OPEN                      4               /* OPEN host */\r
805 #define FWALL_SOCKS4            5               /* SOCKS4 */\r
806 #define FWALL_SOCKS5_NOAUTH     6               /* SOCKS5 (\94F\8fØ\82È\82µ) */\r
807 #define FWALL_SOCKS5_USER       7               /* SOCKS5 (Username/Password\94F\8fØ) */\r
808 #define FWALL_FU_FP                     8               /* FW user \81¨ FW pass */\r
809 #define FWALL_SIDEWINDER        9               /* USER FWuser:FWpass@host */\r
810 \r
811 /*===== \83\8f\83\93\83^\83C\83\80\83p\83X\83\8f\81[\83h =====*/\r
812 \r
813 /* \83R\81[\83h\82Ì\8eí\97Þ */\r
814 #define SECURITY_DISABLE        0               /* \8eg\97p\82µ\82È\82¢ */\r
815 #define SECURITY_AUTO           1               /* \8e©\93®\94F\8e¯ */\r
816 #define MD4                                     2               /* MD4 */\r
817 #define MD5                                     3               /* MD5 */\r
818 #define SHA1                            4               /* SHA-1 */\r
819 \r
820 #define MAX_SEED_LEN            16              /* Seed\82Ì\95\8e\9a\90\94 */\r
821 \r
822 /*===== \8dÄ\8bA\93I\82È\83t\83@\83C\83\8b\8c\9f\8dõ\82Ì\95û\96@ =====*/\r
823 \r
824 #define RDIR_NONE               0               /* \8dÄ\8bA\8c\9f\8dõ\82È\82µ */\r
825 #define RDIR_NLST               1               /* NLST -R */\r
826 #define RDIR_CWD                2               /* CWD\82Å\88Ú\93® */\r
827 \r
828 /*===== VAX VMS \8aÖ\8cW =====*/\r
829 \r
830 #define BLOCK_SIZE              512             /* 1\83u\83\8d\83b\83N\82Ì\83o\83C\83g\90\94 */\r
831 \r
832 /*===== \90Ý\92è\82Ì\83\8c\83x\83\8b =====*/\r
833 \r
834 #define SET_LEVEL_GROUP         0x8000          /* \83O\83\8b\81[\83v\82Ì\83t\83\89\83O */\r
835 #define SET_LEVEL_MASK          0x7FFF\r
836 #define SET_LEVEL_SAME          0x7FFF\r
837 \r
838 /*===== \93ú\95t\81A\90\94\92l\82Ì\95\\8e¦\8c`\8e® =====*/\r
839 \r
840 #define DISPFORM_LEGACY         0               /* \8cÅ\92è\8f\91\8e® */\r
841 #define DISPFORM_LOCALE         1               /* \83R\83\93\83g\83\8d\81[\83\8b\83p\83l\83\8b\82É\8f]\82¤ */\r
842 \r
843 /*===== \83t\83@\83C\83\8b\88ê\97\97\82É\91\8dÝ\82µ\82½\8fî\95ñ =====*/\r
844 \r
845 #define FINFO_DATE                      0x01    /* \93ú\95t */\r
846 #define FINFO_TIME                      0x02    /* \8e\9e\8aÔ */\r
847 #define FINFO_SIZE                      0x04    /* \83T\83C\83Y */\r
848 #define FINFO_ATTR                      0x08    /* \91®\90« */\r
849 #define FINFO_ALL                       0xFF    /* \91S\82Ä */\r
850 \r
851 /*===== GetMasterPasswordStatus\82Å\8eg\82¤\83R\81[\83h =====*/\r
852 #define PASSWORD_OK 0\r
853 #define PASSWORD_UNMATCH 2\r
854 #define BAD_PASSWORD_HASH 3\r
855 \r
856 /*===== \88Ã\8d\86\89»\83p\83X\83\8f\81[\83h\90Ý\92è =====*/\r
857 #define DEFAULT_PASSWORD        "DefaultPassword"\r
858 #define MAX_PASSWORD_LEN        128\r
859 \r
860 // \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
861 #define CRYPT_NONE                      0\r
862 #define CRYPT_FTPES                     1\r
863 #define CRYPT_FTPIS                     2\r
864 #define CRYPT_SFTP                      3\r
865 \r
866 \r
867 /*=================================================\r
868 *               \83X\83g\83\89\83N\83`\83\83\r
869 *=================================================*/\r
870 \r
871 /*===== \83z\83X\83g\90Ý\92è\83f\81[\83^ =====*/\r
872 \r
873 typedef struct {\r
874         int Level;                                                      /* \90Ý\92è\82Ì\83\8c\83x\83\8b */\r
875                                                                                 /* \92Ê\8fí\82Í\83O\83\8b\81[\83v\82Ì\83t\83\89\83O\82Ì\82Ý\82ª\97L\8cø */\r
876                                                                                 /* \83\8c\83x\83\8b\90\94\82Í\90Ý\92è\82Ì\93o\98^\81^\8cÄ\8fo\8e\9e\82Ì\82Ý\82Å\8eg\97p */\r
877         char HostName[HOST_NAME_LEN+1];         /* \90Ý\92è\96¼ */\r
878         char HostAdrs[HOST_ADRS_LEN+1];         /* \83z\83X\83g\96¼ */\r
879         char UserName[USER_NAME_LEN+1];         /* \83\86\81[\83U\96¼ */\r
880         char PassWord[PASSWORD_LEN+1];          /* \83p\83X\83\8f\81[\83h */\r
881         char Account[ACCOUNT_LEN+1];            /* \83A\83J\83E\83\93\83g */\r
882         char LocalInitDir[INIT_DIR_LEN+1];      /* \83\8d\81[\83J\83\8b\82Ì\8aJ\8en\83f\83B\83\8c\83N\83g\83\8a */\r
883         char RemoteInitDir[INIT_DIR_LEN+1];     /* \83z\83X\83g\82Ì\8aJ\8en\83f\83B\83\8c\83N\83g\83\8a */\r
884         char BookMark[BOOKMARK_SIZE];           /* \83u\83b\83N\83}\81[\83N */\r
885         char ChmodCmd[CHMOD_CMD_LEN+1];         /* \91®\90«\95Ï\8dX\83R\83}\83\93\83h */\r
886         char LsName[NLST_NAME_LEN+1];           /* NLST\82É\95t\82¯\82é\83t\83@\83C\83\8b\96¼/\83I\83v\83V\83\87\83\93*/\r
887         char InitCmd[INITCMD_LEN+1];            /* \83z\83X\83g\82Ì\8f\89\8aú\89»\83R\83}\83\93\83h */\r
888         int Port;                                                       /* \83|\81[\83g\94Ô\8d\86 */\r
889         int Anonymous;                                          /* Anonymous\83t\83\89\83O */\r
890         int KanjiCode;                                          /* \83z\83X\83g\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
891         int KanaCnv;                                            /* \94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
892         int NameKanjiCode;                                      /* \83t\83@\83C\83\8b\96¼\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
893         int NameKanaCnv;                                        /* \83t\83@\83C\83\8b\96¼\82Ì\94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
894         int Pasv;                                                       /* PASV\83\82\81[\83h (YES/NO) */\r
895         int FireWall;                                           /* FireWall\82ð\8eg\82¤ (YES/NO) */\r
896         int ListCmdOnly;                                        /* "LIST"\83R\83}\83\93\83h\82Ì\82Ý\8eg\97p\82·\82é */\r
897         int UseNLST_R;                                          /* "NLST -R"\83R\83}\83\93\83h\82ð\8eg\97p\82·\82é */\r
898         int LastDir;                                            /* \8dÅ\8cã\82É\83A\83N\83Z\83X\82µ\82½\83t\83H\83\8b\83_\82ð\95Û\91¶ */\r
899         int TimeZone;                                           /* \83^\83C\83\80\83]\81[\83\93 (-12\81`12) */\r
900         int HostType;                                           /* \83z\83X\83g\82Ì\83^\83C\83v (HTYPE_xxx) */\r
901         int SyncMove;                                           /* \83t\83H\83\8b\83_\93¯\8e\9e\88Ú\93® (YES/NO) */\r
902         int NoFullPath;                                         /* \83t\83\8b\83p\83X\82Å\83t\83@\83C\83\8b\83A\83N\83Z\83X\82µ\82È\82¢ (YES/NO) */\r
903         ulong Sort;                                                     /* \83\\81[\83g\95û\96@ (0x11223344 : 11=LFsort 22=LDsort 33=RFsort 44=RFsort) */\r
904         int Security;                                           /* \83Z\83L\83\85\83\8a\83e\83B (SECURITY_xxx , MDx) */\r
905         int Dialup;                                                     /* \83_\83C\83A\83\8b\83A\83b\83v\90Ú\91±\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
906         int DialupAlways;                                       /* \8fí\82É\82±\82Ì\83G\83\93\83g\83\8a\82Ö\90Ú\91±\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
907         int DialupNotify;                                       /* \8dÄ\90Ú\91±\82Ì\8dÛ\82É\8am\94F\82·\82é (YES/NO) */\r
908         char DialEntry[RAS_NAME_LEN+1];         /* \83_\83C\83A\83\8b\83A\83b\83v\83G\83\93\83g\83\8a */\r
909         // \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
910         int CryptMode;                                          /* \88Ã\8d\86\89»\92Ê\90M\83\82\81[\83h (CRYPT_xxx) */\r
911         int UseFTPES;                                           /* FTPES\82Å\90Ú\91±\82·\82é (YES/NO) */\r
912         int UseFTPIS;                                           /* FTPIS\82Å\90Ú\91±\82·\82é (YES/NO) */\r
913         int UseSFTP;                                            /* SFTP\82Å\90Ú\91±\82·\82é (YES/NO) */\r
914 } HOSTDATA;\r
915 \r
916 \r
917 /*===== \83z\83X\83g\90Ý\92è\83\8a\83X\83g =====*/\r
918 \r
919 typedef struct hostlistdata {\r
920         HOSTDATA Set;                                   /* \83z\83X\83g\90Ý\92è\83f\81[\83^ */\r
921         struct hostlistdata *Next;\r
922         struct hostlistdata *Prev;\r
923         struct hostlistdata *Child;\r
924         struct hostlistdata *Parent;\r
925 } HOSTLISTDATA;\r
926 \r
927 \r
928 /*===== \90Ú\91±\83q\83X\83g\83\8a\83\8a\83X\83g =====*/\r
929 \r
930 typedef struct historydata {\r
931         char HostAdrs[HOST_ADRS_LEN+1];         /* \83z\83X\83g\96¼ */\r
932         char UserName[USER_NAME_LEN+1];         /* \83\86\81[\83U\96¼ */\r
933         char PassWord[PASSWORD_LEN+1];          /* \83p\83X\83\8f\81[\83h */\r
934         char Account[ACCOUNT_LEN+1];            /* \83A\83J\83E\83\93\83g */\r
935         char LocalInitDir[INIT_DIR_LEN+1];      /* \83f\83B\83\8c\83N\83g\83\8a */\r
936         char RemoteInitDir[INIT_DIR_LEN+1];     /* \83f\83B\83\8c\83N\83g\83\8a */\r
937         char ChmodCmd[CHMOD_CMD_LEN+1];         /* \91®\90«\95Ï\8dX\83R\83}\83\93\83h */\r
938         char LsName[NLST_NAME_LEN+1];           /* NLST\82É\95t\82¯\82é\83t\83@\83C\83\8b\96¼/\83I\83v\83V\83\87\83\93*/\r
939         char InitCmd[INITCMD_LEN+1];            /* \83z\83X\83g\82Ì\8f\89\8aú\89»\83R\83}\83\93\83h */\r
940         int Port;                                                       /* \83|\81[\83g\94Ô\8d\86 */\r
941         int KanjiCode;                                          /* \83z\83X\83g\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
942         int KanaCnv;                                            /* \94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
943         int NameKanjiCode;                                      /* \83t\83@\83C\83\8b\96¼\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
944         int NameKanaCnv;                                        /* \83t\83@\83C\83\8b\96¼\82Ì\94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
945         int Pasv;                                                       /* PASV\83\82\81[\83h (YES/NO) */\r
946         int FireWall;                                           /* FireWall\82ð\8eg\82¤ (YES/NO) */\r
947         int ListCmdOnly;                                        /* "LIST"\83R\83}\83\93\83h\82Ì\82Ý\8eg\97p\82·\82é */\r
948         int UseNLST_R;                                          /* "NLST -R"\83R\83}\83\93\83h\82ð\8eg\97p\82·\82é */\r
949         int TimeZone;                                           /* \83^\83C\83\80\83]\81[\83\93 (-12\81`12) */\r
950         int HostType;                                           /* \83z\83X\83g\82Ì\83^\83C\83v (HTYPE_xxx) */\r
951         int SyncMove;                                           /* \83t\83H\83\8b\83_\93¯\8e\9e\88Ú\93® (YES/NO) */\r
952         int NoFullPath;                                         /* \83t\83\8b\83p\83X\82Å\83t\83@\83C\83\8b\83A\83N\83Z\83X\82µ\82È\82¢ (YES/NO) */\r
953         ulong Sort;                                                     /* \83\\81[\83g\95û\96@ (0x11223344 : 11=LFsort 22=LDsort 33=RFsort 44=RFsort) */\r
954         int Security;                                           /* \83Z\83L\83\85\83\8a\83e\83B (OTP_xxx , MDx) */\r
955         int Type;                                                       /* \93]\91\97\95û\96@ (TYPE_xx) */\r
956         int Dialup;                                                     /* \83_\83C\83A\83\8b\83A\83b\83v\90Ú\91±\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
957         int DialupAlways;                                       /* \8fí\82É\82±\82Ì\83G\83\93\83g\83\8a\82Ö\90Ú\91±\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
958         int DialupNotify;                                       /* \8dÄ\90Ú\91±\82Ì\8dÛ\82É\8am\94F\82·\82é (YES/NO) */\r
959         char DialEntry[RAS_NAME_LEN+1];         /* \83_\83C\83A\83\8b\83A\83b\83v\83G\83\93\83g\83\8a */\r
960         // \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
961         int UseFTPES;                                           /* FTPES\82Å\90Ú\91±\82·\82é (YES/NO) */\r
962         int UseFTPIS;                                           /* FTPIS\82Å\90Ú\91±\82·\82é (YES/NO) */\r
963         int UseSFTP;                                            /* SFTP\82Å\90Ú\91±\82·\82é (YES/NO) */\r
964         struct historydata *Next;\r
965 } HISTORYDATA;\r
966 \r
967 \r
968 /*===== \93]\91\97\83t\83@\83C\83\8b\83\8a\83X\83g =====*/\r
969 \r
970 typedef struct transpacket {\r
971         SOCKET ctrl_skt;                                /* Socket */\r
972         char Cmd[40];                                   /* STOR/RETR/MKD */\r
973         char RemoteFile[FMAX_PATH+1];   /* \83z\83X\83g\91¤\82Ì\83t\83@\83C\83\8b\96¼\81i\83t\83\8b\83p\83X\81j */\r
974                                                                         /* VMS\82Ì\8e\9e\82Í ddd[xxx.yyy]/yyy/zzz \82Ì\82æ\82¤\82É */\r
975                                                                         /* \82È\82Á\82Ä\82é\82Ì\82Å\92\8d\88Ó */\r
976         char LocalFile[FMAX_PATH+1];    /* \83\8d\81[\83J\83\8b\91¤\82Ì\83t\83@\83C\83\8b\96¼\81i\83t\83\8b\83p\83X\81j */\r
977         int Type;                                               /* \93]\91\97\95û\96@ (TYPE_xx) */\r
978         LONGLONG Size;                                  /* \83t\83@\83C\83\8b\82Ì\83T\83C\83Y */\r
979         LONGLONG ExistSize;                             /* \82·\82Å\82É\91\8dÝ\82·\82é\83t\83@\83C\83\8b\82Ì\83T\83C\83Y */\r
980                                                                         /* \93]\91\97\92\86\82Í\81A\93]\91\97\82µ\82½\83t\83@\83C\83\8b\82Ì\83T\83C\83Y\82ð\8ai\94[\82·\82é */\r
981         FILETIME Time;                                  /* \83t\83@\83C\83\8b\82Ì\8e\9e\8aÔ(UTC) */\r
982         int Attr;                                               /* \83t\83@\83C\83\8b\82Ì\91®\90« */\r
983         int KanjiCode;                                  /* \8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
984         // UTF-8\91Î\89\9e\r
985         int KanjiCodeDesired;                   /* \83\8d\81[\83J\83\8b\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
986         int KanaCnv;                                    /* \94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
987         int Mode;                                               /* \93]\91\97\83\82\81[\83h (EXIST_xxx) */\r
988         HWND hWndTrans;                                 /* \93]\91\97\92\86\83_\83C\83A\83\8d\83O\82Ì\83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b */\r
989         int Abort;                                              /* \93]\91\97\92\86\8e~\83t\83\89\83O (ABORT_xxx) */\r
990         // \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
991         int CryptMode;                                  /* \88Ã\8d\86\89»\92Ê\90M\83\82\81[\83h (CRYPT_xxx) */\r
992         struct transpacket *Next;\r
993 } TRANSPACKET;\r
994 \r
995 \r
996 /*===== \83t\83@\83C\83\8b\83\8a\83X\83g =====*/\r
997 \r
998 typedef struct filelist {\r
999         char File[FMAX_PATH+1];                 /* \83t\83@\83C\83\8b\96¼ */\r
1000         char Node;                                              /* \8eí\97Þ (NODE_xxx) */\r
1001         char Link;                                              /* \83\8a\83\93\83N\83t\83@\83C\83\8b\82©\82Ç\82¤\82© (YES/NO) */\r
1002         LONGLONG Size;                                  /* \83t\83@\83C\83\8b\83T\83C\83Y */\r
1003         int Attr;                                               /* \91®\90« */\r
1004         FILETIME Time;                                  /* \8e\9e\8aÔ(UTC) */\r
1005         char Owner[OWNER_NAME_LEN+1];   /* \83I\81[\83i\96¼ */\r
1006         char InfoExist;                                 /* \83t\83@\83C\83\8b\88ê\97\97\82É\91\8dÝ\82µ\82½\8fî\95ñ\82Ì\83t\83\89\83O (FINFO_xxx) */\r
1007         struct filelist *Next;\r
1008 } FILELIST;\r
1009 \r
1010 \r
1011 /*===== \83R\81[\83h\95Ï\8a·\8fî\95ñ\83p\83P\83b\83g =====*/\r
1012 \r
1013 typedef char * (*funcptr)(struct codeconvinfo *, char , char *);\r
1014 \r
1015 typedef struct codeconvinfo {\r
1016         char *Str;                      /* \95\8e\9a\97ñ */\r
1017         int StrLen;                     /* \95\8e\9a\97ñ\82Ì\92·\82³ */\r
1018         int KanaCnv;            /* \94¼\8ap\83J\83^\83J\83i\82ð\91S\8ap\82É\95Ï\8a·\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
1019         char *Buf;                      /* \95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ\82ð\8ai\94[\82·\82é\83o\83b\83t\83@ */\r
1020         int BufSize;            /* \95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ\82ð\8ai\94[\82·\82é\83o\83b\83t\83@\82Ì\83T\83C\83Y */\r
1021         int OutLen;                     /* \95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ\82Ì\83T\83C\83Y */\r
1022         int KanjiMode;          /* \8a¿\8e\9a\83\82\81[\83h\83t\83\89\83O(YES/NO) (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
1023         int EscProc;            /* \83G\83X\83P\81[\83v\83V\81[\83P\83\93\83X\95\8e\9a\90\94 (0\81`) (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
1024         char EscCode[2];        /* \83G\83X\83P\81[\83v\83V\81[\83P\83\93\83X\95\8e\9a\95Û\91\97p (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
1025         char KanjiFst;          /* \8a¿\8e\9a\83R\81[\83h\82P\83o\83C\83g\96Ú\95Û\91\97p (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
1026         char KanaPrev;          /* \94¼\8ap\83J\83^\83J\83i\95Û\91\97p (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
1027         funcptr KanaProc;       /* \94¼\8ap\83J\83^\83J\83i\8f\88\97\9d\83\8b\81[\83`\83\93 (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
1028         char EscUTF8[8];\r
1029         int EscUTF8Len;\r
1030 } CODECONVINFO;\r
1031 \r
1032 \r
1033 /*===== \89ü\8ds\83R\81[\83h\95Ï\8a·\8fî\95ñ\83p\83P\83b\83g =====*/\r
1034 \r
1035 typedef struct termcodeconvinfo {\r
1036         char *Str;                      /* \95\8e\9a\97ñ */\r
1037         int StrLen;                     /* \95\8e\9a\97ñ\82Ì\92·\82³ */\r
1038         char *Buf;                      /* \95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ\82ð\8ai\94[\82·\82é\83o\83b\83t\83@ */\r
1039         int BufSize;            /* \95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ\82ð\8ai\94[\82·\82é\83o\83b\83t\83@\82Ì\83T\83C\83Y */\r
1040         int OutLen;                     /* \95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ\82Ì\83T\83C\83Y */\r
1041         char Term;                      /* \89ü\8ds\83R\81[\83h\82P\83o\83C\83g\96Ú\95Û\91\97p (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
1042 } TERMCODECONVINFO;\r
1043 \r
1044 \r
1045 /*===== \83e\83\93\83|\83\89\83\8a\83t\83@\83C\83\8b\83\8a\83X\83g =====*/\r
1046 \r
1047 typedef struct tempfilelist {\r
1048         char *Fname;                            /* \83t\83@\83C\83\8b\96¼ */\r
1049         struct tempfilelist *Next;\r
1050 } TEMPFILELIST;\r
1051 \r
1052 \r
1053 /*===== \83T\83E\83\93\83h\83t\83@\83C\83\8b =====*/\r
1054 \r
1055 typedef struct {\r
1056         int On;                                         /* ON/OFF\83X\83C\83b\83` */\r
1057         char Fname[FMAX_PATH+1];                /* \83t\83@\83C\83\8b\96¼ */\r
1058 } SOUNDFILE;\r
1059 \r
1060 \r
1061 /*===== \83\89\83W\83I\83{\83^\83\93\82Ì\90Ý\92è =====*/\r
1062 \r
1063 typedef struct {\r
1064         int ButID;                      /* \83{\83^\83\93\82ÌID */\r
1065         int Value;                      /* \92l */\r
1066 } RADIOBUTTON;\r
1067 \r
1068 \r
1069 /*===== SOCKS4 =====*/\r
1070 \r
1071 /* \83R\83}\83\93\83h\83p\83P\83b\83g */\r
1072 typedef struct {\r
1073         char Ver;                                               /* \83o\81[\83W\83\87\83\93 (SOCKS4_VER) */\r
1074         char Cmd;                                               /* \83R\83}\83\93\83h (SOCKS4_CMD_xxx) */\r
1075         ushort Port;                                    /* \83|\81[\83g */\r
1076         ulong AdrsInt;                                  /* \83A\83h\83\8c\83X */\r
1077         char UserID[USER_NAME_LEN+1];   /* \83\86\81[\83UID */\r
1078 } SOCKS4CMD;\r
1079 \r
1080 \r
1081 /* \95Ô\90M\83p\83P\83b\83g */\r
1082 typedef struct {\r
1083         char Ver;                               /* \83o\81[\83W\83\87\83\93 */\r
1084         char Result;                    /* \83\8a\83U\83\8b\83g\83R\81[\83h (SOCKS4_RES_xxx) */\r
1085         ushort Port;                    /* \83|\81[\83g */\r
1086         ulong AdrsInt;                  /* \83A\83h\83\8c\83X */\r
1087 } SOCKS4REPLY;\r
1088 \r
1089 #define SOCKS4REPLY_SIZE        8\r
1090 \r
1091 \r
1092 /*===== SOCKS5 =====*/\r
1093 \r
1094 /* Method request\83p\83P\83b\83g */\r
1095 typedef struct {\r
1096         char Ver;                               /* \83o\81[\83W\83\87\83\93 (SOCKS5_VER) */\r
1097         char Num;                               /* \83\81\83\\83b\83h\82Ì\90\94 */\r
1098         uchar Methods[1];               /* \83\81\83\\83b\83h */\r
1099 } SOCKS5METHODREQUEST;\r
1100 \r
1101 #define SOCKS5METHODREQUEST_SIZE        3\r
1102 \r
1103 \r
1104 /* Method reply\83p\83P\83b\83g */\r
1105 typedef struct {\r
1106         char Ver;                               /* \83o\81[\83W\83\87\83\93 (SOCKS5_VER) */\r
1107         uchar Method;                   /* \83\81\83\\83b\83h */\r
1108 } SOCKS5METHODREPLY;\r
1109 \r
1110 #define SOCKS5METHODREPLY_SIZE  2\r
1111 \r
1112 \r
1113 /* Request\83p\83P\83b\83g */\r
1114 typedef struct {\r
1115         char Ver;                               /* \83o\81[\83W\83\87\83\93 (SOCKS5_VER) */\r
1116         char Cmd;                               /* \83R\83}\83\93\83h (SOCKS5_CMD_xxx) */\r
1117         char Rsv;                               /* \81i\97\\96ñ\81j */\r
1118         char Type;                              /* \83A\83h\83\8c\83X\82Ì\83^\83C\83v */\r
1119                                                         /* \88È\8cã\81i\89Â\95Ï\92·\95\94\95ª\81j */\r
1120         char _dummy[255+1+2];   /* \83A\83h\83\8c\83X\81A\83|\81[\83g */\r
1121 } SOCKS5REQUEST;\r
1122 \r
1123 #define SOCKS5REQUEST_SIZE 4    /* \8dÅ\8f\89\82Ì\8cÅ\92è\95\94\95ª\82Ì\83T\83C\83Y */\r
1124 \r
1125 \r
1126 /* Reply\83p\83P\83b\83g */\r
1127 typedef struct {\r
1128         char Ver;                               /* \83o\81[\83W\83\87\83\93 */\r
1129         char Result;                    /* \83\8a\83U\83\8b\83g\83R\81[\83h (SOCKS4_RES_xxx) */\r
1130         char Rsv;                               /* \81i\97\\96ñ\81j */\r
1131         char Type;                              /* \83A\83h\83\8c\83X\82Ì\83^\83C\83v */\r
1132                                                         /* \88È\8cã\81i\89Â\95Ï\92·\95\94\95ª\81j */\r
1133         ulong AdrsInt;                  /* \83A\83h\83\8c\83X */\r
1134         ushort Port;                    /* \83|\81[\83g */\r
1135         char _dummy[2];                 /* dummy */\r
1136 } SOCKS5REPLY;\r
1137 \r
1138 #define SOCKS5REPLY_SIZE 4      /* \8dÅ\8f\89\82Ì\8cÅ\92è\95\94\95ª\82Ì\83T\83C\83Y */\r
1139 \r
1140 \r
1141 /* Username/Password\94F\8fØstatus\83p\83P\83b\83g */\r
1142 typedef struct {\r
1143         char Ver;                               /* \83o\81[\83W\83\87\83\93 */\r
1144         uchar Status;                   /* \83X\83e\81[\83^\83X */\r
1145 } SOCKS5USERPASSSTATUS;\r
1146 \r
1147 #define SOCKS5USERPASSSTATUS_SIZE       2\r
1148 \r
1149 \r
1150 \r
1151 /*===== \83_\83C\83A\83\8d\83O\83{\83b\83N\83X\95Ï\8dX\8f\88\97\9d\97p =====*/\r
1152 \r
1153 typedef struct {\r
1154         int HorMoveList[10];    /* \90\85\95½\82É\93®\82©\82·\95\94\95i\82Ì\83\8a\83X\83g */\r
1155         int VarMoveList[10];    /* \90\82\92¼\82É\93®\82©\82·\95\94\95i\82Ì\83\8a\83X\83g */\r
1156         int ResizeList[10];             /* \83T\83C\83Y\95Ï\8dX\82·\82é\95\94\95i\82Ì\83\8a\83X\83g */\r
1157         SIZE MinSize;                   /* \8dÅ\8f­\83T\83C\83Y */\r
1158         SIZE CurSize;                   /* \8c»\8dÝ\82Ì\83T\83C\83Y */\r
1159 } DIALOGSIZE;\r
1160 \r
1161 \r
1162 /*===== \90\94\92l\95Ï\8a·\97p =====*/\r
1163 \r
1164 typedef struct {\r
1165         int Num1;\r
1166         int Num2;\r
1167 } INTCONVTBL;\r
1168 \r
1169 \r
1170 /*=================================================\r
1171 *               \83v\83\8d\83g\83^\83C\83v\r
1172 *=================================================*/\r
1173 \r
1174 /*===== main.c =====*/\r
1175 \r
1176 int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int cmdShow);\r
1177 void DispWindowTitle(void);\r
1178 HWND GetMainHwnd(void);\r
1179 HWND GetFocusHwnd(void);\r
1180 void SetFocusHwnd(HWND hWnd);\r
1181 HINSTANCE GetFtpInst(void);\r
1182 void DoubleClickProc(int Win, int Mode, int App);\r
1183 void ExecViewer(char *Fname, int App);\r
1184 void ExecViewer2(char *Fname1, char *Fname2, int App);\r
1185 void AddTempFileList(char *Fname);\r
1186 void SoundPlay(int Num);\r
1187 char *AskHelpFilePath(void);\r
1188 char *AskTmpFilePath(void);\r
1189 char *AskIniFilePath(void);\r
1190 int AskForceIni(void);\r
1191 int BackgrndMessageProc(void);\r
1192 void ResetAutoExitFlg(void);\r
1193 int AskAutoExit(void);\r
1194 // \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
1195 BOOL __stdcall SSLTimeoutCallback();\r
1196 \r
1197 /*===== filelist.c =====*/\r
1198 \r
1199 int MakeListWin(HWND hWnd, HINSTANCE hInst);\r
1200 void DeleteListWin(void);\r
1201 HWND GetLocalHwnd(void);\r
1202 HWND GetRemoteHwnd(void);\r
1203 void GetListTabWidth(void);\r
1204 void SetListViewType(void);\r
1205 void GetRemoteDirForWnd(int Mode, int *CancelCheckWork);\r
1206 void GetLocalDirForWnd(void);\r
1207 void ReSortDispList(int Win, int *CancelCheckWork);\r
1208 void SelectFileInList(HWND hWnd, int Type);\r
1209 void FindFileInList(HWND hWnd, int Type);\r
1210 // void WildCard2RegExp(char *Str);\r
1211 int GetCurrentItem(int Win);\r
1212 int GetItemCount(int Win);\r
1213 int GetSelectedCount(int Win);\r
1214 int GetFirstSelected(int Win, int All);\r
1215 int GetNextSelected(int Win, int Pos, int All);\r
1216 int FindNameNode(int Win, char *Name);\r
1217 void GetNodeName(int Win, int Pos, char *Buf, int Max);\r
1218 int GetNodeTime(int Win, int Pos, FILETIME *Buf);\r
1219 int GetNodeSize(int Win, int Pos, LONGLONG *Buf);\r
1220 int GetNodeAttr(int Win, int Pos, int *Buf);\r
1221 int GetNodeType(int Win, int Pos);\r
1222 void GetNodeOwner(int Win, int Pos, char *Buf, int Max);\r
1223 void EraseRemoteDirForWnd(void);\r
1224 double GetSelectedTotalSize(int Win);\r
1225 void MakeSelectedFileList(int Win, int Expand, int All, FILELIST **Base, int *CancelCheckWork);\r
1226 void MakeDroppedFileList(WPARAM wParam, char *Cur, FILELIST **Base);\r
1227 void MakeDroppedDir(WPARAM wParam, char *Cur);\r
1228 void AddRemoteTreeToFileList(int Num, char *Path, int IncDir, FILELIST **Base);\r
1229 void DeleteFileList(FILELIST **Base);\r
1230 FILELIST *SearchFileList(char *Fname, FILELIST *Base, int Caps);\r
1231 int Assume1900or2000(int Year);\r
1232 void SetFilter(int *CancelCheckWork);\r
1233 void doDeleteRemoteFile(void);\r
1234 \r
1235 \r
1236 /*===== toolmenu.c =====*/\r
1237 \r
1238 int MakeToolBarWindow(HWND hWnd, HINSTANCE hInst);\r
1239 void DeleteToolBarWindow(void);\r
1240 HWND GetMainTbarWnd(void);\r
1241 HWND GetLocalHistHwnd(void);\r
1242 HWND GetRemoteHistHwnd(void);\r
1243 HWND GetLocalHistEditHwnd(void);\r
1244 HWND GetRemoteHistEditHwnd(void);\r
1245 HWND GetLocalTbarWnd(void);\r
1246 HWND GetRemoteTbarWnd(void);\r
1247 int GetHideUI(void);\r
1248 void MakeButtonsFocus(void);\r
1249 void DisableUserOpe(void);\r
1250 void EnableUserOpe(void);\r
1251 int AskUserOpeDisabled(void);\r
1252 void SetTransferTypeImm(int Mode);\r
1253 void SetTransferType(int Type);\r
1254 void DispTransferType(void);\r
1255 int AskTransferType(void);\r
1256 int AskTransferTypeAssoc(char *Fname, int Type);\r
1257 void SaveTransferType(void);\r
1258 void SetHostKanjiCodeImm(int Mode);\r
1259 void SetHostKanjiCode(int Type);\r
1260 void DispHostKanjiCode(void);\r
1261 int AskHostKanjiCode(void);\r
1262 void HideHostKanjiButton(void);\r
1263 // \83\8d\81[\83J\83\8b\82Ì\8a¿\8e\9a\83R\81[\83h\r
1264 void SetLocalKanjiCodeImm(int Mode);\r
1265 void SetLocalKanjiCode(int Type);\r
1266 void DispLocalKanjiCode(void);\r
1267 int AskLocalKanjiCode(void);\r
1268 void HideLocalKanjiButton(void);\r
1269 // \82±\82±\82Ü\82Å\r
1270 void SetHostKanaCnvImm(int Mode);\r
1271 void SetHostKanaCnv(void);\r
1272 void DispHostKanaCnv(void);\r
1273 int AskHostKanaCnv(void);\r
1274 void SetSortTypeImm(int LFsort, int LDsort, int RFsort, int RDsort);\r
1275 void SetSortTypeByColumn(int Win, int Tab);\r
1276 int AskSortType(int Name);\r
1277 void SetSaveSortToHost(int Sw);\r
1278 int AskSaveSortToHost(void);\r
1279 void DispListType(void);\r
1280 void SetSyncMoveMode(int Mode);\r
1281 void ToggleSyncMoveMode(void);\r
1282 void DispSyncMoveMode(void);\r
1283 int AskSyncMoveMode(void);\r
1284 void SetRemoteDirHist(char *Path);\r
1285 void SetLocalDirHist(char *Path);\r
1286 void AskLocalCurDir(char *Buf, int Max);\r
1287 void AskRemoteCurDir(char *Buf, int Max);\r
1288 void SetCurrentDirAsDirHist(void);\r
1289 void DispDotFileMode(void);\r
1290 void LocalRbuttonMenu(int Pos);\r
1291 void RemoteRbuttonMenu(int Pos);\r
1292 \r
1293 /*===== statuswin.c =====*/\r
1294 \r
1295 int MakeStatusBarWindow(HWND hWnd, HINSTANCE hInst);\r
1296 void DeleteStatusBarWindow(void);\r
1297 HWND GetSbarWnd(void);\r
1298 void DispCurrentWindow(int Win);\r
1299 void DispSelectedSpace(void);\r
1300 void DispLocalFreeSpace(char *Path);\r
1301 void DispTransferFiles(void);\r
1302 void DispDownloadSize(LONGLONG Size);\r
1303 \r
1304 /*===== taskwin.c =====*/\r
1305 \r
1306 int MakeTaskWindow(HWND hWnd, HINSTANCE hInst);\r
1307 void DeleteTaskWindow(void);\r
1308 HWND GetTaskWnd(void);\r
1309 void SetTaskMsg(char *szFormat, ...);\r
1310 int SaveTaskMsg(char *Fname);\r
1311 void DispTaskMsg(void);\r
1312 void DoPrintf(char *szFormat, ...);\r
1313 void DoPrintf2(char *szFormat, ...);\r
1314 \r
1315 /*===== hostman.c =====*/\r
1316 \r
1317 int SelectHost(int Type);\r
1318 int AddHostToList(HOSTDATA *Set, int Pos, int Level);\r
1319 int CopyHostFromList(int Num, HOSTDATA *Set);\r
1320 int CopyHostFromListInConnect(int Num, HOSTDATA *Set);\r
1321 int SetHostBookMark(int Num, char *Bmask, int Len);\r
1322 char *AskHostBookMark(int Num);\r
1323 int SetHostDir(int Num, char *LocDir, char *HostDir);\r
1324 int SetHostPassword(int Num, char *Pass);\r
1325 int SetHostSort(int Num, int LFSort, int LDSort, int RFSort, int RDSort);\r
1326 void DecomposeSortType(ulong Sort, int *LFSort, int *LDSort, int *RFSort, int *RDSort);\r
1327 int AskCurrentHost(void);\r
1328 void SetCurrentHost(int Num);\r
1329 void CopyDefaultHost(HOSTDATA *Set);\r
1330 int SearchHostName(char *Name);\r
1331 void ImportFromWSFTP(void);\r
1332 \r
1333 /*===== connect.c =====*/\r
1334 \r
1335 void ConnectProc(int Type, int Num);\r
1336 void QuickConnectProc(void);\r
1337 void DirectConnectProc(char *unc, int Kanji, int Kana, int Fkanji, int TrMode);\r
1338 void HistoryConnectProc(int MenuCmd);\r
1339 char *AskHostAdrs(void);\r
1340 int AskHostPort(void);\r
1341 int AskHostNameKanji(void);\r
1342 int AskHostNameKana(void);\r
1343 int AskListCmdMode(void);\r
1344 int AskUseNLST_R(void);\r
1345 char *AskHostChmodCmd(void);\r
1346 int AskHostTimeZone(void);\r
1347 int AskPasvMode(void);\r
1348 char *AskHostLsName(void);\r
1349 int AskHostType(void);\r
1350 int AskHostFireWall(void);\r
1351 int AskNoFullPathMode(void);\r
1352 char *AskHostUserName(void);\r
1353 void SaveCurrentSetToHost(void);\r
1354 int ReConnectCmdSkt(void);\r
1355 // int ReConnectTrnSkt(void);\r
1356 SOCKET AskCmdCtrlSkt(void);\r
1357 SOCKET AskTrnCtrlSkt(void);\r
1358 void SktShareProh(void);\r
1359 int AskShareProh(void);\r
1360 void DisconnectProc(void);\r
1361 void DisconnectSet(void);\r
1362 int AskConnecting(void);\r
1363 SOCKET connectsock(char *host, int port, char *PreMsg, int *CancelCheckWork);\r
1364 SOCKET GetFTPListenSocket(SOCKET ctrl_skt, int *CancelCheckWork);\r
1365 int AskTryingConnect(void);\r
1366 int SocksGet2ndBindReply(SOCKET Socket, SOCKET *Data);\r
1367 // \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
1368 int AskCryptMode(void);\r
1369 int AskUseFTPES(void);\r
1370 int AskUseFTPIS(void);\r
1371 int AskUseSFTP(void);\r
1372 \r
1373 /*===== cache.c =====*/\r
1374 \r
1375 int MakeCacheBuf(int Num);\r
1376 void DeleteCacheBuf(void);\r
1377 int AskCached(char *Path);\r
1378 int AskFreeCache(void);\r
1379 void SetCache(int Num, char *Path);\r
1380 void ClearCache(int Num);\r
1381 int AskCurrentFileListNum(void);\r
1382 void SetCurrentFileListNum(int Num);\r
1383 void SaveCache(void);\r
1384 void LoadCache(void);\r
1385 void DeleteCache(void);\r
1386 void MakeCacheFileName(int Num, char *Buf);\r
1387 void CountPrevFfftpWindows(void);\r
1388 \r
1389 /*===== ftpproc.c =====*/\r
1390 \r
1391 void DownLoadProc(int ChName, int ForceFile, int All);\r
1392 void DirectDownLoadProc(char *Fname);\r
1393 void InputDownLoadProc(void);\r
1394 void MirrorDownloadProc(int Notify);\r
1395 void UpLoadListProc(int ChName, int All);\r
1396 void UpLoadDragProc(WPARAM wParam);\r
1397 void MirrorUploadProc(int Notify);\r
1398 void DeleteProc(void);\r
1399 void RenameProc(void);\r
1400 void MoveRemoteFileProc(int);\r
1401 void MkdirProc(void);\r
1402 void ChangeDirComboProc(HWND hWnd);\r
1403 void ChangeDirBmarkProc(int MarkID);\r
1404 void ChangeDirDirectProc(int Win);\r
1405 void ChangeDirDropFileProc(WPARAM wParam);\r
1406 void ChmodProc(void);\r
1407 BOOL CALLBACK ChmodDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);\r
1408 void SomeCmdProc(void);\r
1409 void CalcFileSizeProc(void);\r
1410 void DispCWDerror(HWND hWnd);\r
1411 void CopyURLtoClipBoard(void);\r
1412 int ProcForNonFullpath(char *Path, char *CurDir, HWND hWnd, int Type);\r
1413 void ReformToVMSstyleDirName(char *Path);\r
1414 void ReformToVMSstylePathName(char *Path);\r
1415 #if defined(HAVE_OPENVMS)\r
1416 void ReformVMSDirName(char *DirName, int Flg);\r
1417 #endif\r
1418 \r
1419 /*===== local.c =====*/\r
1420 \r
1421 int DoLocalCWD(char *Path);\r
1422 void DoLocalMKD(char *Path);\r
1423 void DoLocalPWD(char *Buf);\r
1424 void DoLocalRMD(char *Path);\r
1425 void DoLocalDELE(char *Path);\r
1426 void DoLocalRENAME(char *Src, char *Dst);\r
1427 void DispFileProperty(char *Fname);\r
1428 HANDLE FindFirstFileAttr(char *Fname, WIN32_FIND_DATA *FindData, int IgnHide);\r
1429 BOOL FindNextFileAttr(HANDLE hFind, WIN32_FIND_DATA *FindData, int IgnHide);\r
1430 \r
1431 /*===== remote.c =====*/\r
1432 \r
1433 int DoCWD(char *Path, int Disp, int ForceGet, int ErrorBell);\r
1434 int DoCWDStepByStep(char *Path, char *Cur);\r
1435 int DoMKD(char *Path);\r
1436 void InitPWDcommand();\r
1437 int DoRMD(char *Path);\r
1438 int DoDELE(char *Path);\r
1439 int DoRENAME(char *Src, char *Dst);\r
1440 int DoCHMOD(char *Path, char *Mode);\r
1441 int DoSIZE(char *Path, LONGLONG *Size);\r
1442 int DoMDTM(char *Path, FILETIME *Time);\r
1443 int DoQUOTE(char *CmdStr);\r
1444 SOCKET DoClose(SOCKET Sock);\r
1445 int DoQUIT(SOCKET ctrl_skt);\r
1446 int DoDirListCmdSkt(char *AddOpt, char *Path, int Num, int *CancelCheckWork);\r
1447 int CommandProcCmd(char *Reply, char *fmt, ...);\r
1448 int CommandProcTrn(char *Reply, char *fmt, ...);\r
1449 int command(SOCKET cSkt, char *Reply, int *CancelCheckWork, char *fmt, ...);\r
1450 int SendData(SOCKET Skt, char *Data, int Size, int Mode, int *CancelCheckWork);\r
1451 int ReadReplyMessage(SOCKET cSkt, char *Buf, int Max, int *CancelCheckWork, char *Tmp);\r
1452 int ReadNchar(SOCKET cSkt, char *Buf, int Size, int *CancelCheckWork);\r
1453 char *ReturnWSError(UINT Error);\r
1454 void ReportWSError(char *Msg, UINT Error);\r
1455 int ChangeFnameRemote2Local(char *Fname, int Max);\r
1456 int ChangeFnameLocal2Remote(char *Fname, int Max);\r
1457 \r
1458 /*===== getput.c =====*/\r
1459 \r
1460 int MakeTransferThread(void);\r
1461 void CloseTransferThread(void);\r
1462 int AddTmpTransFileList(TRANSPACKET *Pkt, TRANSPACKET **Base);\r
1463 void EraseTmpTransFileList(TRANSPACKET **Base);\r
1464 int RemoveTmpTransFileListItem(TRANSPACKET **Base, int Num);\r
1465 \r
1466 void AddTransFileList(TRANSPACKET *Pkt);\r
1467 void AppendTransFileList(TRANSPACKET *Pkt);\r
1468 void KeepTransferDialog(int Sw);\r
1469 int AskTransferNow(void);\r
1470 int AskTransferFileNum(void);\r
1471 void GoForwardTransWindow(void);\r
1472 void InitTransCurDir(void);\r
1473 int DoDownLoad(SOCKET cSkt, TRANSPACKET *Pkt, int DirList, int *CancelCheckWork);\r
1474 int CheckPathViolation(TRANSPACKET *packet);\r
1475 \r
1476 /*===== codecnv.c =====*/\r
1477 \r
1478 void InitTermCodeConvInfo(TERMCODECONVINFO *cInfo);\r
1479 int FlushRestTermCodeConvData(TERMCODECONVINFO *cInfo);\r
1480 int ConvTermCodeToCRLF(TERMCODECONVINFO *cInfo);\r
1481 \r
1482 void InitCodeConvInfo(CODECONVINFO *cInfo);\r
1483 int FlushRestData(CODECONVINFO *cInfo);\r
1484 int ConvEUCtoSJIS(CODECONVINFO *cInfo);\r
1485 int ConvJIStoSJIS(CODECONVINFO *cInfo);\r
1486 int ConvSMBtoSJIS(CODECONVINFO *cInfo);\r
1487 int ConvUTF8NtoSJIS(CODECONVINFO *cInfo); // UTF-8N\91Î\89\9e\r
1488 int ConvSJIStoEUC(CODECONVINFO *cInfo);\r
1489 int ConvSJIStoJIS(CODECONVINFO *cInfo);\r
1490 int ConvSJIStoSMB_HEX(CODECONVINFO *cInfo);\r
1491 int ConvSJIStoSMB_CAP(CODECONVINFO *cInfo);\r
1492 int ConvSJIStoUTF8N(CODECONVINFO *cInfo); // UTF-8N\91Î\89\9e\r
1493 void ConvAutoToSJIS(char *Text, int Pref);\r
1494 int CheckKanjiCode(char *Text, int Size, int Pref);\r
1495 \r
1496 /*===== option.c =====*/\r
1497 \r
1498 void SetOption(int Start);\r
1499 int SortSetting(void);\r
1500 \r
1501 /*===== bookmark.c =====*/\r
1502 \r
1503 void ClearBookMark(void);\r
1504 void AddCurDirToBookMark(int Win);\r
1505 int AskBookMarkText(int MarkID, char *Local, char *Remote, int Max);\r
1506 void SaveBookMark(void);\r
1507 void LoadBookMark(void);\r
1508 int EditBookMark(void);\r
1509 \r
1510 /*===== regexp.c =====*/\r
1511 \r
1512 int LoadJre(void);\r
1513 void ReleaseJre(void);\r
1514 int AskRasUsable(void);\r
1515 int AskJreUsable(void);\r
1516 int GetJreVersion(void);\r
1517 int JreCompileStr(char *Str);\r
1518 char *JreGetStrMatchInfo(char *Str, UINT nStart);\r
1519 \r
1520 /*===== wildcard.c =====*/\r
1521 \r
1522 int CheckFname(char *str, char *regexp);\r
1523 \r
1524 /*===== registory.c =====*/\r
1525 \r
1526 void SaveRegistory(void);\r
1527 int LoadRegistory(void);\r
1528 void ClearRegistory(void);\r
1529 void SetMasterPassword( const char* );\r
1530 int GetMasterPasswordStatus(void);\r
1531 int ValidateMasterPassword(void);\r
1532 DWORD LoadHideDriveListRegistory(void);\r
1533 void SaveSettingsToFile(void);\r
1534 int LoadSettingsFromFile(void);\r
1535 \r
1536 /*===== lvtips.c =====*/\r
1537 \r
1538 int InitListViewTips(HWND hWnd, HINSTANCE hInst);\r
1539 void DeleteListViewTips(void);\r
1540 void EraseListViewTips(void);\r
1541 HWND GetListViewTipsHwnd(void);\r
1542 void CheckTipsDisplay(HWND hWnd, LPARAM lParam);\r
1543 \r
1544 /*===== ras.c =====*/\r
1545 \r
1546 void LoadRasLib(void);\r
1547 void ReleaseRasLib(void);\r
1548 void DisconnectRas(int Notify);\r
1549 int SetRasEntryToComboBox(HWND hDlg, int Item, char *CurName);\r
1550 int ConnectRas(int Dialup, int UseThis, int Notify, char *Name);\r
1551 \r
1552 /*===== misc.c =====*/\r
1553 \r
1554 int InputDialogBox(int Res, HWND hWnd, char *Title, char *Buf, int Max, int *Flg, int Help);\r
1555 BOOL CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
1556 BOOL CALLBACK ExeEscTextDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
1557 void SetYenTail(char *Str);\r
1558 void RemoveYenTail(char *Str);\r
1559 void SetSlashTail(char *Str);\r
1560 void RemoveReturnCode(char *Str);\r
1561 void ReplaceAll(char *Str, char Src, char Dst);\r
1562 int IsDigitSym(int Ch, int Sym);\r
1563 int StrAllSameChar(char *Str, char Ch);\r
1564 void RemoveTailingSpaces(char *Str);\r
1565 char *stristr(char *s1, char *s2);\r
1566 char *GetNextField(char *Str);\r
1567 int GetOneField(char *Str, char *Buf, int Max);\r
1568 void RemoveComma(char *Str);\r
1569 char *GetFileName(char *Path);\r
1570 char *GetFileExt(char *Path);\r
1571 char *GetToolName(char *Path);\r
1572 void RemoveFileName(char *Path, char *Buf);\r
1573 void GetUpperDir(char *Path);\r
1574 void GetUpperDirEraseTopSlash(char *Path);\r
1575 int AskDirLevel(char *Path);\r
1576 void MakeSizeString(double Size, char *Buf);\r
1577 void DispStaticText(HWND hWnd, char *Str);\r
1578 int StrMultiLen(char *Str);\r
1579 void RectClientToScreen(HWND hWnd, RECT *Rect);\r
1580 int hex2bin(char Ch);\r
1581 int SplitUNCpath(char *unc, char *Host, char *Path, char *File, char *User, char *Pass, int *Port);\r
1582 int TimeString2FileTime(char *Time, FILETIME *Buf);\r
1583 void FileTime2TimeString(FILETIME *Time, char *Buf, int Mode, int InfoExist);\r
1584 void SpecificLocalFileTime2FileTime(FILETIME *Time, int TimeZone);\r
1585 int AttrString2Value(char *Str);\r
1586 void AttrValue2String(int Attr, char *Buf);\r
1587 void FormatIniString(char *Str);\r
1588 int SelectFile(HWND hWnd, char *Fname, char *Title, char *Filters, char *Ext, int Flags, int Save);\r
1589 int SelectDir(HWND hWnd, char *Buf, int MaxLen);\r
1590 void SetRadioButtonByValue(HWND hDlg, int Value, const RADIOBUTTON *Buttons, int Num);\r
1591 int AskRadioButtonValue(HWND hDlg, const RADIOBUTTON *Buttons, int Num);\r
1592 int xtoi(char *Str);\r
1593 int CheckFileReadable(char *Fname);\r
1594 int max1(int n, int m);\r
1595 int min1(int n, int m);\r
1596 void ExcEndianDWORD(DWORD *x);\r
1597 void SwapInt(int *Num1, int *Num2);\r
1598 int IsFolderExist(char *Path);\r
1599 int ConvertNum(int x, int Dir, const INTCONVTBL *Tbl, int Num);\r
1600 int MoveFileToTrashCan(char *Path);\r
1601 LONGLONG MakeLongLong(DWORD High, DWORD Low);\r
1602 char *MakeNumString(LONGLONG Num, char *Buf, BOOL Comma);\r
1603 \r
1604 /*===== dlgsize.c =====*/\r
1605 \r
1606 void DlgSizeInit(HWND hDlg, DIALOGSIZE *Dt, SIZE *Size);\r
1607 void AskDlgSize(HWND hDlg, DIALOGSIZE *Dt, SIZE *Size);\r
1608 void DlgSizeChange(HWND hDlg, DIALOGSIZE *Dt, RECT *New, int Flg);\r
1609 \r
1610 /*===== opie.c =====*/\r
1611 \r
1612 int Make6WordPass(int seq, char *seed, char *pass, int type, char *buf);\r
1613 \r
1614 /*===== tool.c =====*/\r
1615 \r
1616 void OtpCalcTool(void);\r
1617 \r
1618 /*===== history.c =====*/\r
1619 \r
1620 void AddHostToHistory(HOSTDATA *Host, int TrMode);\r
1621 void AddHistoryToHistory(HISTORYDATA *Hist);\r
1622 int AskHistoryNum(void);\r
1623 void CheckHistoryNum(int Space);\r
1624 void CopyHistoryToHost(HISTORYDATA *Hist, HOSTDATA *Host);\r
1625 void CopyDefaultHistory(HISTORYDATA *Set);\r
1626 void SetAllHistoryToMenu(void);\r
1627 int GetHistoryByCmd(int MenuCmd, HISTORYDATA *Buf);\r
1628 int GetHistoryByNum(int Num, HISTORYDATA *Buf);\r
1629 \r
1630 /*===== clipboard.c =====*/\r
1631 \r
1632 int CopyStrToClipBoard(char *Str);\r
1633 \r
1634 /*===== diskfree.c =====*/\r
1635 \r
1636 void LoadKernelLib(void);\r
1637 void ReleaseKernelLib(void);\r
1638 char *AskLocalFreeSpace(char *Path);\r
1639 \r
1640 /*===== socket.c =====*/\r
1641 \r
1642 int MakeSocketWin(HWND hWnd, HINSTANCE hInst);\r
1643 void DeleteSocketWin(void);\r
1644 struct hostent *do_gethostbyname(const char *Name, char *Buf, int Len, int *CancelCheckWork);\r
1645 SOCKET do_socket(int af, int type, int protocol);\r
1646 int do_connect(SOCKET s, const struct sockaddr *name, int namelen, int *CancelCheckWork);\r
1647 int do_closesocket(SOCKET s);\r
1648 int do_listen(SOCKET s, int backlog);\r
1649 SOCKET do_accept(SOCKET s, struct sockaddr *addr, int *addrlen);\r
1650 int do_recv(SOCKET s, char *buf, int len, int flags, int *TimeOut, int *CancelCheckWork);\r
1651 int do_send(SOCKET s, const char *buf, int len, int flags, int *TimeOutErr, int *CancelCheckWork);\r
1652 int CheckClosedAndReconnect(void);\r
1653 void CheckAllEventClosed(void);\r
1654 \r
1655 /*===== updatebell.c =====*/\r
1656 \r
1657 void SaveUpdateBellInfo(void);\r
1658 \r
1659 \r
1660 #endif   // __COMMON_H__\r