OSDN Git Service

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