OSDN Git Service

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