OSDN Git Service

c661dad6e655d0d4577a99d2b5485bb26c5131e9
[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 \r
857 /*=================================================\r
858 *               \83X\83g\83\89\83N\83`\83\83\r
859 *=================================================*/\r
860 \r
861 /*===== \83z\83X\83g\90Ý\92è\83f\81[\83^ =====*/\r
862 \r
863 typedef struct {\r
864         int Level;                                                      /* \90Ý\92è\82Ì\83\8c\83x\83\8b */\r
865                                                                                 /* \92Ê\8fí\82Í\83O\83\8b\81[\83v\82Ì\83t\83\89\83O\82Ì\82Ý\82ª\97L\8cø */\r
866                                                                                 /* \83\8c\83x\83\8b\90\94\82Í\90Ý\92è\82Ì\93o\98^\81^\8cÄ\8fo\8e\9e\82Ì\82Ý\82Å\8eg\97p */\r
867         char HostName[HOST_NAME_LEN+1];         /* \90Ý\92è\96¼ */\r
868         char HostAdrs[HOST_ADRS_LEN+1];         /* \83z\83X\83g\96¼ */\r
869         char UserName[USER_NAME_LEN+1];         /* \83\86\81[\83U\96¼ */\r
870         char PassWord[PASSWORD_LEN+1];          /* \83p\83X\83\8f\81[\83h */\r
871         char Account[ACCOUNT_LEN+1];            /* \83A\83J\83E\83\93\83g */\r
872         char LocalInitDir[INIT_DIR_LEN+1];      /* \83\8d\81[\83J\83\8b\82Ì\8aJ\8en\83f\83B\83\8c\83N\83g\83\8a */\r
873         char RemoteInitDir[INIT_DIR_LEN+1];     /* \83z\83X\83g\82Ì\8aJ\8en\83f\83B\83\8c\83N\83g\83\8a */\r
874         char BookMark[BOOKMARK_SIZE];           /* \83u\83b\83N\83}\81[\83N */\r
875         char ChmodCmd[CHMOD_CMD_LEN+1];         /* \91®\90«\95Ï\8dX\83R\83}\83\93\83h */\r
876         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
877         char InitCmd[INITCMD_LEN+1];            /* \83z\83X\83g\82Ì\8f\89\8aú\89»\83R\83}\83\93\83h */\r
878         int Port;                                                       /* \83|\81[\83g\94Ô\8d\86 */\r
879         int Anonymous;                                          /* Anonymous\83t\83\89\83O */\r
880         int KanjiCode;                                          /* \83z\83X\83g\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
881         int KanaCnv;                                            /* \94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
882         int NameKanjiCode;                                      /* \83t\83@\83C\83\8b\96¼\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
883         int NameKanaCnv;                                        /* \83t\83@\83C\83\8b\96¼\82Ì\94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
884         int Pasv;                                                       /* PASV\83\82\81[\83h (YES/NO) */\r
885         int FireWall;                                           /* FireWall\82ð\8eg\82¤ (YES/NO) */\r
886         int ListCmdOnly;                                        /* "LIST"\83R\83}\83\93\83h\82Ì\82Ý\8eg\97p\82·\82é */\r
887         int UseNLST_R;                                          /* "NLST -R"\83R\83}\83\93\83h\82ð\8eg\97p\82·\82é */\r
888         int LastDir;                                            /* \8dÅ\8cã\82É\83A\83N\83Z\83X\82µ\82½\83t\83H\83\8b\83_\82ð\95Û\91¶ */\r
889         int TimeZone;                                           /* \83^\83C\83\80\83]\81[\83\93 (-12\81`12) */\r
890         int HostType;                                           /* \83z\83X\83g\82Ì\83^\83C\83v (HTYPE_xxx) */\r
891         int SyncMove;                                           /* \83t\83H\83\8b\83_\93¯\8e\9e\88Ú\93® (YES/NO) */\r
892         int NoFullPath;                                         /* \83t\83\8b\83p\83X\82Å\83t\83@\83C\83\8b\83A\83N\83Z\83X\82µ\82È\82¢ (YES/NO) */\r
893         ulong Sort;                                                     /* \83\\81[\83g\95û\96@ (0x11223344 : 11=LFsort 22=LDsort 33=RFsort 44=RFsort) */\r
894         int Security;                                           /* \83Z\83L\83\85\83\8a\83e\83B (SECURITY_xxx , MDx) */\r
895         int Dialup;                                                     /* \83_\83C\83A\83\8b\83A\83b\83v\90Ú\91±\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
896         int DialupAlways;                                       /* \8fí\82É\82±\82Ì\83G\83\93\83g\83\8a\82Ö\90Ú\91±\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
897         int DialupNotify;                                       /* \8dÄ\90Ú\91±\82Ì\8dÛ\82É\8am\94F\82·\82é (YES/NO) */\r
898         char DialEntry[RAS_NAME_LEN+1];         /* \83_\83C\83A\83\8b\83A\83b\83v\83G\83\93\83g\83\8a */\r
899 } HOSTDATA;\r
900 \r
901 \r
902 /*===== \83z\83X\83g\90Ý\92è\83\8a\83X\83g =====*/\r
903 \r
904 typedef struct hostlistdata {\r
905         HOSTDATA Set;                                   /* \83z\83X\83g\90Ý\92è\83f\81[\83^ */\r
906         struct hostlistdata *Next;\r
907         struct hostlistdata *Prev;\r
908         struct hostlistdata *Child;\r
909         struct hostlistdata *Parent;\r
910 } HOSTLISTDATA;\r
911 \r
912 \r
913 /*===== \90Ú\91±\83q\83X\83g\83\8a\83\8a\83X\83g =====*/\r
914 \r
915 typedef struct historydata {\r
916         char HostAdrs[HOST_ADRS_LEN+1];         /* \83z\83X\83g\96¼ */\r
917         char UserName[USER_NAME_LEN+1];         /* \83\86\81[\83U\96¼ */\r
918         char PassWord[PASSWORD_LEN+1];          /* \83p\83X\83\8f\81[\83h */\r
919         char Account[ACCOUNT_LEN+1];            /* \83A\83J\83E\83\93\83g */\r
920         char LocalInitDir[INIT_DIR_LEN+1];      /* \83f\83B\83\8c\83N\83g\83\8a */\r
921         char RemoteInitDir[INIT_DIR_LEN+1];     /* \83f\83B\83\8c\83N\83g\83\8a */\r
922         char ChmodCmd[CHMOD_CMD_LEN+1];         /* \91®\90«\95Ï\8dX\83R\83}\83\93\83h */\r
923         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
924         char InitCmd[INITCMD_LEN+1];            /* \83z\83X\83g\82Ì\8f\89\8aú\89»\83R\83}\83\93\83h */\r
925         int Port;                                                       /* \83|\81[\83g\94Ô\8d\86 */\r
926         int KanjiCode;                                          /* \83z\83X\83g\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
927         int KanaCnv;                                            /* \94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
928         int NameKanjiCode;                                      /* \83t\83@\83C\83\8b\96¼\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
929         int NameKanaCnv;                                        /* \83t\83@\83C\83\8b\96¼\82Ì\94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
930         int Pasv;                                                       /* PASV\83\82\81[\83h (YES/NO) */\r
931         int FireWall;                                           /* FireWall\82ð\8eg\82¤ (YES/NO) */\r
932         int ListCmdOnly;                                        /* "LIST"\83R\83}\83\93\83h\82Ì\82Ý\8eg\97p\82·\82é */\r
933         int UseNLST_R;                                          /* "NLST -R"\83R\83}\83\93\83h\82ð\8eg\97p\82·\82é */\r
934         int TimeZone;                                           /* \83^\83C\83\80\83]\81[\83\93 (-12\81`12) */\r
935         int HostType;                                           /* \83z\83X\83g\82Ì\83^\83C\83v (HTYPE_xxx) */\r
936         int SyncMove;                                           /* \83t\83H\83\8b\83_\93¯\8e\9e\88Ú\93® (YES/NO) */\r
937         int NoFullPath;                                         /* \83t\83\8b\83p\83X\82Å\83t\83@\83C\83\8b\83A\83N\83Z\83X\82µ\82È\82¢ (YES/NO) */\r
938         ulong Sort;                                                     /* \83\\81[\83g\95û\96@ (0x11223344 : 11=LFsort 22=LDsort 33=RFsort 44=RFsort) */\r
939         int Security;                                           /* \83Z\83L\83\85\83\8a\83e\83B (OTP_xxx , MDx) */\r
940         int Type;                                                       /* \93]\91\97\95û\96@ (TYPE_xx) */\r
941         int Dialup;                                                     /* \83_\83C\83A\83\8b\83A\83b\83v\90Ú\91±\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
942         int DialupAlways;                                       /* \8fí\82É\82±\82Ì\83G\83\93\83g\83\8a\82Ö\90Ú\91±\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
943         int DialupNotify;                                       /* \8dÄ\90Ú\91±\82Ì\8dÛ\82É\8am\94F\82·\82é (YES/NO) */\r
944         char DialEntry[RAS_NAME_LEN+1];         /* \83_\83C\83A\83\8b\83A\83b\83v\83G\83\93\83g\83\8a */\r
945         struct historydata *Next;\r
946 } HISTORYDATA;\r
947 \r
948 \r
949 /*===== \93]\91\97\83t\83@\83C\83\8b\83\8a\83X\83g =====*/\r
950 \r
951 typedef struct transpacket {\r
952         SOCKET ctrl_skt;                                /* Socket */\r
953         char Cmd[40];                                   /* STOR/RETR/MKD */\r
954         char RemoteFile[FMAX_PATH+1];   /* \83z\83X\83g\91¤\82Ì\83t\83@\83C\83\8b\96¼\81i\83t\83\8b\83p\83X\81j */\r
955                                                                         /* VMS\82Ì\8e\9e\82Í ddd[xxx.yyy]/yyy/zzz \82Ì\82æ\82¤\82É */\r
956                                                                         /* \82È\82Á\82Ä\82é\82Ì\82Å\92\8d\88Ó */\r
957         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
958         int Type;                                               /* \93]\91\97\95û\96@ (TYPE_xx) */\r
959         LONGLONG Size;                                  /* \83t\83@\83C\83\8b\82Ì\83T\83C\83Y */\r
960         LONGLONG ExistSize;                             /* \82·\82Å\82É\91\8dÝ\82·\82é\83t\83@\83C\83\8b\82Ì\83T\83C\83Y */\r
961                                                                         /* \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
962         FILETIME Time;                                  /* \83t\83@\83C\83\8b\82Ì\8e\9e\8aÔ(UTC) */\r
963         int Attr;                                               /* \83t\83@\83C\83\8b\82Ì\91®\90« */\r
964         int KanjiCode;                                  /* \8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
965         int KanjiCodeDesired;                   /* \95Ï\8a·\90æ\82Ì\8a¿\8e\9a\83R\81[\83h (KANJI_xxx) */\r
966         int KanaCnv;                                    /* \94¼\8ap\83J\83i\82ð\91S\8ap\82É\95Ï\8a·(YES/NO) */\r
967         int Mode;                                               /* \93]\91\97\83\82\81[\83h (EXIST_xxx) */\r
968         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
969         int Abort;                                              /* \93]\91\97\92\86\8e~\83t\83\89\83O (ABORT_xxx) */\r
970         struct transpacket *Next;\r
971 } TRANSPACKET;\r
972 \r
973 \r
974 /*===== \83t\83@\83C\83\8b\83\8a\83X\83g =====*/\r
975 \r
976 typedef struct filelist {\r
977         char File[FMAX_PATH+1];                 /* \83t\83@\83C\83\8b\96¼ */\r
978         char Node;                                              /* \8eí\97Þ (NODE_xxx) */\r
979         char Link;                                              /* \83\8a\83\93\83N\83t\83@\83C\83\8b\82©\82Ç\82¤\82© (YES/NO) */\r
980         LONGLONG Size;                                  /* \83t\83@\83C\83\8b\83T\83C\83Y */\r
981         int Attr;                                               /* \91®\90« */\r
982         FILETIME Time;                                  /* \8e\9e\8aÔ(UTC) */\r
983         char Owner[OWNER_NAME_LEN+1];   /* \83I\81[\83i\96¼ */\r
984         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
985         struct filelist *Next;\r
986 } FILELIST;\r
987 \r
988 \r
989 /*===== \83R\81[\83h\95Ï\8a·\8fî\95ñ\83p\83P\83b\83g =====*/\r
990 \r
991 typedef char * (*funcptr)(struct codeconvinfo *, char , char *);\r
992 \r
993 typedef struct codeconvinfo {\r
994         char *Str;                      /* \95\8e\9a\97ñ */\r
995         int StrLen;                     /* \95\8e\9a\97ñ\82Ì\92·\82³ */\r
996         int KanaCnv;            /* \94¼\8ap\83J\83^\83J\83i\82ð\91S\8ap\82É\95Ï\8a·\82·\82é\82©\82Ç\82¤\82© (YES/NO) */\r
997         char *Buf;                      /* \95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ\82ð\8ai\94[\82·\82é\83o\83b\83t\83@ */\r
998         int BufSize;            /* \95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ\82ð\8ai\94[\82·\82é\83o\83b\83t\83@\82Ì\83T\83C\83Y */\r
999         int OutLen;                     /* \95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ\82Ì\83T\83C\83Y */\r
1000         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
1001         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
1002         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
1003         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
1004         char KanaPrev;          /* \94¼\8ap\83J\83^\83J\83i\95Û\91\97p (\93à\95\94\8f\88\97\9d\97p\83\8f\81[\83N) */\r
1005         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
1006         char EscUTF8[8];\r
1007         int EscUTF8Len;\r
1008 } CODECONVINFO;\r
1009 \r
1010 \r
1011 /*===== \89ü\8ds\83R\81[\83h\95Ï\8a·\8fî\95ñ\83p\83P\83b\83g =====*/\r
1012 \r
1013 typedef struct termcodeconvinfo {\r
1014         char *Str;                      /* \95\8e\9a\97ñ */\r
1015         int StrLen;                     /* \95\8e\9a\97ñ\82Ì\92·\82³ */\r
1016         char *Buf;                      /* \95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ\82ð\8ai\94[\82·\82é\83o\83b\83t\83@ */\r
1017         int BufSize;            /* \95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ\82ð\8ai\94[\82·\82é\83o\83b\83t\83@\82Ì\83T\83C\83Y */\r
1018         int OutLen;                     /* \95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ\82Ì\83T\83C\83Y */\r
1019         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
1020 } TERMCODECONVINFO;\r
1021 \r
1022 \r
1023 /*===== \83e\83\93\83|\83\89\83\8a\83t\83@\83C\83\8b\83\8a\83X\83g =====*/\r
1024 \r
1025 typedef struct tempfilelist {\r
1026         char *Fname;                            /* \83t\83@\83C\83\8b\96¼ */\r
1027         struct tempfilelist *Next;\r
1028 } TEMPFILELIST;\r
1029 \r
1030 \r
1031 /*===== \83T\83E\83\93\83h\83t\83@\83C\83\8b =====*/\r
1032 \r
1033 typedef struct {\r
1034         int On;                                         /* ON/OFF\83X\83C\83b\83` */\r
1035         char Fname[FMAX_PATH+1];                /* \83t\83@\83C\83\8b\96¼ */\r
1036 } SOUNDFILE;\r
1037 \r
1038 \r
1039 /*===== \83\89\83W\83I\83{\83^\83\93\82Ì\90Ý\92è =====*/\r
1040 \r
1041 typedef struct {\r
1042         int ButID;                      /* \83{\83^\83\93\82ÌID */\r
1043         int Value;                      /* \92l */\r
1044 } RADIOBUTTON;\r
1045 \r
1046 \r
1047 /*===== SOCKS4 =====*/\r
1048 \r
1049 /* \83R\83}\83\93\83h\83p\83P\83b\83g */\r
1050 typedef struct {\r
1051         char Ver;                                               /* \83o\81[\83W\83\87\83\93 (SOCKS4_VER) */\r
1052         char Cmd;                                               /* \83R\83}\83\93\83h (SOCKS4_CMD_xxx) */\r
1053         ushort Port;                                    /* \83|\81[\83g */\r
1054         ulong AdrsInt;                                  /* \83A\83h\83\8c\83X */\r
1055         char UserID[USER_NAME_LEN+1];   /* \83\86\81[\83UID */\r
1056 } SOCKS4CMD;\r
1057 \r
1058 \r
1059 /* \95Ô\90M\83p\83P\83b\83g */\r
1060 typedef struct {\r
1061         char Ver;                               /* \83o\81[\83W\83\87\83\93 */\r
1062         char Result;                    /* \83\8a\83U\83\8b\83g\83R\81[\83h (SOCKS4_RES_xxx) */\r
1063         ushort Port;                    /* \83|\81[\83g */\r
1064         ulong AdrsInt;                  /* \83A\83h\83\8c\83X */\r
1065 } SOCKS4REPLY;\r
1066 \r
1067 #define SOCKS4REPLY_SIZE        8\r
1068 \r
1069 \r
1070 /*===== SOCKS5 =====*/\r
1071 \r
1072 /* Method request\83p\83P\83b\83g */\r
1073 typedef struct {\r
1074         char Ver;                               /* \83o\81[\83W\83\87\83\93 (SOCKS5_VER) */\r
1075         char Num;                               /* \83\81\83\\83b\83h\82Ì\90\94 */\r
1076         uchar Methods[1];               /* \83\81\83\\83b\83h */\r
1077 } SOCKS5METHODREQUEST;\r
1078 \r
1079 #define SOCKS5METHODREQUEST_SIZE        3\r
1080 \r
1081 \r
1082 /* Method reply\83p\83P\83b\83g */\r
1083 typedef struct {\r
1084         char Ver;                               /* \83o\81[\83W\83\87\83\93 (SOCKS5_VER) */\r
1085         uchar Method;                   /* \83\81\83\\83b\83h */\r
1086 } SOCKS5METHODREPLY;\r
1087 \r
1088 #define SOCKS5METHODREPLY_SIZE  2\r
1089 \r
1090 \r
1091 /* Request\83p\83P\83b\83g */\r
1092 typedef struct {\r
1093         char Ver;                               /* \83o\81[\83W\83\87\83\93 (SOCKS5_VER) */\r
1094         char Cmd;                               /* \83R\83}\83\93\83h (SOCKS5_CMD_xxx) */\r
1095         char Rsv;                               /* \81i\97\\96ñ\81j */\r
1096         char Type;                              /* \83A\83h\83\8c\83X\82Ì\83^\83C\83v */\r
1097                                                         /* \88È\8cã\81i\89Â\95Ï\92·\95\94\95ª\81j */\r
1098         char _dummy[255+1+2];   /* \83A\83h\83\8c\83X\81A\83|\81[\83g */\r
1099 } SOCKS5REQUEST;\r
1100 \r
1101 #define SOCKS5REQUEST_SIZE 4    /* \8dÅ\8f\89\82Ì\8cÅ\92è\95\94\95ª\82Ì\83T\83C\83Y */\r
1102 \r
1103 \r
1104 /* Reply\83p\83P\83b\83g */\r
1105 typedef struct {\r
1106         char Ver;                               /* \83o\81[\83W\83\87\83\93 */\r
1107         char Result;                    /* \83\8a\83U\83\8b\83g\83R\81[\83h (SOCKS4_RES_xxx) */\r
1108         char Rsv;                               /* \81i\97\\96ñ\81j */\r
1109         char Type;                              /* \83A\83h\83\8c\83X\82Ì\83^\83C\83v */\r
1110                                                         /* \88È\8cã\81i\89Â\95Ï\92·\95\94\95ª\81j */\r
1111         ulong AdrsInt;                  /* \83A\83h\83\8c\83X */\r
1112         ushort Port;                    /* \83|\81[\83g */\r
1113         char _dummy[2];                 /* dummy */\r
1114 } SOCKS5REPLY;\r
1115 \r
1116 #define SOCKS5REPLY_SIZE 4      /* \8dÅ\8f\89\82Ì\8cÅ\92è\95\94\95ª\82Ì\83T\83C\83Y */\r
1117 \r
1118 \r
1119 /* Username/Password\94F\8fØstatus\83p\83P\83b\83g */\r
1120 typedef struct {\r
1121         char Ver;                               /* \83o\81[\83W\83\87\83\93 */\r
1122         uchar Status;                   /* \83X\83e\81[\83^\83X */\r
1123 } SOCKS5USERPASSSTATUS;\r
1124 \r
1125 #define SOCKS5USERPASSSTATUS_SIZE       2\r
1126 \r
1127 \r
1128 \r
1129 /*===== \83_\83C\83A\83\8d\83O\83{\83b\83N\83X\95Ï\8dX\8f\88\97\9d\97p =====*/\r
1130 \r
1131 typedef struct {\r
1132         int HorMoveList[10];    /* \90\85\95½\82É\93®\82©\82·\95\94\95i\82Ì\83\8a\83X\83g */\r
1133         int VarMoveList[10];    /* \90\82\92¼\82É\93®\82©\82·\95\94\95i\82Ì\83\8a\83X\83g */\r
1134         int ResizeList[10];             /* \83T\83C\83Y\95Ï\8dX\82·\82é\95\94\95i\82Ì\83\8a\83X\83g */\r
1135         SIZE MinSize;                   /* \8dÅ\8f­\83T\83C\83Y */\r
1136         SIZE CurSize;                   /* \8c»\8dÝ\82Ì\83T\83C\83Y */\r
1137 } DIALOGSIZE;\r
1138 \r
1139 \r
1140 /*===== \90\94\92l\95Ï\8a·\97p =====*/\r
1141 \r
1142 typedef struct {\r
1143         int Num1;\r
1144         int Num2;\r
1145 } INTCONVTBL;\r
1146 \r
1147 \r
1148 /*=================================================\r
1149 *               \83v\83\8d\83g\83^\83C\83v\r
1150 *=================================================*/\r
1151 \r
1152 /*===== main.c =====*/\r
1153 \r
1154 int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int cmdShow);\r
1155 void DispWindowTitle(void);\r
1156 HWND GetMainHwnd(void);\r
1157 HWND GetFocusHwnd(void);\r
1158 void SetFocusHwnd(HWND hWnd);\r
1159 HINSTANCE GetFtpInst(void);\r
1160 void DoubleClickProc(int Win, int Mode, int App);\r
1161 void ExecViewer(char *Fname, int App);\r
1162 void ExecViewer2(char *Fname1, char *Fname2, int App);\r
1163 void AddTempFileList(char *Fname);\r
1164 void SoundPlay(int Num);\r
1165 char *AskHelpFilePath(void);\r
1166 char *AskTmpFilePath(void);\r
1167 char *AskIniFilePath(void);\r
1168 int AskForceIni(void);\r
1169 int BackgrndMessageProc(void);\r
1170 void ResetAutoExitFlg(void);\r
1171 int AskAutoExit(void);\r
1172 \r
1173 /*===== filelist.c =====*/\r
1174 \r
1175 int MakeListWin(HWND hWnd, HINSTANCE hInst);\r
1176 void DeleteListWin(void);\r
1177 HWND GetLocalHwnd(void);\r
1178 HWND GetRemoteHwnd(void);\r
1179 void GetListTabWidth(void);\r
1180 void SetListViewType(void);\r
1181 void GetRemoteDirForWnd(int Mode, int *CancelCheckWork);\r
1182 void GetLocalDirForWnd(void);\r
1183 void ReSortDispList(int Win, int *CancelCheckWork);\r
1184 void SelectFileInList(HWND hWnd, int Type);\r
1185 void FindFileInList(HWND hWnd, int Type);\r
1186 // void WildCard2RegExp(char *Str);\r
1187 int GetCurrentItem(int Win);\r
1188 int GetItemCount(int Win);\r
1189 int GetSelectedCount(int Win);\r
1190 int GetFirstSelected(int Win, int All);\r
1191 int GetNextSelected(int Win, int Pos, int All);\r
1192 int FindNameNode(int Win, char *Name);\r
1193 void GetNodeName(int Win, int Pos, char *Buf, int Max);\r
1194 int GetNodeTime(int Win, int Pos, FILETIME *Buf);\r
1195 int GetNodeSize(int Win, int Pos, LONGLONG *Buf);\r
1196 int GetNodeAttr(int Win, int Pos, int *Buf);\r
1197 int GetNodeType(int Win, int Pos);\r
1198 void GetNodeOwner(int Win, int Pos, char *Buf, int Max);\r
1199 void EraseRemoteDirForWnd(void);\r
1200 double GetSelectedTotalSize(int Win);\r
1201 void MakeSelectedFileList(int Win, int Expand, int All, FILELIST **Base, int *CancelCheckWork);\r
1202 void MakeDroppedFileList(WPARAM wParam, char *Cur, FILELIST **Base);\r
1203 void MakeDroppedDir(WPARAM wParam, char *Cur);\r
1204 void AddRemoteTreeToFileList(int Num, char *Path, int IncDir, FILELIST **Base);\r
1205 void DeleteFileList(FILELIST **Base);\r
1206 FILELIST *SearchFileList(char *Fname, FILELIST *Base, int Caps);\r
1207 int Assume1900or2000(int Year);\r
1208 void SetFilter(int *CancelCheckWork);\r
1209 void doDeleteRemoteFile(void);\r
1210 \r
1211 \r
1212 /*===== toolmenu.c =====*/\r
1213 \r
1214 int MakeToolBarWindow(HWND hWnd, HINSTANCE hInst);\r
1215 void DeleteToolBarWindow(void);\r
1216 HWND GetMainTbarWnd(void);\r
1217 HWND GetLocalHistHwnd(void);\r
1218 HWND GetRemoteHistHwnd(void);\r
1219 HWND GetLocalHistEditHwnd(void);\r
1220 HWND GetRemoteHistEditHwnd(void);\r
1221 HWND GetLocalTbarWnd(void);\r
1222 HWND GetRemoteTbarWnd(void);\r
1223 int GetHideUI(void);\r
1224 void MakeButtonsFocus(void);\r
1225 void DisableUserOpe(void);\r
1226 void EnableUserOpe(void);\r
1227 int AskUserOpeDisabled(void);\r
1228 void SetTransferTypeImm(int Mode);\r
1229 void SetTransferType(int Type);\r
1230 void DispTransferType(void);\r
1231 int AskTransferType(void);\r
1232 int AskTransferTypeAssoc(char *Fname, int Type);\r
1233 void SaveTransferType(void);\r
1234 void SetHostKanjiCodeImm(int Mode);\r
1235 void SetHostKanjiCode(int Type);\r
1236 void DispHostKanjiCode(void);\r
1237 int AskHostKanjiCode(void);\r
1238 void HideHostKanjiButton(void);\r
1239 // \83\8d\81[\83J\83\8b\82Ì\8a¿\8e\9a\83R\81[\83h\r
1240 void SetLocalKanjiCodeImm(int Mode);\r
1241 void SetLocalKanjiCode(int Type);\r
1242 void DispLocalKanjiCode(void);\r
1243 int AskLocalKanjiCode(void);\r
1244 void HideLocalKanjiButton(void);\r
1245 // \82±\82±\82Ü\82Å\r
1246 void SetHostKanaCnvImm(int Mode);\r
1247 void SetHostKanaCnv(void);\r
1248 void DispHostKanaCnv(void);\r
1249 int AskHostKanaCnv(void);\r
1250 void SetSortTypeImm(int LFsort, int LDsort, int RFsort, int RDsort);\r
1251 void SetSortTypeByColumn(int Win, int Tab);\r
1252 int AskSortType(int Name);\r
1253 void SetSaveSortToHost(int Sw);\r
1254 int AskSaveSortToHost(void);\r
1255 void DispListType(void);\r
1256 void SetSyncMoveMode(int Mode);\r
1257 void ToggleSyncMoveMode(void);\r
1258 void DispSyncMoveMode(void);\r
1259 int AskSyncMoveMode(void);\r
1260 void SetRemoteDirHist(char *Path);\r
1261 void SetLocalDirHist(char *Path);\r
1262 void AskLocalCurDir(char *Buf, int Max);\r
1263 void AskRemoteCurDir(char *Buf, int Max);\r
1264 void SetCurrentDirAsDirHist(void);\r
1265 void DispDotFileMode(void);\r
1266 void LocalRbuttonMenu(int Pos);\r
1267 void RemoteRbuttonMenu(int Pos);\r
1268 \r
1269 /*===== statuswin.c =====*/\r
1270 \r
1271 int MakeStatusBarWindow(HWND hWnd, HINSTANCE hInst);\r
1272 void DeleteStatusBarWindow(void);\r
1273 HWND GetSbarWnd(void);\r
1274 void DispCurrentWindow(int Win);\r
1275 void DispSelectedSpace(void);\r
1276 void DispLocalFreeSpace(char *Path);\r
1277 void DispTransferFiles(void);\r
1278 void DispDownloadSize(LONGLONG Size);\r
1279 \r
1280 /*===== taskwin.c =====*/\r
1281 \r
1282 int MakeTaskWindow(HWND hWnd, HINSTANCE hInst);\r
1283 void DeleteTaskWindow(void);\r
1284 HWND GetTaskWnd(void);\r
1285 void SetTaskMsg(char *szFormat, ...);\r
1286 int SaveTaskMsg(char *Fname);\r
1287 void DispTaskMsg(void);\r
1288 void DoPrintf(char *szFormat, ...);\r
1289 void DoPrintf2(char *szFormat, ...);\r
1290 \r
1291 /*===== hostman.c =====*/\r
1292 \r
1293 int SelectHost(int Type);\r
1294 int AddHostToList(HOSTDATA *Set, int Pos, int Level);\r
1295 int CopyHostFromList(int Num, HOSTDATA *Set);\r
1296 int CopyHostFromListInConnect(int Num, HOSTDATA *Set);\r
1297 int SetHostBookMark(int Num, char *Bmask, int Len);\r
1298 char *AskHostBookMark(int Num);\r
1299 int SetHostDir(int Num, char *LocDir, char *HostDir);\r
1300 int SetHostPassword(int Num, char *Pass);\r
1301 int SetHostSort(int Num, int LFSort, int LDSort, int RFSort, int RDSort);\r
1302 void DecomposeSortType(ulong Sort, int *LFSort, int *LDSort, int *RFSort, int *RDSort);\r
1303 int AskCurrentHost(void);\r
1304 void SetCurrentHost(int Num);\r
1305 void CopyDefaultHost(HOSTDATA *Set);\r
1306 int SearchHostName(char *Name);\r
1307 void ImportFromWSFTP(void);\r
1308 \r
1309 /*===== connect.c =====*/\r
1310 \r
1311 void ConnectProc(int Type, int Num);\r
1312 void QuickConnectProc(void);\r
1313 void DirectConnectProc(char *unc, int Kanji, int Kana, int Fkanji, int TrMode);\r
1314 void HistoryConnectProc(int MenuCmd);\r
1315 char *AskHostAdrs(void);\r
1316 int AskHostPort(void);\r
1317 int AskHostNameKanji(void);\r
1318 int AskHostNameKana(void);\r
1319 int AskListCmdMode(void);\r
1320 int AskUseNLST_R(void);\r
1321 char *AskHostChmodCmd(void);\r
1322 int AskHostTimeZone(void);\r
1323 int AskPasvMode(void);\r
1324 char *AskHostLsName(void);\r
1325 int AskHostType(void);\r
1326 int AskHostFireWall(void);\r
1327 int AskNoFullPathMode(void);\r
1328 char *AskHostUserName(void);\r
1329 void SaveCurrentSetToHost(void);\r
1330 int ReConnectCmdSkt(void);\r
1331 // int ReConnectTrnSkt(void);\r
1332 SOCKET AskCmdCtrlSkt(void);\r
1333 SOCKET AskTrnCtrlSkt(void);\r
1334 void SktShareProh(void);\r
1335 int AskShareProh(void);\r
1336 void DisconnectProc(void);\r
1337 void DisconnectSet(void);\r
1338 int AskConnecting(void);\r
1339 SOCKET connectsock(char *host, int port, char *PreMsg, int *CancelCheckWork);\r
1340 SOCKET GetFTPListenSocket(SOCKET ctrl_skt, int *CancelCheckWork);\r
1341 int AskTryingConnect(void);\r
1342 int SocksGet2ndBindReply(SOCKET Socket, SOCKET *Data);\r
1343 \r
1344 /*===== cache.c =====*/\r
1345 \r
1346 int MakeCacheBuf(int Num);\r
1347 void DeleteCacheBuf(void);\r
1348 int AskCached(char *Path);\r
1349 int AskFreeCache(void);\r
1350 void SetCache(int Num, char *Path);\r
1351 void ClearCache(int Num);\r
1352 int AskCurrentFileListNum(void);\r
1353 void SetCurrentFileListNum(int Num);\r
1354 void SaveCache(void);\r
1355 void LoadCache(void);\r
1356 void DeleteCache(void);\r
1357 void MakeCacheFileName(int Num, char *Buf);\r
1358 void CountPrevFfftpWindows(void);\r
1359 \r
1360 /*===== ftpproc.c =====*/\r
1361 \r
1362 void DownLoadProc(int ChName, int ForceFile, int All);\r
1363 void DirectDownLoadProc(char *Fname);\r
1364 void InputDownLoadProc(void);\r
1365 void MirrorDownloadProc(int Notify);\r
1366 void UpLoadListProc(int ChName, int All);\r
1367 void UpLoadDragProc(WPARAM wParam);\r
1368 void MirrorUploadProc(int Notify);\r
1369 void DeleteProc(void);\r
1370 void RenameProc(void);\r
1371 void MoveRemoteFileProc(int);\r
1372 void MkdirProc(void);\r
1373 void ChangeDirComboProc(HWND hWnd);\r
1374 void ChangeDirBmarkProc(int MarkID);\r
1375 void ChangeDirDirectProc(int Win);\r
1376 void ChangeDirDropFileProc(WPARAM wParam);\r
1377 void ChmodProc(void);\r
1378 BOOL CALLBACK ChmodDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);\r
1379 void SomeCmdProc(void);\r
1380 void CalcFileSizeProc(void);\r
1381 void DispCWDerror(HWND hWnd);\r
1382 void CopyURLtoClipBoard(void);\r
1383 int ProcForNonFullpath(char *Path, char *CurDir, HWND hWnd, int Type);\r
1384 void ReformToVMSstyleDirName(char *Path);\r
1385 void ReformToVMSstylePathName(char *Path);\r
1386 #if defined(HAVE_OPENVMS)\r
1387 void ReformVMSDirName(char *DirName, int Flg);\r
1388 #endif\r
1389 \r
1390 /*===== local.c =====*/\r
1391 \r
1392 int DoLocalCWD(char *Path);\r
1393 void DoLocalMKD(char *Path);\r
1394 void DoLocalPWD(char *Buf);\r
1395 void DoLocalRMD(char *Path);\r
1396 void DoLocalDELE(char *Path);\r
1397 void DoLocalRENAME(char *Src, char *Dst);\r
1398 void DispFileProperty(char *Fname);\r
1399 HANDLE FindFirstFileAttr(char *Fname, WIN32_FIND_DATA *FindData, int IgnHide);\r
1400 BOOL FindNextFileAttr(HANDLE hFind, WIN32_FIND_DATA *FindData, int IgnHide);\r
1401 \r
1402 /*===== remote.c =====*/\r
1403 \r
1404 int DoCWD(char *Path, int Disp, int ForceGet, int ErrorBell);\r
1405 int DoCWDStepByStep(char *Path, char *Cur);\r
1406 int DoMKD(char *Path);\r
1407 void InitPWDcommand();\r
1408 int DoRMD(char *Path);\r
1409 int DoDELE(char *Path);\r
1410 int DoRENAME(char *Src, char *Dst);\r
1411 int DoCHMOD(char *Path, char *Mode);\r
1412 int DoSIZE(char *Path, LONGLONG *Size);\r
1413 int DoMDTM(char *Path, FILETIME *Time);\r
1414 int DoQUOTE(char *CmdStr);\r
1415 SOCKET DoClose(SOCKET Sock);\r
1416 int DoQUIT(SOCKET ctrl_skt);\r
1417 int DoDirListCmdSkt(char *AddOpt, char *Path, int Num, int *CancelCheckWork);\r
1418 int CommandProcCmd(char *Reply, char *fmt, ...);\r
1419 int CommandProcTrn(char *Reply, char *fmt, ...);\r
1420 int command(SOCKET cSkt, char *Reply, int *CancelCheckWork, char *fmt, ...);\r
1421 int SendData(SOCKET Skt, char *Data, int Size, int Mode, int *CancelCheckWork);\r
1422 int ReadReplyMessage(SOCKET cSkt, char *Buf, int Max, int *CancelCheckWork, char *Tmp);\r
1423 int ReadNchar(SOCKET cSkt, char *Buf, int Size, int *CancelCheckWork);\r
1424 char *ReturnWSError(UINT Error);\r
1425 void ReportWSError(char *Msg, UINT Error);\r
1426 int ChangeFnameRemote2Local(char *Fname, int Max);\r
1427 int ChangeFnameLocal2Remote(char *Fname, int Max);\r
1428 \r
1429 /*===== getput.c =====*/\r
1430 \r
1431 int MakeTransferThread(void);\r
1432 void CloseTransferThread(void);\r
1433 int AddTmpTransFileList(TRANSPACKET *Pkt, TRANSPACKET **Base);\r
1434 void EraseTmpTransFileList(TRANSPACKET **Base);\r
1435 int RemoveTmpTransFileListItem(TRANSPACKET **Base, int Num);\r
1436 \r
1437 void AddTransFileList(TRANSPACKET *Pkt);\r
1438 void AppendTransFileList(TRANSPACKET *Pkt);\r
1439 void KeepTransferDialog(int Sw);\r
1440 int AskTransferNow(void);\r
1441 int AskTransferFileNum(void);\r
1442 void GoForwardTransWindow(void);\r
1443 void InitTransCurDir(void);\r
1444 int DoDownLoad(SOCKET cSkt, TRANSPACKET *Pkt, int DirList, int *CancelCheckWork);\r
1445 int CheckPathViolation(TRANSPACKET *packet);\r
1446 \r
1447 /*===== codecnv.c =====*/\r
1448 \r
1449 void InitTermCodeConvInfo(TERMCODECONVINFO *cInfo);\r
1450 int FlushRestTermCodeConvData(TERMCODECONVINFO *cInfo);\r
1451 int ConvTermCodeToCRLF(TERMCODECONVINFO *cInfo);\r
1452 \r
1453 void InitCodeConvInfo(CODECONVINFO *cInfo);\r
1454 int FlushRestData(CODECONVINFO *cInfo);\r
1455 int ConvEUCtoSJIS(CODECONVINFO *cInfo);\r
1456 int ConvJIStoSJIS(CODECONVINFO *cInfo);\r
1457 int ConvSMBtoSJIS(CODECONVINFO *cInfo);\r
1458 int ConvUTF8NtoSJIS(CODECONVINFO *cInfo); // UTF-8N\91Î\89\9e\r
1459 int ConvSJIStoEUC(CODECONVINFO *cInfo);\r
1460 int ConvSJIStoJIS(CODECONVINFO *cInfo);\r
1461 int ConvSJIStoSMB_HEX(CODECONVINFO *cInfo);\r
1462 int ConvSJIStoSMB_CAP(CODECONVINFO *cInfo);\r
1463 int ConvSJIStoUTF8N(CODECONVINFO *cInfo); // UTF-8N\91Î\89\9e\r
1464 void ConvAutoToSJIS(char *Text, int Pref);\r
1465 int CheckKanjiCode(char *Text, int Size, int Pref);\r
1466 \r
1467 /*===== option.c =====*/\r
1468 \r
1469 void SetOption(int Start);\r
1470 int SortSetting(void);\r
1471 \r
1472 /*===== bookmark.c =====*/\r
1473 \r
1474 void ClearBookMark(void);\r
1475 void AddCurDirToBookMark(int Win);\r
1476 int AskBookMarkText(int MarkID, char *Local, char *Remote, int Max);\r
1477 void SaveBookMark(void);\r
1478 void LoadBookMark(void);\r
1479 int EditBookMark(void);\r
1480 \r
1481 /*===== regexp.c =====*/\r
1482 \r
1483 int LoadJre(void);\r
1484 void ReleaseJre(void);\r
1485 int AskRasUsable(void);\r
1486 int AskJreUsable(void);\r
1487 int GetJreVersion(void);\r
1488 int JreCompileStr(char *Str);\r
1489 char *JreGetStrMatchInfo(char *Str, UINT nStart);\r
1490 \r
1491 /*===== wildcard.c =====*/\r
1492 \r
1493 int CheckFname(char *str, char *regexp);\r
1494 \r
1495 /*===== registory.c =====*/\r
1496 \r
1497 void SaveRegistory(void);\r
1498 int LoadRegistory(void);\r
1499 void ClearRegistory(void);\r
1500 void SetMasterPassword( const char* );\r
1501 int GetMasterPasswordStatus(void);\r
1502 int ValidateMasterPassword(void);\r
1503 DWORD LoadHideDriveListRegistory(void);\r
1504 void SaveSettingsToFile(void);\r
1505 int LoadSettingsFromFile(void);\r
1506 \r
1507 /*===== lvtips.c =====*/\r
1508 \r
1509 int InitListViewTips(HWND hWnd, HINSTANCE hInst);\r
1510 void DeleteListViewTips(void);\r
1511 void EraseListViewTips(void);\r
1512 HWND GetListViewTipsHwnd(void);\r
1513 void CheckTipsDisplay(HWND hWnd, LPARAM lParam);\r
1514 \r
1515 /*===== ras.c =====*/\r
1516 \r
1517 void LoadRasLib(void);\r
1518 void ReleaseRasLib(void);\r
1519 void DisconnectRas(int Notify);\r
1520 int SetRasEntryToComboBox(HWND hDlg, int Item, char *CurName);\r
1521 int ConnectRas(int Dialup, int UseThis, int Notify, char *Name);\r
1522 \r
1523 /*===== misc.c =====*/\r
1524 \r
1525 int InputDialogBox(int Res, HWND hWnd, char *Title, char *Buf, int Max, int *Flg, int Help);\r
1526 BOOL CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
1527 BOOL CALLBACK ExeEscTextDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
1528 void SetYenTail(char *Str);\r
1529 void RemoveYenTail(char *Str);\r
1530 void SetSlashTail(char *Str);\r
1531 void RemoveReturnCode(char *Str);\r
1532 void ReplaceAll(char *Str, char Src, char Dst);\r
1533 int IsDigitSym(int Ch, int Sym);\r
1534 int StrAllSameChar(char *Str, char Ch);\r
1535 void RemoveTailingSpaces(char *Str);\r
1536 char *stristr(char *s1, char *s2);\r
1537 char *GetNextField(char *Str);\r
1538 int GetOneField(char *Str, char *Buf, int Max);\r
1539 void RemoveComma(char *Str);\r
1540 char *GetFileName(char *Path);\r
1541 char *GetFileExt(char *Path);\r
1542 char *GetToolName(char *Path);\r
1543 void RemoveFileName(char *Path, char *Buf);\r
1544 void GetUpperDir(char *Path);\r
1545 void GetUpperDirEraseTopSlash(char *Path);\r
1546 int AskDirLevel(char *Path);\r
1547 void MakeSizeString(double Size, char *Buf);\r
1548 void DispStaticText(HWND hWnd, char *Str);\r
1549 int StrMultiLen(char *Str);\r
1550 void RectClientToScreen(HWND hWnd, RECT *Rect);\r
1551 int hex2bin(char Ch);\r
1552 int SplitUNCpath(char *unc, char *Host, char *Path, char *File, char *User, char *Pass, int *Port);\r
1553 int TimeString2FileTime(char *Time, FILETIME *Buf);\r
1554 void FileTime2TimeString(FILETIME *Time, char *Buf, int Mode, int InfoExist);\r
1555 void SpecificLocalFileTime2FileTime(FILETIME *Time, int TimeZone);\r
1556 int AttrString2Value(char *Str);\r
1557 void AttrValue2String(int Attr, char *Buf);\r
1558 void FormatIniString(char *Str);\r
1559 int SelectFile(HWND hWnd, char *Fname, char *Title, char *Filters, char *Ext, int Flags, int Save);\r
1560 int SelectDir(HWND hWnd, char *Buf, int MaxLen);\r
1561 void SetRadioButtonByValue(HWND hDlg, int Value, const RADIOBUTTON *Buttons, int Num);\r
1562 int AskRadioButtonValue(HWND hDlg, const RADIOBUTTON *Buttons, int Num);\r
1563 int xtoi(char *Str);\r
1564 int CheckFileReadable(char *Fname);\r
1565 int max1(int n, int m);\r
1566 int min1(int n, int m);\r
1567 void ExcEndianDWORD(DWORD *x);\r
1568 void SwapInt(int *Num1, int *Num2);\r
1569 int IsFolderExist(char *Path);\r
1570 int ConvertNum(int x, int Dir, const INTCONVTBL *Tbl, int Num);\r
1571 int MoveFileToTrashCan(char *Path);\r
1572 LONGLONG MakeLongLong(DWORD High, DWORD Low);\r
1573 char *MakeNumString(LONGLONG Num, char *Buf, BOOL Comma);\r
1574 \r
1575 /*===== dlgsize.c =====*/\r
1576 \r
1577 void DlgSizeInit(HWND hDlg, DIALOGSIZE *Dt, SIZE *Size);\r
1578 void AskDlgSize(HWND hDlg, DIALOGSIZE *Dt, SIZE *Size);\r
1579 void DlgSizeChange(HWND hDlg, DIALOGSIZE *Dt, RECT *New, int Flg);\r
1580 \r
1581 /*===== opie.c =====*/\r
1582 \r
1583 int Make6WordPass(int seq, char *seed, char *pass, int type, char *buf);\r
1584 \r
1585 /*===== tool.c =====*/\r
1586 \r
1587 void OtpCalcTool(void);\r
1588 \r
1589 /*===== history.c =====*/\r
1590 \r
1591 void AddHostToHistory(HOSTDATA *Host, int TrMode);\r
1592 void AddHistoryToHistory(HISTORYDATA *Hist);\r
1593 int AskHistoryNum(void);\r
1594 void CheckHistoryNum(int Space);\r
1595 void CopyHistoryToHost(HISTORYDATA *Hist, HOSTDATA *Host);\r
1596 void CopyDefaultHistory(HISTORYDATA *Set);\r
1597 void SetAllHistoryToMenu(void);\r
1598 int GetHistoryByCmd(int MenuCmd, HISTORYDATA *Buf);\r
1599 int GetHistoryByNum(int Num, HISTORYDATA *Buf);\r
1600 \r
1601 /*===== clipboard.c =====*/\r
1602 \r
1603 int CopyStrToClipBoard(char *Str);\r
1604 \r
1605 /*===== diskfree.c =====*/\r
1606 \r
1607 void LoadKernelLib(void);\r
1608 void ReleaseKernelLib(void);\r
1609 char *AskLocalFreeSpace(char *Path);\r
1610 \r
1611 /*===== socket.c =====*/\r
1612 \r
1613 int MakeSocketWin(HWND hWnd, HINSTANCE hInst);\r
1614 void DeleteSocketWin(void);\r
1615 struct hostent *do_gethostbyname(const char *Name, char *Buf, int Len, int *CancelCheckWork);\r
1616 SOCKET do_socket(int af, int type, int protocol);\r
1617 int do_connect(SOCKET s, const struct sockaddr *name, int namelen, int *CancelCheckWork);\r
1618 int do_closesocket(SOCKET s);\r
1619 int do_listen(SOCKET s, int backlog);\r
1620 SOCKET do_accept(SOCKET s, struct sockaddr *addr, int *addrlen);\r
1621 int do_recv(SOCKET s, char *buf, int len, int flags, int *TimeOut, int *CancelCheckWork);\r
1622 int do_send(SOCKET s, const char *buf, int len, int flags, int *TimeOutErr, int *CancelCheckWork);\r
1623 int CheckClosedAndReconnect(void);\r
1624 void CheckAllEventClosed(void);\r
1625 \r
1626 /*===== updatebell.c =====*/\r
1627 \r
1628 void SaveUpdateBellInfo(void);\r
1629 \r
1630 \r
1631 #endif   // __COMMON_H__\r