1 | /* C K U U S 2 -- User interface strings & help text module for C-Kermit */ |
---|
2 | |
---|
3 | /* |
---|
4 | Author: Frank da Cruz <fdc@columbia.edu>, |
---|
5 | Columbia University Academic Information Systems, New York City. |
---|
6 | |
---|
7 | Copyright (C) 1985, 1996, Trustees of Columbia University in the City of New |
---|
8 | York. The C-Kermit software may not be, in whole or in part, licensed or |
---|
9 | sold for profit as a software product itself, nor may it be included in or |
---|
10 | distributed with commercial products or otherwise distributed by commercial |
---|
11 | concerns to their clients or customers without written permission of the |
---|
12 | Office of Kermit Development and Distribution, Columbia University. This |
---|
13 | copyright notice must not be removed, altered, or obscured. |
---|
14 | */ |
---|
15 | |
---|
16 | /* |
---|
17 | This module separates long strings from the body of the other ckuus* modules. |
---|
18 | */ |
---|
19 | |
---|
20 | #include "ckcsym.h" |
---|
21 | #include "ckcdeb.h" |
---|
22 | #include "ckcnet.h" |
---|
23 | #include "ckcasc.h" |
---|
24 | #include "ckcker.h" |
---|
25 | #include "ckuusr.h" |
---|
26 | #include "ckcxla.h" |
---|
27 | |
---|
28 | extern xx_strp xxstring; |
---|
29 | extern char *ccntab[]; |
---|
30 | |
---|
31 | #ifndef NOICP |
---|
32 | #ifdef DCMDBUF |
---|
33 | extern char *cmdbuf; |
---|
34 | #else |
---|
35 | extern char cmdbuf[]; |
---|
36 | #endif /* DCMDBUF */ |
---|
37 | #endif /* NOICP */ |
---|
38 | |
---|
39 | #ifdef DEBUG |
---|
40 | extern char debfil[]; |
---|
41 | #endif /* DEBUG */ |
---|
42 | #ifdef TLOG |
---|
43 | extern char trafil[]; |
---|
44 | #endif |
---|
45 | |
---|
46 | extern char *xarg0; |
---|
47 | extern int nrmt, nprm, dfloc, local, parity, escape; |
---|
48 | extern int turn, flow; |
---|
49 | extern int binary, warn, quiet, keep; |
---|
50 | extern int success; |
---|
51 | #ifdef OS2 |
---|
52 | extern int tt_rows[], tt_cols[]; |
---|
53 | #else /* OS2 */ |
---|
54 | extern int tt_rows, tt_cols; |
---|
55 | #endif /* OS2 */ |
---|
56 | extern int cmd_rows, cmd_cols; |
---|
57 | |
---|
58 | extern long speed; |
---|
59 | extern char *dftty, *versio, *ckxsys; |
---|
60 | extern struct keytab prmtab[]; |
---|
61 | extern struct keytab remcmd[]; |
---|
62 | |
---|
63 | /* Command-Line help (Unix command-line arguments) */ |
---|
64 | |
---|
65 | #ifndef NOCMDL |
---|
66 | static |
---|
67 | char *hlp1[] = { |
---|
68 | #ifndef NOICP |
---|
69 | " [cmdfile] [-x arg [-x arg]...[-yyy]..] [ = text ] ]\n", |
---|
70 | #else |
---|
71 | "[-x arg [-x arg]...[-yyy]..]\n", |
---|
72 | #endif /* NOICP */ |
---|
73 | " -x is an option requiring an argument, -y an option with no argument.\n", |
---|
74 | #ifdef COMMENT /* No room for this any more */ |
---|
75 | #ifndef NOICP |
---|
76 | #ifndef NOSPL |
---|
77 | " = means ignore following words, but place them in array \\&@[].\n", |
---|
78 | #else |
---|
79 | " = means ignore following material.\n", |
---|
80 | #endif /* NOSPL */ |
---|
81 | #else |
---|
82 | " = means ignore following material.\n", |
---|
83 | #endif /* NOICP */ |
---|
84 | #endif /* COMMENT */ |
---|
85 | "actions:\n", |
---|
86 | " -s files send files -r receive files\n", |
---|
87 | " -s - send from stdin -k receive files to stdout\n", |
---|
88 | #ifndef NOSERVER |
---|
89 | " -x enter server mode -f finish remote server\n", |
---|
90 | #else |
---|
91 | " -f finish remote server\n", |
---|
92 | #endif /* NOSERVER */ |
---|
93 | " -g files get remote files from server (quote wildcards)\n", |
---|
94 | " -a name alternate file name, used with -s, -r, -g\n", |
---|
95 | #ifndef NOLOCAL |
---|
96 | " -c connect (before file transfer), used with -l and -b\n", |
---|
97 | " -n connect (after file transfer), used with -l and -b\n", |
---|
98 | #endif /* NOLOCAL */ |
---|
99 | "settings:\n", |
---|
100 | #ifndef NOLOCAL |
---|
101 | " -l dev communication line device -q quiet during file transfer\n", |
---|
102 | #ifdef NETCONN |
---|
103 | " -j host network host name[:port] -i binary transfer (-T = text)\n", |
---|
104 | #else |
---|
105 | " -i binary file transfer\n", |
---|
106 | #endif /* NETCONN */ |
---|
107 | " -b bps line speed, e.g. 19200 -t half duplex, xon handshake\n", |
---|
108 | #else |
---|
109 | " -i binary file transfer\n", |
---|
110 | #endif /* NOLOCAL */ |
---|
111 | #ifdef DEBUG |
---|
112 | " -p x parity, x = e,o,m,s, or n -d log debug info to debug.log\n", |
---|
113 | #else |
---|
114 | " -p x parity, x = e,o,m,s, or n\n", |
---|
115 | #endif /* DEBUG */ |
---|
116 | #ifndef NOICP |
---|
117 | " -y name alternate init file name -Y no init file\n", |
---|
118 | #else |
---|
119 | #endif /* NOICP */ |
---|
120 | " -e n receive packet length -w write over files\n", |
---|
121 | #ifdef UNIX |
---|
122 | " -v n sliding window slots -z force foreground\n", |
---|
123 | #else |
---|
124 | " -v n sliding window slots\n", |
---|
125 | #endif /* UNIX */ |
---|
126 | #ifndef NODIAL |
---|
127 | " -m name modem type -R remote-only advisory\n", |
---|
128 | #endif /* NODIAL */ |
---|
129 | /* |
---|
130 | If all this stuff is defined, we run off the screen... |
---|
131 | */ |
---|
132 | #ifdef CK_NETBIOS |
---|
133 | " -N n NetBIOS adapter number\n", |
---|
134 | #endif /* CK_NETBIOS */ |
---|
135 | #ifdef ANYX25 |
---|
136 | " -o index X.25 closed user group call -X X.25 address\n", |
---|
137 | " -U string X.25 call user data -u X.25 reverse charge call\n", |
---|
138 | " -Z n X.25 connection open file descriptor\n", |
---|
139 | #endif /* ANYX25 */ |
---|
140 | #ifndef NOSPL |
---|
141 | "other:\n", |
---|
142 | " -C \"command, command, ...\" (interactive-mode commands to execute)\n", |
---|
143 | " = means ignore following words, but place them in array \\&@[].\n", |
---|
144 | #else |
---|
145 | " = means ignore following text.\n", |
---|
146 | #endif /* NOSPL */ |
---|
147 | #ifdef NOICP |
---|
148 | "Operation by command-line options only.\n", |
---|
149 | #else |
---|
150 | "If no action command is included, or -S is, enter interactive dialog.\n", |
---|
151 | #endif /* NOICP */ |
---|
152 | "" |
---|
153 | }; |
---|
154 | |
---|
155 | /* U S A G E */ |
---|
156 | |
---|
157 | VOID |
---|
158 | usage() { |
---|
159 | #ifndef MINIX |
---|
160 | conol("Usage: "); |
---|
161 | conol(xarg0); |
---|
162 | conola(hlp1); |
---|
163 | #else |
---|
164 | conol("Usage: "); |
---|
165 | conol(xarg0); |
---|
166 | conol(" [-x arg [-x arg]...[-yyy]..] ]\n"); |
---|
167 | #endif /* MINIX */ |
---|
168 | } |
---|
169 | #endif /* NOCMDL */ |
---|
170 | |
---|
171 | #ifndef NOICP |
---|
172 | |
---|
173 | /* Interactive help strings */ |
---|
174 | |
---|
175 | static char *tophlp[] = { |
---|
176 | "Trustees of Columbia University in the City of New York.\n", |
---|
177 | |
---|
178 | #ifndef NOHELP |
---|
179 | #ifdef NT |
---|
180 | " Type INTRO for a brief introduction to the Kermit Command screen.", |
---|
181 | #else |
---|
182 | " Type INTRO for a brief introduction to C-Kermit.", |
---|
183 | #endif /* NT */ |
---|
184 | " Type VERSION for version and copyright information.", |
---|
185 | " Type HELP followed by a command name for help about a specific command.", |
---|
186 | " Type NEWS for news about new features.", |
---|
187 | #ifdef OS2 |
---|
188 | #ifndef NT |
---|
189 | " Type UPDATES to view updates to the \"Using C-Kermit\" manual.", |
---|
190 | #endif /* NT */ |
---|
191 | #endif /* OS2 */ |
---|
192 | " Type BUG to learn how to get technical support.", |
---|
193 | " Press ? (question mark) at the prompt, or anywhere within a command,", |
---|
194 | " for a menu (context-sensitive help, menu on demand).", |
---|
195 | #else |
---|
196 | "Press ? for a list of commands; see documentation for detailed descriptions.", |
---|
197 | #endif /* NOHELP */ |
---|
198 | |
---|
199 | #ifndef NOCMDL |
---|
200 | #ifdef NT |
---|
201 | "\n\ |
---|
202 | From DOS level, type \"k95 -h\" for help about command-line options.", |
---|
203 | #else |
---|
204 | #ifdef OS2 |
---|
205 | "\n\ |
---|
206 | From system level, type \"k2 -h\" for help about command-line options.", |
---|
207 | #else |
---|
208 | "\n\ |
---|
209 | From system level, type \"kermit -h\" for help about command-line options.", |
---|
210 | #endif /* OS2 */ |
---|
211 | #endif /* NT */ |
---|
212 | #endif /* NOCMDL */ |
---|
213 | " ", |
---|
214 | #ifdef NT |
---|
215 | "Documentation: \"Kermit 95\" by Christine M. Gianone and Frank da Cruz,", |
---|
216 | "Manning Publications, 1996. Technical Reference: \"Using C-Kermit\" by", |
---|
217 | "Frank da Cruz and Christine M. Gianone, 2nd Ed., Digital Press, 1997.", |
---|
218 | "To order call +1 (212) 854-3703.", |
---|
219 | #else |
---|
220 | #ifdef MAC |
---|
221 | "Documentation for Command Window: \"Using C-Kermit\" by Frank da Cruz and", |
---|
222 | "Christine M. Gianone, Digital Press, 1997, ISBN: 1-55558-164-1. To order,", |
---|
223 | "call +1 212 854-3703 or +1 800 366-2665.", |
---|
224 | #else |
---|
225 | "DOCUMENTATION: \"Using C-Kermit\" by Frank da Cruz and Christine M. Gianone,", |
---|
226 | "2nd Edition, Digital Press / Butterworth-Heinemann 1997, ISBN 1-55558-164-1.", |
---|
227 | "To order: +1 212 854-3703 or +1 800 366-2665. PLEASE PURCHASE THE MANUAL.", |
---|
228 | "It shows you how to use C-Kermit and answers your questions; sales of this", |
---|
229 | "book are the primary source of funding for C-Kermit development and support.", |
---|
230 | #endif /* MAC */ |
---|
231 | #endif /* NT */ |
---|
232 | " ", |
---|
233 | #ifdef OS2ONLY |
---|
234 | "Use the UPDATES command to access hypertext documentation for features added", |
---|
235 | "since the book was published. Use UPDATES <keyword> to search for a keyword.", |
---|
236 | #else |
---|
237 | #ifdef MAC |
---|
238 | "Also see the Mac Kermit Doc and Bwr files on the Mac Kermit diskette.\n", |
---|
239 | #else |
---|
240 | #ifdef HPUX10 |
---|
241 | "See /usr/share/lib/kermit/*.* for additional information.", |
---|
242 | #endif /* HPUX10 */ |
---|
243 | #endif /* MAC */ |
---|
244 | #endif /* OS2 */ |
---|
245 | "" |
---|
246 | }; |
---|
247 | |
---|
248 | #ifndef NOHELP |
---|
249 | char *newstxt[] = { |
---|
250 | " Welcome to C-Kermit 6.0. This version of C-Kermit was released", |
---|
251 | " concurrently with the second edition of the manual, \"Using C-Kermit\",", |
---|
252 | " and it is completely described there, with supplementary material found", |
---|
253 | " in system-specific publications, such as the Kermit 95 manual. The", |
---|
254 | " update files that accompanied edits 189, 190, and 191 are no longer needed.", |
---|
255 | " ", |
---|
256 | " If the release date shown by the VERSION command is long past, be sure to", |
---|
257 | " check with the Kermit Project to see if have been updates.", |
---|
258 | "" |
---|
259 | }; |
---|
260 | #endif /* NOHELP */ |
---|
261 | |
---|
262 | #ifndef NOHELP |
---|
263 | char *introtxt[] = { |
---|
264 | #ifdef NT |
---|
265 | "Welcome to K-95, Kermit communications software for:", |
---|
266 | #else |
---|
267 | #ifdef OS2 |
---|
268 | "Welcome to Kermit/2, Kermit communications software for:", |
---|
269 | #else |
---|
270 | #ifdef UNIX |
---|
271 | #ifdef HPUX |
---|
272 | "Welcome to HP-UX C-Kermit communications software for:", |
---|
273 | #else |
---|
274 | "Welcome to UNIX C-Kermit communications software for:", |
---|
275 | #endif /* HPUX */ |
---|
276 | #else |
---|
277 | #ifdef VMS |
---|
278 | "Welcome to VMS C-Kermit communications software for:", |
---|
279 | #else |
---|
280 | #ifdef VOS |
---|
281 | "Welcome to VOS C-Kermit communications software for:", |
---|
282 | #else |
---|
283 | #ifdef MAC |
---|
284 | "Welcome to Mac Kermit communications software for:", |
---|
285 | #else |
---|
286 | "Welcome to C-Kermit communications software for:", |
---|
287 | #endif /* MAC */ |
---|
288 | #endif /* VOS */ |
---|
289 | #endif /* VMS */ |
---|
290 | #endif /* UNIX */ |
---|
291 | #endif /* OS2 */ |
---|
292 | #endif /* NT */ |
---|
293 | " . Error-free and efficient file transfer", |
---|
294 | #ifdef OS2 |
---|
295 | " . VT320/220/102/100/52, ANSI, Wyse, DG, Televideo, and other emulations", |
---|
296 | #else |
---|
297 | #ifdef MAC |
---|
298 | " . VT220 terminal emulation", |
---|
299 | #else |
---|
300 | " . Terminal connection", |
---|
301 | #endif /* MAC */ |
---|
302 | #endif /* OS2 */ |
---|
303 | #ifndef NOSPL |
---|
304 | " . Script programming", |
---|
305 | #endif /* NOSPL */ |
---|
306 | #ifndef NOICS |
---|
307 | " . International character set conversion", |
---|
308 | #endif /* NOICS */ |
---|
309 | #ifndef NOLOCAL |
---|
310 | "\nSupporting:", |
---|
311 | " . Serial connections, direct or dialed.", |
---|
312 | #ifndef NODIAL |
---|
313 | " . Automatic modem dialing", |
---|
314 | #endif /* NODIAL */ |
---|
315 | #ifdef TCPSOCKET |
---|
316 | " . TCP/IP network connections", |
---|
317 | #endif /* TCPSOCKET */ |
---|
318 | #ifdef ANYX25 |
---|
319 | " . X.25 network connections", |
---|
320 | #endif /* ANYX25 */ |
---|
321 | #ifdef OS2 |
---|
322 | #ifdef DECNET |
---|
323 | " . DECnet/PATHWORKS LAT Ethernet connections", |
---|
324 | #endif /* DECNET */ |
---|
325 | #ifdef SUPERLAT |
---|
326 | " . Meridian Technologies' SuperLAT connections", |
---|
327 | #endif /* SUPERLAT */ |
---|
328 | #ifdef NPIPE |
---|
329 | " . Named-pipe connections", |
---|
330 | #endif /* NPIPE */ |
---|
331 | #ifdef CK_NETBIOS |
---|
332 | " . NETBIOS connections", |
---|
333 | #endif /* CK_NETBIOS */ |
---|
334 | #endif /* OS2 */ |
---|
335 | #endif /* NOLOCAL */ |
---|
336 | |
---|
337 | "\nWhile typing commands, you may use the following special characters:", |
---|
338 | " . DEL, RUBOUT, BACKSPACE, CTRL-H: Delete the most recent character typed.", |
---|
339 | " . CTRL-W: Delete the most recent word typed.", |
---|
340 | " . CTRL-U: Delete the current line.", |
---|
341 | " . CTRL-R: Redisplay the current line.", |
---|
342 | #ifdef CK_RECALL |
---|
343 | #ifdef OS2 |
---|
344 | " . \030 or CTRL-B: Command recall - go backwards in command recall buffer.", |
---|
345 | " . \031 or CTRL-N: Command recall - go forward in command recall buffer.", |
---|
346 | #else |
---|
347 | " . CTRL-P: Command recall - go backwards in command recall buffer.", |
---|
348 | " . CTRL-B: Command recall - same as Ctrl-P.", |
---|
349 | " . CTRL-N: Command recall - go forward in command recall buffer.", |
---|
350 | #endif /* OS2 */ |
---|
351 | #endif /* CK_RECALL */ |
---|
352 | " . ? (question mark) Display a menu for the current command field.", |
---|
353 | " . ESC (or TAB) Attempt to complete the current field.", |
---|
354 | " . \\ (backslash) include the following character literally", |
---|
355 | #ifndef NOSPL |
---|
356 | " or introduce a backslash code, variable, or function.", |
---|
357 | #else |
---|
358 | " or introduce a numeric backslash code.", |
---|
359 | #endif /* NOSPL */ |
---|
360 | " Command words other than filenames can be abbreviated in most contexts.", |
---|
361 | |
---|
362 | #ifdef OS2 |
---|
363 | #ifdef NT |
---|
364 | "\nBasic K-95 commands:", |
---|
365 | " EXIT exit from K-95", |
---|
366 | #else /* NT */ |
---|
367 | "\nBasic Kermit/2 commands:", |
---|
368 | " EXIT exit from Kermit/2", |
---|
369 | #endif /* NT */ |
---|
370 | #else /* OS2 */ |
---|
371 | "\nBasic C-Kermit commands:", |
---|
372 | " EXIT exit from C-Kermit", |
---|
373 | #endif /* NT */ |
---|
374 | " HELP request general help", |
---|
375 | " HELP command request help about the given command", |
---|
376 | " TAKE execute commands from a file", |
---|
377 | |
---|
378 | "\nCommands for file transfer:", |
---|
379 | " SEND send files", |
---|
380 | " RECEIVE receive files", |
---|
381 | " GET get files from a Kermit server", |
---|
382 | #ifdef CK_RESEND |
---|
383 | " RESEND recover an interrupted send", |
---|
384 | " REGET recover an interrupted get from a server", |
---|
385 | #endif /* CK_RESEND */ |
---|
386 | #ifndef NOSERVER |
---|
387 | " SERVER be a Kermit server", |
---|
388 | #endif /* NOSERVER */ |
---|
389 | |
---|
390 | "\nImportant settings:", |
---|
391 | " SET PARITY communications parity", |
---|
392 | #ifdef CK_RTSCTS |
---|
393 | " SET FLOW communications flow control, such as RTS/CTS", |
---|
394 | #else |
---|
395 | " SET FLOW communications flow control, such as XON/XOFF", |
---|
396 | #endif /* CK_RTSCTS */ |
---|
397 | " SET FILE file settings, for example TYPE TEXT or TYPE BINARY", |
---|
398 | |
---|
399 | #ifndef NOLOCAL |
---|
400 | "\nTo make a direct serial connection:", |
---|
401 | #ifdef OS2 |
---|
402 | #ifdef NT |
---|
403 | " SET PORT select serial communication device", |
---|
404 | #else |
---|
405 | " SET PORT select serial communication port or server", |
---|
406 | #endif /* NT */ |
---|
407 | #else |
---|
408 | " SET LINE select serial communication device", |
---|
409 | #endif /* OS2 */ |
---|
410 | " SET SPEED select communication speed", |
---|
411 | " CONNECT begin terminal connection", |
---|
412 | |
---|
413 | #ifndef NODIAL |
---|
414 | "\nTo dial out with a modem:", |
---|
415 | " SET DIAL DIRECTORY specify dialing directory file (optional)", |
---|
416 | " SET DIAL COUNTRY-CODE country you are dialing from (*)", |
---|
417 | " SET DIAL AREA-CODE area-code you are dialing from (*)", |
---|
418 | " LOOKUP lookup entries in your dialing directory (*)", |
---|
419 | " SET MODEM TYPE select modem type", |
---|
420 | #ifdef OS2 |
---|
421 | #ifdef NT |
---|
422 | " SET PORT select serial communication device", |
---|
423 | #else |
---|
424 | " SET PORT select serial communication port or server", |
---|
425 | #endif /* NT */ |
---|
426 | #else |
---|
427 | " SET LINE select serial communication device", |
---|
428 | #endif /* OS2 */ |
---|
429 | " SET SPEED select communication speed", |
---|
430 | " DIAL dial the phone number", |
---|
431 | " CONNECT begin terminal connection", |
---|
432 | #ifdef OS2 |
---|
433 | "Further info: HELP DIAL, HELP SET MODEM, HELP SET PORT, HELP SET DIAL", |
---|
434 | #else |
---|
435 | "Further info: HELP DIAL, HELP SET MODEM, HELP SET LINE, HELP SET DIAL", |
---|
436 | #endif /* OS2 */ |
---|
437 | "(*) (For use with optional dialing directory)", |
---|
438 | #endif /* NODIAL */ |
---|
439 | |
---|
440 | #ifdef NETCONN |
---|
441 | "\nTo make a network connection:", |
---|
442 | " SET NETWORK DIRECTORY specify a network services direction (optional)", |
---|
443 | " LOOKUP lookup entries in your network directory", |
---|
444 | " SET NETWORK select network type", |
---|
445 | " SET HOST select network host", |
---|
446 | " CONNECT begin terminal connection", |
---|
447 | #ifdef TNCODE |
---|
448 | " TELNET select a TCP/IP host and CONNECT to it", |
---|
449 | #endif /* TNCODE */ |
---|
450 | #endif /* NETCONN */ |
---|
451 | |
---|
452 | #ifdef NT |
---|
453 | "\nTo return from the terminal window to the K-95> prompt:", |
---|
454 | #else |
---|
455 | #ifdef OS2 |
---|
456 | "\nTo return from the terminal window to the K/2> prompt:", |
---|
457 | #else |
---|
458 | "\nTo return from a terminal connection to the C-Kermit prompt:", |
---|
459 | #endif /* OS2 */ |
---|
460 | #endif /* NT */ |
---|
461 | #ifdef OS2 |
---|
462 | " \ |
---|
463 | Press the key or key-combination shown after \"Prompt:\" in the status line", |
---|
464 | " (such as Alt-x) or type your escape character followed by the letter C.", |
---|
465 | #else |
---|
466 | " Type your escape character followed by the letter C.", |
---|
467 | #endif /* OS2 */ |
---|
468 | "\nTo display your escape character:", |
---|
469 | " SHOW ESCAPE", |
---|
470 | "\nTo display other settings:", |
---|
471 | " SHOW COMMUNICATIONS, SHOW TERMINAL, SHOW FILE, SHOW PROTOCOL, etc.", |
---|
472 | #else /* !NOLOCAL */ |
---|
473 | "\nTo display settings:", |
---|
474 | " SHOW COMMUNICATIONS, SHOW TERMINAL, SHOW FILE, SHOW PROTOCOL, etc.", |
---|
475 | #endif /* NOLOCAL */ |
---|
476 | "\nTo speed up file transfers:", |
---|
477 | " SET RECEIVE PACKET-LENGTH (use bigger packets)", |
---|
478 | " SET WINDOW (use sliding windows)", |
---|
479 | " SET PREFIXING (reduce prefixing overhead)", |
---|
480 | " FAST (combination of the three above)", |
---|
481 | |
---|
482 | "\nFor further information about a particular command, type HELP xxx,", |
---|
483 | "where xxx is the name of the command. For documentation, news of new", |
---|
484 | "releases, and information about other Kermit software, contact:\n", |
---|
485 | " The Kermit Project E-mail: kermit-orders@columbia.edu", |
---|
486 | " Columbia University Web: http://www.columbia.edu/kermit/", |
---|
487 | " 612 West 115th Street Voice: +1 (212) 854-3703", |
---|
488 | " New York NY 10025-7799 Fax: +1 (212) 663-8202", |
---|
489 | " USA", |
---|
490 | "" |
---|
491 | }; |
---|
492 | |
---|
493 | static char *hxxinp[] = { |
---|
494 | "Syntax: INPUT { number-of-seconds, time-of-day } [ text ]", |
---|
495 | "Example: INPUT 5 Login: or INPUT 23:59:59 RING", |
---|
496 | " ", |
---|
497 | "Waits up to the given number of seconds, or until the given time of day", |
---|
498 | "for the given text to arrive on the connection. If no text is given, INPUT", |
---|
499 | "waits for any character. For use in script programs with IF FAILURE and", |
---|
500 | "IF SUCCESS. Also see MINPUT, REINPUT, SET INPUT. See PAUSE for details on", |
---|
501 | "time-of-day format.", |
---|
502 | ""}; |
---|
503 | |
---|
504 | #ifdef CK_XYZ |
---|
505 | #ifdef XYZ_INTERNAL |
---|
506 | static char *hxyixyz[] = { |
---|
507 | "Syntax: SET PROTOCOL { KERMIT, XMODEM, YMODEM, ZMODEM } [ s1 s2 ]", |
---|
508 | " ", |
---|
509 | "Selects protocol to use for transferring files. String 1 is a command to", |
---|
510 | "output prior to SENDing with this protocol in binary mode; string 2 is the", |
---|
511 | "same thing but for text mode. Use \"%\" in any of these strings to", |
---|
512 | "represent the filename(s). Use { braces } if any command contains spaces.", |
---|
513 | "Example:", |
---|
514 | " ", |
---|
515 | " set proto xmodem {rx %s} {rx -a %s}", |
---|
516 | " ", |
---|
517 | ""}; |
---|
518 | #else |
---|
519 | static char *hxyxyz[] = { |
---|
520 | "Syntax: SET PROTOCOL { KERMIT, XMODEM, YMODEM, ZMODEM } [ s1 s2 s3 s4 s5 s6 ]", |
---|
521 | " ", |
---|
522 | "Selects protocol to use for transferring files. s1 and s2 are commands to", |
---|
523 | "output prior to SENDing with this protocol, to automatically start the", |
---|
524 | "RECEIVE process on the other end in binary or text mode, respectively.", |
---|
525 | "s3 and s4 are commands used on this computer for sending files with this", |
---|
526 | "protocol in binary or text mode. s5 and s6 are the commands for receiving", |
---|
527 | "files with this protocol. Use \"%s\" in any of these strings to represent", |
---|
528 | "the filename(s). Use { braces } if any command contains spaces. Example:", |
---|
529 | " ", |
---|
530 | " set proto ymodem rb {rb -a} {sb %s} {sb -a %s} rb rb", |
---|
531 | " ", |
---|
532 | "NOTE: This feature requires REDIRECT and external protocols that can be", |
---|
533 | "redirected.", |
---|
534 | ""}; |
---|
535 | #endif /* CK_XYZ */ |
---|
536 | #endif /* XYZ_INTERNAL */ |
---|
537 | |
---|
538 | static char *hmxxbye = "Syntax: BYE\n\ |
---|
539 | Shut down and log out a remote Kermit server"; |
---|
540 | |
---|
541 | static char *hmxxclo[] = { |
---|
542 | "Syntax: CLOSE name", |
---|
543 | "Example: CLOSE PACKET\n", |
---|
544 | "Close one of the following logs or files:", |
---|
545 | #ifndef NOLOCAL |
---|
546 | " SESSION", |
---|
547 | #endif /* NOLOCAL */ |
---|
548 | #ifdef TLOG |
---|
549 | " TRANSACTION", |
---|
550 | #endif /* TLOG */ |
---|
551 | " PACKET", |
---|
552 | #ifdef DEBUG |
---|
553 | " DEBUGGING", |
---|
554 | #endif /* DEBUG */ |
---|
555 | #ifndef NOSPL |
---|
556 | " READ", |
---|
557 | " WRITE", |
---|
558 | #endif /* NOSPL */ |
---|
559 | "Type HELP LOG and HELP OPEN for further info.", "" }; |
---|
560 | |
---|
561 | #ifdef CK_MINPUT |
---|
562 | static char *hmxxminp[] = { |
---|
563 | "Syntax: MINPUT n [ string1 [ string2 [ ... ] ] ]", |
---|
564 | "Example: MINPUT 5 Login: {Username: } {NO CARRIER} BUSY RING\n", |
---|
565 | "For use in script programs. Waits up to n seconds for any one of the", |
---|
566 | "strings to arrive on the communication device. If no strings are given, the", |
---|
567 | "command waits for any character at all to arrive. Strings are separated by", |
---|
568 | "spaces; use { braces } for grouping. If any of the strings is encountered", |
---|
569 | "within the timeout interval, the command succeeds and the \\v(minput)", |
---|
570 | "variable is set to the number of the string that was matched: 1, 2, 3, etc.", |
---|
571 | "If none of the strings arrives, the command times out, fails, and", |
---|
572 | "\\v(minput) is set to 0.\n", |
---|
573 | "Also see: INPUT, REINPUT, SET INPUT.", |
---|
574 | "" }; |
---|
575 | #endif /* CK_MINPUT */ |
---|
576 | |
---|
577 | #ifndef NOLOCAL |
---|
578 | static char *hmxxcon[] = { |
---|
579 | #ifdef OS2 |
---|
580 | "Syntax: CONNECT (or C)\n", |
---|
581 | #else |
---|
582 | "Syntax: CONNECT (or C) [/QUIETLY]\n", |
---|
583 | #endif /* OS2 */ |
---|
584 | "Connect to a remote computer via the serial communications device given in", |
---|
585 | #ifdef OS2 |
---|
586 | "the most recent SET PORT command, or to the network host named in the most", |
---|
587 | #else |
---|
588 | "the most recent SET LINE command, or to the network host named in the most", |
---|
589 | #endif /* OS2 */ |
---|
590 | "recent SET HOST command. Type the escape character followed by C to get", |
---|
591 | "back to the C-Kermit prompt, or followed by ? for a list of CONNECT-mode", |
---|
592 | #ifdef OS2 |
---|
593 | "escape commands. You can also assign the \\Kexit verb to the key or", |
---|
594 | "key-combination of your choice; by default it is assigned to Alt-x.", |
---|
595 | #else |
---|
596 | "escape commands.", |
---|
597 | "\nInclude the /QUIETLY switch to suppress the informational message that", |
---|
598 | "tells you how to escape back, etc.", |
---|
599 | #endif /* OS2 */ |
---|
600 | "" }; |
---|
601 | #endif /* NOLOCAL */ |
---|
602 | |
---|
603 | static char *hmxxget = "Syntax: GET filespec\n\ |
---|
604 | Tell the remote Kermit server to send the named file or files.\n\ |
---|
605 | If the filespec is omitted, then you are prompted for the remote and\n\ |
---|
606 | local filenames separately."; |
---|
607 | |
---|
608 | #ifdef OS2ONLY |
---|
609 | static char *hmxxupd[] = { |
---|
610 | "Syntax: UPDATES [ keyword ]", |
---|
611 | "Loads the C-Kermit INF files with the OS/2 VIEW command for complete", |
---|
612 | "documentation of all changes and new features in OS/2 C-Kermit since the", |
---|
613 | "first edition of \"Using C-Kermit\" was published. This command is not a", |
---|
614 | "substitute for the manual, but a supplement to it.", |
---|
615 | " ", |
---|
616 | "If a keyword is given, VIEW searches the index for it and, if it is found,", |
---|
617 | "goes straight to the first panel indexed for the keyword.", |
---|
618 | " ", |
---|
619 | "Upon quitting from VIEW (via Services:Exit or by closing the window) you", |
---|
620 | "are returned to the C-Kermit> prompt.", |
---|
621 | "" |
---|
622 | }; |
---|
623 | #endif /* OS2ONLY */ |
---|
624 | |
---|
625 | static char *hmxxlg[] = { "Syntax: LOG (or L) name [ { NEW, APPEND } ]", |
---|
626 | "Record information in a log file:\n", |
---|
627 | #ifdef DEBUG |
---|
628 | "DEBUGGING Debugging information, to help track down bugs in the C-Kermit", |
---|
629 | " program (default log name is debug.log).\n", |
---|
630 | #endif /* DEBUG */ |
---|
631 | "PACKETS Kermit packets, to help with protocol problems (packet.log)", |
---|
632 | #ifndef NOLOCAL |
---|
633 | "SESSION Terminal session, during CONNECT command (session.log)", |
---|
634 | #endif /* NOLOCAL */ |
---|
635 | #ifdef TLOG |
---|
636 | "TRANSACTIONS Names and statistics about files transferred (transact.log)\n", |
---|
637 | #endif /* TLOG */ |
---|
638 | "If you include the APPEND keyword after the filename, the existing log file,", |
---|
639 | "if any, is appended to; otherwise a new file is created.", |
---|
640 | "Use CLOSE to stop logging.", |
---|
641 | "" }; |
---|
642 | |
---|
643 | #ifndef NOSCRIPT |
---|
644 | static char *hmxxlogi[] = { "\ |
---|
645 | Syntax: SCRIPT text\n", |
---|
646 | "A limited and cryptic \"login assistant\", carried over from old C-Kermit", |
---|
647 | "releases for comptability, but not recommended for use. Instead, please", |
---|
648 | "use the full script programming language described in chapters 11-13 of", |
---|
649 | "\"Using C-Kermit\".\n", |
---|
650 | "Login to a remote system using the text provided. The login script", |
---|
651 | "is intended to operate similarly to UNIX uucp \"L.sys\" entries.", |
---|
652 | "A login script is a sequence of the form:\n", |
---|
653 | " expect send [expect send] . . .\n", |
---|
654 | "where 'expect' is a prompt or message to be issued by the remote site, and", |
---|
655 | "'send' is the names, numbers, etc, to return. The send may also be the", |
---|
656 | "keyword EOT, to send control-d, or BREAK (or \\\\b), to send a break signal.", |
---|
657 | "Letters in send may be prefixed by ~ to send special characters. These are:", |
---|
658 | "~b backspace, ~s space, ~q '?', ~n linefeed, ~r return, ~c don\'t", |
---|
659 | "append a return, and ~o[o[o]] for octal of a character. As with some", |
---|
660 | "uucp systems, sent strings are followed by ~r unless they end with ~c.\n", |
---|
661 | "Only the last 7 characters in each expect are matched. A null expect,", |
---|
662 | "e.g. ~0 or two adjacent dashes, causes a short delay. If you expect", |
---|
663 | "that a sequence might not arrive, as with uucp, conditional sequences", |
---|
664 | "may be expressed in the form:\n", |
---|
665 | " -send-expect[-send-expect[...]]\n", |
---|
666 | "where dashed sequences are followed as long as previous expects fail.", |
---|
667 | "" }; |
---|
668 | #endif /* NOSCRIPT */ |
---|
669 | |
---|
670 | static char *hmxxrc[] = { "Syntax: RECEIVE (or R) [filespec]\n", |
---|
671 | "Wait for a file to arrive from the other Kermit, which must be given a", |
---|
672 | "SEND command. If the optional filespec is given, the (first) incoming", |
---|
673 | "file will be stored under that name, otherwise it will be stored under", |
---|
674 | #ifndef CK_TMPDIR |
---|
675 | "the name it arrives with.", |
---|
676 | #else |
---|
677 | #ifdef OS2 |
---|
678 | "the name it arrives with. If the filespec denotes a disk and/or directory,", |
---|
679 | "the incoming file or files will be stored there.", |
---|
680 | #else |
---|
681 | "the name it arrives with. If the filespec denotes a directory, the", |
---|
682 | "incoming file or files will be placed in that directory.", |
---|
683 | #endif /* OS2 */ |
---|
684 | #endif /* CK_TMPDIR */ |
---|
685 | "" }; |
---|
686 | |
---|
687 | static char *hmxxsen = "\ |
---|
688 | Syntax: SEND (or S) filespec [name]\n\n\ |
---|
689 | Send the file or files specified by filespec.\n\ |
---|
690 | filespec may contain wildcard characters '*' or '?'. If no wildcards,\n\ |
---|
691 | then 'name' may be used to specify the name 'filespec' is sent under; if\n\ |
---|
692 | 'name' is omitted, the file is sent under its own name. Also see ADD."; |
---|
693 | |
---|
694 | #ifndef NORESEND |
---|
695 | static char *hmxxrsen = "\ |
---|
696 | Syntax: RESEND filespec [name]\n\n\ |
---|
697 | Resend the file or files, whose previous transfer was interrupted.\n\ |
---|
698 | Picks up from where previous transfer left off, IF the receiver was told\n\ |
---|
699 | to SET FILE INCOMPLETE KEEP. Only works for binary-mode transfers.\n\ |
---|
700 | Requires the other Kermit to have RESEND capability."; |
---|
701 | |
---|
702 | static char *hmxxrget = "\ |
---|
703 | Syntax: REGET filespec\n\n\ |
---|
704 | Ask a server to RESEND a file to C-Kermit."; |
---|
705 | |
---|
706 | static char *hmxxpsen = "\ |
---|
707 | Syntax: PSEND filespec position [name]\n\n\ |
---|
708 | Just like SEND, except sends the file starting at the given byte position."; |
---|
709 | #endif /* NORESEND */ |
---|
710 | |
---|
711 | #ifndef NOMSEND |
---|
712 | static char *hmssmse = "\ |
---|
713 | Syntax: MSEND filespec [ filespec [ ... ] ]\n\n\ |
---|
714 | Send the files specified by the filespecs. One or more filespecs may be\n\ |
---|
715 | listed, separated by spaces. Any or all filespecs may contain wildcards\n\ |
---|
716 | and they may be in different directories. An alternate name cannot be given."; |
---|
717 | |
---|
718 | static char *hmssadd = "\ |
---|
719 | Syntax: ADD filespec [ <mode> [ <as-name> ] ]\n\n\ |
---|
720 | Add the file or files to the current SEND list. Use SHOW SEND-LIST and\n\ |
---|
721 | CLEAR SEND-LIST to display and clear the list, use SEND by itself to send it."; |
---|
722 | #endif /* NOMSEND */ |
---|
723 | |
---|
724 | #ifndef NOSERVER |
---|
725 | static char *hmxxser = "Syntax: SERVER\n\n\ |
---|
726 | Enter server mode on the currently selected line. All further commands\n\ |
---|
727 | will be taken in packet form from the other Kermit program. Use FINISH\n\ |
---|
728 | or BYE to get C-Kermit out of server mode."; |
---|
729 | #endif /* NOSERVER */ |
---|
730 | |
---|
731 | static char *hmhset[] = { "\ |
---|
732 | The SET command is used to establish various communication or file", |
---|
733 | "parameters. The SHOW command can be used to display the values of", |
---|
734 | "SET parameters. Help is available for each individual parameter;", |
---|
735 | "type HELP SET ? to see what's available.", |
---|
736 | "" }; |
---|
737 | |
---|
738 | #ifndef NOSETKEY |
---|
739 | static char *hmhskey[] = { |
---|
740 | "Syntax: SET KEY k text", |
---|
741 | "Or: SET KEY CLEAR\n", |
---|
742 | "Configure the key whose \"scan code\" is k to send the given text when", |
---|
743 | "pressed during CONNECT mode. SET KEY CLEAR restores all the default", |
---|
744 | "key mappings. If there is no text, the default key binding is restored for", |
---|
745 | #ifndef NOCSETS |
---|
746 | "the key k. SET KEY mappings take place before terminal character-set", |
---|
747 | "translation.", |
---|
748 | #else |
---|
749 | "the key k.", |
---|
750 | #endif /* NOCSETS */ |
---|
751 | #ifdef OS2 |
---|
752 | "\nThe text may contain \"\\Kverbs\" to denote actions, to stand for DEC", |
---|
753 | "keypad, function, or editing keys, etc. For a list of available keyboard", |
---|
754 | "verbs, type SHOW KVERBS.", |
---|
755 | #endif /* OS2 */ |
---|
756 | "\nTo find out the scan code and mapping for a particular key, use the", |
---|
757 | "SHOW KEY command.", |
---|
758 | ""}; |
---|
759 | #endif /* NOSETKEY */ |
---|
760 | |
---|
761 | static char *hmxychkt[] = { "Syntax: SET BLOCK-CHECK type\n", |
---|
762 | "Type of packet block check to be used for error detection, 1, 2, 3, or", |
---|
763 | "BLANK-FREE-2. Type 1 is standard, and catches most errors. Types 2 and 3", |
---|
764 | "specify more rigorous checking at the cost of higher overhead. The", |
---|
765 | "BLANK-FREE-2 type is the same as Type 2, but is guaranteed to contain no", |
---|
766 | "blanks.", |
---|
767 | "" }; |
---|
768 | |
---|
769 | #ifdef CK_SPEED |
---|
770 | static char *hmxyqctl[] = { |
---|
771 | "Syntax: SET CONTROL-CHARACTER { PREFIXED, UNPREFIXED } { <code>..., ALL }\n", |
---|
772 | "<code> is the numeric ASCII code for a control character 1-31, 127-159, 255.", |
---|
773 | "The word \"ALL\" means the command applies to all characters in this range.", |
---|
774 | "\nPREFIXED <code> means the given control character must be converted to a", |
---|
775 | " printable character and prefixed, the default for all control characters.", |
---|
776 | "\nUNPREFIXED <code> means you think it is safe to send the given control", |
---|
777 | " character as-is, without a prefix. USE THIS OPTION AT YOUR OWN RISK!", |
---|
778 | "\nSHOW CONTROL to see current settings. SET CONTROL PREFIXED ALL is", |
---|
779 | "recommended for safety. You can include multiple <code> values in one", |
---|
780 | "command, separated by spaces.", |
---|
781 | "" }; |
---|
782 | #endif /* CK_SPEED */ |
---|
783 | |
---|
784 | #ifndef NODIAL |
---|
785 | static char *hxymodm[] = { |
---|
786 | "Syntax: SET MODEM <parameter> <value> ...\n", |
---|
787 | "Note: Many of the SET MODEM parameters are configured automatically when", |
---|
788 | "you SET MODEM TYPE, according to the modem's capabilities. SHOW MODEM to", |
---|
789 | "see them. Also see HELP DIAL and HELP SET DIAL.\n", |
---|
790 | "SET MODEM TYPE <name>", |
---|
791 | " Tells Kermit which kind of modem you have, so it can issue the appropriate", |
---|
792 | " modem-specific commands for configuration, dialing, and hanging up. For a", |
---|
793 | " list of the modem types known to Kermit, type \"set modem type ?\".", |
---|
794 | " Use SET MODEM TYPE NONE (the default) for direct serial connections. Use", |
---|
795 | " SET MODEM TYPE USER-DEFINED to use a type of modem that is not built in", |
---|
796 | " to Kermit, and then user SET MODEM CAPABILITIES, SET MODEM DIAL-COMMAND,", |
---|
797 | " and SET MODEM COMMAND to tell Kermit how to configure and control it.\n", |
---|
798 | #ifdef UNIX |
---|
799 | " Give the SET MODEM TYPE command BEFORE the SET LINE command so Kermit can", |
---|
800 | " open the communications device in the correct mode for dialing.\n", |
---|
801 | #endif /* UNIX */ |
---|
802 | |
---|
803 | "SET MODEM CAPABILITIES <list>", |
---|
804 | " Use this command for changing Kermit's idea of your modem's capabilities,", |
---|
805 | " for example, if your modem is supposed to have built-in error correction", |
---|
806 | " but in fact does not. Also use this command to define the capabilities", |
---|
807 | " of a USER-DEFINED modem. Capabilities are:\n", |
---|
808 | " AT AT-commands", |
---|
809 | " DC data-compression", |
---|
810 | " EC error-correction", |
---|
811 | " HWFC hardware-flow", |
---|
812 | " ITU v25bis-commands", |
---|
813 | " SWFC software-flow", |
---|
814 | " KS kermit-spoof", |
---|
815 | " SB speed-buffering", |
---|
816 | " TB Telebit\n", |
---|
817 | "SET MODEM CARRIER-WATCH { AUTO, ON, OFF }", |
---|
818 | " Synonym for SET CARRIER-WATCH (q.v.)\n", |
---|
819 | "SET MODEM COMPRESSION { ON, OFF }", |
---|
820 | " Enables/disables the modem's data compression feature, if any.\n", |
---|
821 | "SET MODEM DIAL-COMMAND <text>", |
---|
822 | " The text replaces Kermit's built-in modem dialing command. It must", |
---|
823 | " include '%s' (percent s) as a place-holder for the telephone numbers", |
---|
824 | " given in your DIAL commands.\n", |
---|
825 | "SET MODEM ERROR-CORRECTION { ON, OFF }", |
---|
826 | " Enables/disables the modem's error-correction feature, if any.\n", |
---|
827 | "SET MODEM ESCAPE-CHARACTER number", |
---|
828 | " Numeric ASCII value of modem's escape character, e.g. 43 for '+'.", |
---|
829 | " For Hayes-compatible modems, Kermit uses three copies, e.g. \"+++\".\n", |
---|
830 | "SET MODEM FLOW-CONTROL {AUTO, NONE, RTS/CTS, XON/XOFF}", |
---|
831 | " Selects the type of local flow control to be used by the modem.\n", |
---|
832 | "SET MODEM HANGUP-METHOD { MODEM-COMMAND, RS232-SIGNAL }", |
---|
833 | " How hangup operations should be done. MODEM-COMMAND means try to", |
---|
834 | " escape back to the modem's command processor and give a modem-specific", |
---|
835 | " hangup command. RS232-SIGNAL means turn off the DTR signal.\n", |
---|
836 | "SET MODEM KERMIT-SPOOF {ON, OFF}", |
---|
837 | " If the selected modem type supports the Kermit protocol directly,", |
---|
838 | " use this command to turn its Kermit protocol function on or off.\n", |
---|
839 | "SET MODEM MAXIMUM-SPEED <number>", |
---|
840 | " Specify the maximum interface speed for the modem.\n", |
---|
841 | "SET MODEM NAME <text>", |
---|
842 | " Descriptive name for a USER-DEFINED modem.\n", |
---|
843 | "SET MODEM SPEED-MATCHING {ON, OFF}", |
---|
844 | " ON means that C-Kermit changes its serial interface speed to agree with", |
---|
845 | " the speed reported by the modem's CONNECT message, if any. OFF means", |
---|
846 | " Kermit should not change its interface speed.\n", |
---|
847 | "SET MODEM COMMAND commands are used to override built-in modem commands for", |
---|
848 | "each modem type, or to fill in commands for the USER-DEFINED modem type.", |
---|
849 | "Omitting the optional [ text ] restores the built-in modem-specific command,", |
---|
850 | "if any:\n", |
---|
851 | "SET MODEM COMMAND AUTOANSWER {ON, OFF} [ text ]", |
---|
852 | " Modem commands to turn autoanswer on and off.\n", |
---|
853 | "SET MODEM COMMAND COMPRESSION {ON, OFF} [ text ]", |
---|
854 | " Modem commands to turn data compression on and off.\n", |
---|
855 | "SET MODEM COMMAND ERROR-CORRECTION {ON, OFF} [ text ]", |
---|
856 | " Modem commands to turn error correction on and off.\n", |
---|
857 | "SET MODEM COMMAND HANGUP [ text ]", |
---|
858 | " Command that tells the modem to hang up the connection.\n", |
---|
859 | "SET MODEM COMMAND INIT-STRING [ text ]", |
---|
860 | " The 'text' is a replacement for C-Kermit's built-in initialization command", |
---|
861 | " for the modem.\n", |
---|
862 | "SET MODEM COMMAND HARDWARE-FLOW [ text ]", |
---|
863 | " Modem command to enable hardware flow control (RTS/CTS) in the modem.\n", |
---|
864 | "SET MODEM COMMAND SOFTWARE-FLOW [ text ]", |
---|
865 | " Modem command to enable local software flow control (Xon/Xoff) in modem.\n", |
---|
866 | "SET MODEM COMMAND NO-FLOW-CONTROL [ text ]", |
---|
867 | " Modem command to disable local flow control in the modem.\n", |
---|
868 | "SET MODEM COMMAND PULSE [ text ]", |
---|
869 | " Modem command to select pulse dialing.\n", |
---|
870 | "SET MODEM COMMAND TONE [ text ]", |
---|
871 | " Modem command to select tone dialing.\n", |
---|
872 | "", |
---|
873 | }; |
---|
874 | |
---|
875 | static char *hmxydial[] = { |
---|
876 | "The SET DIAL command establishes or changes all parameters related to", |
---|
877 | "dialing the telephone. Also see HELP DIAL and HELP SET MODEM. Use SHOW", |
---|
878 | "DIAL to display all of the SET DIAL values.\n", |
---|
879 | "SET DIAL COUNTRY-CODE <number>", |
---|
880 | " Tells Kermit the telephonic country-code of the country you are dialing", |
---|
881 | " from, so it can tell whether a portable-format phone number from your", |
---|
882 | " dialing directory will result in a national or an international call.", |
---|
883 | " Examples: 1 for USA, Canada, Puerto Rico, etc; 7 for Russia, 39 for Italy,", |
---|
884 | " 351 for Portugal, 47 for Norway, 44 for the UK, 972 for Israel, 81 for", |
---|
885 | " Japan, ...\n", |
---|
886 | " If you have not already set your DIAL INTL-PREFIX and LD-PREFIX, then this", |
---|
887 | " command sets default values for them: 011 and 1, respectively, for country", |
---|
888 | " code 1; 00 and 0, respectively, for all other country codes. If these are", |
---|
889 | " not your true international and long-distance dialing prefixes, then you", |
---|
890 | " should follow this command by DIAL INTL-PREFIX and LD-PREFIX to let Kermit", |
---|
891 | " know what they really are.\n", |
---|
892 | "SET DIAL AREA-CODE [ <number> ]", |
---|
893 | " Tells Kermit the area or city code that you are dialing from, so it can", |
---|
894 | " tell whether a portable-format phone number from the dialing directory is", |
---|
895 | " local or long distance. Be careful not to include your long-distance", |
---|
896 | " dialing prefix as part of your area code; for example, the area code for", |
---|
897 | " central London is 171, not 0171.\n", |
---|
898 | "SET DIAL CONFIRMATION {ON, OFF}", |
---|
899 | " Kermit does various transformations on a telephone number retrieved from", |
---|
900 | " the dialing directory prior to dialing (use LOOKUP <name> to see them).", |
---|
901 | " In case the result might be wrong, you can use SET DIAL CONFIRM ON to have", |
---|
902 | " Kermit ask you if it is OK to dial the number, and if not, to let you type", |
---|
903 | " in a replacement.\n", |
---|
904 | "SET DIAL CONNECT { AUTO, ON, OFF }", |
---|
905 | " Whether to CONNECT (enter terminal mode) automatically after successfully", |
---|
906 | " dialing. ON means to do this; OFF means not to. AUTO (the default) means", |
---|
907 | " do it if the DIAL command was given interactively, but don't do it if the", |
---|
908 | " DIAL command was issued from a macro or command file. If you specify ON", |
---|
909 | " or AUTO, you may follow this by one of the keywords VERBOSE or QUIET, to", |
---|
910 | " indicate whether the verbose 4-line 'Connecting...' message is to be", |
---|
911 | " displayed if DIAL succeeds and Kermit goes into CONNECT mode.\n", |
---|
912 | "SET DIAL CONVERT-DIRECTORY {ASK, ON, OFF}", |
---|
913 | " The format of Kermit's dialing directory changed in version 5A(192). This", |
---|
914 | " command tells Kermit what to do when it encounters an old-style directory:", |
---|
915 | " ASK you whether to convert it, or convert it automatically (ON), or leave", |
---|
916 | " it alone (OFF). Old-style directories can still be used without", |
---|
917 | " conversion, but the parity and speed fields are ignored.\n", |
---|
918 | "SET DIAL DIRECTORY [ filename [ filename [ filename [ ... ] ] ] ]", |
---|
919 | " The name(s) of your dialing directory file(s). If you do not supply any", |
---|
920 | " filenames, the dialing directory feature is disabled and all numbers are", |
---|
921 | " dialed literally as given in the DIAL command. If you supply more than", |
---|
922 | " one directory, all of them are searched.\n", |
---|
923 | "SET DIAL SORT {ON, OFF}", |
---|
924 | " When multiple entries are obtained from your dialing directory, they are", |
---|
925 | " sorted in \"cheapest-first\" order. If this does not produce the desired", |
---|
926 | " effect, SET DIAL SORT OFF to disable sorting, and the numbers will be", |
---|
927 | " dialed in the order in which they were found.\n", |
---|
928 | "SET DIAL DISPLAY {ON, OFF}", |
---|
929 | " Whether to display dialing progress on the screen; default is OFF.\n", |
---|
930 | "SET DIAL HANGUP {ON, OFF}", |
---|
931 | " Whether to hang up the phone prior to dialing; default is ON.\n", |
---|
932 | "SET DIAL METHOD {DEFAULT, TONE, PULSE}", |
---|
933 | " Whether to use the modem's DEFAULT dialing method, or to force TONE or", |
---|
934 | " PULSE dialing.\n", |
---|
935 | "SET DIAL TIMEOUT number", |
---|
936 | " How many seconds to wait for a dialed call to complete. Use this command", |
---|
937 | " to override the DIAL command's automatic timeout calculation. A value", |
---|
938 | " of 0 turns off this feature and returns to Kermit's automatic dial", |
---|
939 | " timeout calculation.\n", |
---|
940 | "SET DIAL RESTRICT { INTERNATIONAL, LOCAL, LONG-DISTANCE, NONE }", |
---|
941 | " Prevents placing calls of the type indicated, or greater. For example", |
---|
942 | " SET DIAL RESTRICT LONG prevents placing of long-distance and international", |
---|
943 | " calls. If this command is not given, there are no restrictions.\n", |
---|
944 | "SET DIAL RETRIES <number>", |
---|
945 | " How many times to redial each number if the dialing result is busy or no", |
---|
946 | " no answer, until the call is succesfully answered. The default is 0", |
---|
947 | " because automatic redialing is illegal in some countries.\n", |
---|
948 | "SET DIAL INTERVAL <number>", |
---|
949 | " How many seconds to pause between automatic redial attempts; default 10.\n", |
---|
950 | |
---|
951 | "The following commands apply to all phone numbers, whether given literally", |
---|
952 | "or found in the dialing directory:\n", |
---|
953 | "SET DIAL PREFIX [ text ]", |
---|
954 | " Establish a prefix to be applied to all phone numbers that are dialed,", |
---|
955 | " for example to disable call waiting.\n", |
---|
956 | "SET DIAL SUFFIX [ text ]", |
---|
957 | " Establish a suffix to be added after all phone numbers that are dialed.\n", |
---|
958 | "The following commands apply only to portable-format numbers obtained from", |
---|
959 | "the dialing directory; i.e. numbers that start with a \"+\" sign and", |
---|
960 | "country code, followed by area code in parentheses, followed by the phone", |
---|
961 | "number.\n", |
---|
962 | "SET DIAL LD-PREFIX [ <text> ]", |
---|
963 | " Your long-distance dialing prefix, to be used with portable dialing", |
---|
964 | " directory entries that result in long-distance calls.\n", |
---|
965 | "SET DIAL LD-SUFFIX [ <text> ]", |
---|
966 | " Long-distance dialing suffix, if any, to be used with portable dialing", |
---|
967 | " directory entries that result in long-distance calls. This would normally", |
---|
968 | " be used for appending a calling-card number to the phone number.\n", |
---|
969 | "SET DIAL TOLL-FREE-AREA-CODE [ <number> [ <number> [ ... ] ] ]", |
---|
970 | " Tells Kermit the toll-free area code(s) in your country.\n", |
---|
971 | "SET DIAL TOLL-FREE-PREFIX [ <text> ]", |
---|
972 | " You toll-free dialing prefix, in case it is different from your long-", |
---|
973 | " distance dialing prefix.\n", |
---|
974 | "SET DIAL INTL-PREFIX <text>", |
---|
975 | " Your international dialing prefix, to be used with portable dialing", |
---|
976 | " directory entries that result in international calls.\n", |
---|
977 | "SET DIAL INTL-SUFFIX <text>", |
---|
978 | " International dialing suffix, if any, to be used with portable dialing", |
---|
979 | " directory entries that result in international calls.\n", |
---|
980 | "SET DIAL PBX-OUTSIDE-PREFIX <text>", |
---|
981 | " Use this to tell Kermit how to get an outside line when dialing from a", |
---|
982 | " Private Branch Exchange (PBX).\n", |
---|
983 | "SET DIAL PBX-EXCHANGE <text>", |
---|
984 | " If PBX-OUTSIDE-PREFIX is set, then you can use this command to tell Kermit", |
---|
985 | " the leading digits of a local phone number that identify it as being on", |
---|
986 | " your PBX, so it can make an internal call by deleting those digits from", |
---|
987 | " the phone number.\n", |
---|
988 | "SET DIAL PBX-INTERNAL-PREFIX <text>", |
---|
989 | " If PBX-EXCHANGE is set, and Kermit determines from it that a call is", |
---|
990 | " internal, then this prefix, if any, is added to the number prior to", |
---|
991 | " dialing. Use this if internal calls require a special prefix.", |
---|
992 | "" }; |
---|
993 | #endif /* NODIAL */ |
---|
994 | |
---|
995 | static char *hmxyflo[] = { "Syntax: SET FLOW value\n", |
---|
996 | #ifndef NOLOCAL |
---|
997 | "Type of flow control to use during file transfer and CONNECT mode.", |
---|
998 | #else |
---|
999 | "Type of flow control to use during file transfer.", |
---|
1000 | #endif /* NOLOCAL */ |
---|
1001 | "Choices: AUTOMATIC (the default, let Kermit choose for you); KEEP (don't", |
---|
1002 | "change the device's current setting), XON/XOFF (software flow control),", |
---|
1003 | "NONE (no flow control at all), and possibly others including RTS/CTS", |
---|
1004 | "(hardware) depending on the capabilities of your computer and operating", |
---|
1005 | "system. Type SET FLOW ? for a list.", |
---|
1006 | ""}; |
---|
1007 | |
---|
1008 | static char *hmxyf[] = { "Syntax: SET FILE parameter value", |
---|
1009 | "Parameters:\n", |
---|
1010 | |
---|
1011 | "BYTESIZE { 7, 8 }: normally 8. If 7, truncate the 8th bit of all file \ |
---|
1012 | bytes.\n", |
---|
1013 | |
---|
1014 | #ifndef NOCSETS |
---|
1015 | "CHARACTER-SET: tells the encoding of the local file, ASCII by default.", |
---|
1016 | "The names ITALIAN, PORTUGUESE, NORWEGIAN, etc, refer to 7-bit ISO-646", |
---|
1017 | "national character sets. LATIN1 is the 8-bit ISO 8859-1 Latin Alphabet 1", |
---|
1018 | "for Western European languages.", |
---|
1019 | "NEXT is the 8-bit character set of the NeXT workstation.", |
---|
1020 | "The CPnnn sets are for IBM PCs. MACINTOSH-LATIN is for the Macintosh.", |
---|
1021 | #ifndef NOLATIN2 |
---|
1022 | "LATIN2 is ISO 8859-2 for Eastern European languages that are written with", |
---|
1023 | "Roman letters.", |
---|
1024 | #endif /* NOLATIN2 */ |
---|
1025 | #ifdef CYRILLIC |
---|
1026 | "KOI-CYRILLIC, CYRILLIC-ISO, and CP866 are 8-bit Cyrillic character sets.", |
---|
1027 | "SHORT-KOI is a 7-bit ASCII coding for Cyrillic.", |
---|
1028 | #endif /* CYRILLIC */ |
---|
1029 | #ifdef HEBREW |
---|
1030 | "HEBREW-ISO is ISO 8859-8 Latin/Cyrillic. CP862 is the Hebrew PC code page.", |
---|
1031 | "HEBREW-7 is like ASCII with the lowercase letters replaced by Hebrew.", |
---|
1032 | #endif /* HEBREW */ |
---|
1033 | #ifdef KANJI |
---|
1034 | "JAPANESE-EUC, JIS7-KANJI, DEC-KANJI, and SHIFT-JIS-KANJI are Japanese", |
---|
1035 | "Kanji character sets.", |
---|
1036 | #endif /* KANJI */ |
---|
1037 | "Type SET FILE CHAR ? for a complete list of file character sets.\n", |
---|
1038 | #endif /* NOCSETS */ |
---|
1039 | |
---|
1040 | "COLLISION tells what to do when a file arrives that has the same name as", |
---|
1041 | "an existing file. The options are:", |
---|
1042 | " BACKUP (default) - Rename the old file to a new, unique name and store", |
---|
1043 | " the incoming file under the name it was sent with.", |
---|
1044 | " OVERWRITE - Overwrite (replace) the existing file.", |
---|
1045 | " APPEND - Append the incoming file to the end of the existing file.", |
---|
1046 | " DISCARD - Refuse and/or discard the incoming file.", |
---|
1047 | " RENAME - Give the incoming file a unique name.", |
---|
1048 | " UPDATE - Accept the incoming file only if it is newer than the existing", |
---|
1049 | " file.", |
---|
1050 | "Example: SET FILE COLLISION UPDATE\n", |
---|
1051 | |
---|
1052 | "SET FILE DISPLAY selects the format of the file transfer display for", |
---|
1053 | "local-mode file transfer. The choices are:", |
---|
1054 | " SERIAL (the default). One dot is printed for every K bytes transferred.", |
---|
1055 | " This format works on any kind of terminal, even a hardcopy.", |
---|
1056 | " CRT. Numbers are continuously updated on a single screen line. This", |
---|
1057 | " format can be used on any video display terminal.", |
---|
1058 | #ifdef CK_CURSES |
---|
1059 | " FULLSCREEN. A fully formatted 24x80 screen showing lots of information.", |
---|
1060 | " This requires a video display terminal whose control sequences are", |
---|
1061 | " understood by Kermit.", |
---|
1062 | #endif /* CK_CURSES */ |
---|
1063 | " NONE. No file transfer display at all.\n", |
---|
1064 | |
---|
1065 | "DOWNLOAD-DIRECTORY [ <directory-name> ]", |
---|
1066 | "Directory into which all received files should be placed. By default,", |
---|
1067 | "received files go into your current directory.\n", |
---|
1068 | |
---|
1069 | "INCOMPLETE - what to do with an incompletely received file: KEEP", |
---|
1070 | "(default), or DISCARD.\n", |
---|
1071 | |
---|
1072 | #ifdef VMS |
---|
1073 | "LABEL { ACL, BACKUP-DATE, NAME, OWNER, PATH } { ON, OFF } - Tells which", |
---|
1074 | "items to include (ON) or exclude (OFF) in labeled file transfer.", |
---|
1075 | #else |
---|
1076 | #ifdef OS2 |
---|
1077 | "LABEL { ARCHIVE, READ-ONLY, HIDDEN, SYSTEM, EXTENDED } { ON, OFF }", |
---|
1078 | "Tells which items to include (ON) or exclude (OFF) in labeled file transfer.", |
---|
1079 | #endif /* OS2 */ |
---|
1080 | #endif /* VMS */ |
---|
1081 | |
---|
1082 | "NAMES are normally CONVERTED to 'common form' during transmission; LITERAL", |
---|
1083 | "means use filenames literally (useful between like systems). Also see", |
---|
1084 | "SET SEND PATHNAMES and SET RECEIVE PATHNAMES.\n", |
---|
1085 | |
---|
1086 | #ifdef VMS |
---|
1087 | "RECORD-LENGTH sets the record length for received files of type BINARY. Use", |
---|
1088 | "this to receive VMS BACKUP savesets or other fixed-format files. The default", |
---|
1089 | "of 512 is suitable for executable (.EXE) files, etc.\n", |
---|
1090 | "Example: SET FILE REC 8192\n", |
---|
1091 | #endif /* VMS */ |
---|
1092 | |
---|
1093 | "TYPE: How file contents are to be treated during file transfer.", |
---|
1094 | "TYPE is normally TEXT, with conversion of record format and character set.", |
---|
1095 | "BINARY means to do no conversion. Use BINARY for executable programs or", |
---|
1096 | "binary data. Example: SET FILE TYPE BINARY.\n", |
---|
1097 | |
---|
1098 | #ifdef VMS |
---|
1099 | "For VMS, you may include an optional record-format after the word", |
---|
1100 | "BINARY. This may be FIXED (the default) or UNDEFINED.", |
---|
1101 | "Two additional VMS file types are also supported: IMAGE and LABELED. IMAGE", |
---|
1102 | "means raw block i/o, no interference from RMS, and applies to file transmis-", |
---|
1103 | "sion only. LABELED means to send or interpret RMS attributes with the file.", |
---|
1104 | "\n", |
---|
1105 | #endif /* VMS */ |
---|
1106 | |
---|
1107 | "WARNING. SET FILE WARNING is superseded by the newer command, SET FILE", |
---|
1108 | "COLLISION. SET FILE WARNING ON is equivalent to SET FILE COLLISION RENAME", |
---|
1109 | "and SET FILE WARNING OFF is equivalent to SET FILE COLLISION OVERWRITE.\n", |
---|
1110 | |
---|
1111 | "" }; |
---|
1112 | |
---|
1113 | static char *hmxyhsh[] = { "Syntax: SET HANDSHAKE value\n", |
---|
1114 | "Character to use for half duplex line turnaround handshake during file", |
---|
1115 | "transfer. C-Kermit waits for this character from the other computer before", |
---|
1116 | "sending its next packet. Default is NONE, others are XON, LF, BELL, ESC,", |
---|
1117 | "etc. SET HANDSHAKE CODE <n> lets you specify the numeric ASCII value of the", |
---|
1118 | "handshake character. Type SET HANDSH ? for a list.", |
---|
1119 | "" }; |
---|
1120 | |
---|
1121 | #ifndef NOSERVER |
---|
1122 | static char *hsetsrv[] = {"\ |
---|
1123 | SET SERVER DISPLAY {ON,OFF}", |
---|
1124 | "Tell whether local-mode C-Kermit during server operation should put a", |
---|
1125 | "file transfer display on the screen. Default is OFF.\n", |
---|
1126 | "SET SERVER GET-PATH [ directory [ directory [ ... ] ] ]", |
---|
1127 | "Tells the C-Kermit server where to search for files whose names it receives", |
---|
1128 | "from client GET commands when the names are not fully specified pathnames.", |
---|
1129 | "Default is no GET-PATH, so C-Kermit looks only in its current directory.\n", |
---|
1130 | "SET SERVER IDLE-TIMEOUT seconds", |
---|
1131 | "Idle time limit while in server mode, 0 for no limit.\n", |
---|
1132 | "SET SERVER LOGIN [ username [ password [ account ] ] ]", |
---|
1133 | "Sets up a username and optional password which must be supplied before", |
---|
1134 | "the server will respond to any commands other than REMOTE LOGIN. The", |
---|
1135 | "account is ignored. If you enter SET SERVER LOGIN by itself, then login", |
---|
1136 | "is no longer required.\n", |
---|
1137 | "SET SERVER TIMEOUT n", |
---|
1138 | "Server command wait timeout interval, how often the C-Kermit server issues", |
---|
1139 | "a NAK while waiting for a command packet. Specify 0 for no NAKs at all.", |
---|
1140 | "Default is 0.", |
---|
1141 | "" }; |
---|
1142 | #endif /* NOSERVER */ |
---|
1143 | |
---|
1144 | static char *hmhrmt[] = { "\ |
---|
1145 | The REMOTE command is used to send file management instructions to a", |
---|
1146 | "remote Kermit server. There should already be a Kermit running in server", |
---|
1147 | "mode on the other end of the currently selected line. Type REMOTE ? to", |
---|
1148 | "see a list of available remote commands. Type HELP REMOTE x to get", |
---|
1149 | "further information about a particular remote command 'x'.", |
---|
1150 | "" }; |
---|
1151 | |
---|
1152 | #ifndef NOSPL |
---|
1153 | static char *ifhlp[] = { "Syntax: IF [NOT] condition command\n", |
---|
1154 | "If the condition is (is not) true, do the command. Only one command may", |
---|
1155 | "be given, and it must appear on the same line as the IF. Conditions are:\n", |
---|
1156 | " SUCCESS - the previous command succeeded", |
---|
1157 | " FAILURE - the previous command failed", |
---|
1158 | " BACKGROUND - C-Kermit is running in the background", |
---|
1159 | #ifdef CK_IFRO |
---|
1160 | " FOREGROUND - C-Kermit is running in the foreground", |
---|
1161 | " REMOTE-ONLY - C-Kermit was started with the -R command-line option\n", |
---|
1162 | #else |
---|
1163 | " FOREGROUND - C-Kermit is running in the foreground\n", |
---|
1164 | #endif /* CK_IFRO */ |
---|
1165 | " DEFINED variablename or macroname - The named variable or macro is defined", |
---|
1166 | #ifdef CK_TMPDIR |
---|
1167 | " DIRECTORY string - The string is the name of a directory", |
---|
1168 | #endif /* CK_TMPDIR */ |
---|
1169 | #ifdef ZFCDAT |
---|
1170 | " NEWER file1 file2 - The 1st file is newer than the 2nd one", |
---|
1171 | #endif /* ZFCDAT */ |
---|
1172 | " NUMERIC variable or constant - The variable or constant is numeric", |
---|
1173 | " EXIST filename - The named file exists\n", |
---|
1174 | " COUNT - subtract one from COUNT, execute the command if the result is", |
---|
1175 | " greater than zero (see SET COUNT)\n", |
---|
1176 | " EQUAL s1 s2 - s1 and s2 (character strings or variables) are equal", |
---|
1177 | " LLT s1 s2 - s1 is lexically (alphabetically) less than s2", |
---|
1178 | " LGT s1 s1 - s1 is lexically (alphabetically) greater than s2\n", |
---|
1179 | " = n1 n2 - n1 and n2 (numbers or variables containing numbers) are equal", |
---|
1180 | " < n1 n2 - n1 is arithmetically less than n2", |
---|
1181 | " > n1 n2 - n1 is arithmetically greater than n2\n", |
---|
1182 | "The IF command may be followed on the next line by an ELSE command. Example:", |
---|
1183 | " IF < \\%x 10 ECHO It's less", |
---|
1184 | " ELSE echo It's not less\n", |
---|
1185 | "See also XIF.", |
---|
1186 | "" }; |
---|
1187 | |
---|
1188 | static char *hmxxeval[] = {"Syntax: EVALUATE expression\n", |
---|
1189 | "Evaluate an integer arithmetic expression and print its value. The", |
---|
1190 | "expression can contain numbers and/or numeric-valued variables or functions.", |
---|
1191 | "Operators include +-/*(), etc. Example: EVAL (1+1) * (\\%a / 3).", |
---|
1192 | "" }; |
---|
1193 | #endif /* NOSPL */ |
---|
1194 | |
---|
1195 | #ifndef NOSPL |
---|
1196 | static char *ifxhlp[] = { "\ |
---|
1197 | Syntax: XIF condition { commandlist } [ ELSE { commandlist } ]\n", |
---|
1198 | "Extended IF command. The conditions are the same as for IF (type HELP IF)", |
---|
1199 | "but multiple comma-separated commands may be grouped within braces in both", |
---|
1200 | "the IF and ELSE parts. The ELSE part, if any, must be on the same line as", |
---|
1201 | "the XIF (or use dash for line continuation). Example:\n", |
---|
1202 | " XIF equal \\%a YES { echo OK, goto begin } ELSE { echo Not OK, stop }", |
---|
1203 | "" }; |
---|
1204 | |
---|
1205 | static char *forhlp[] = { "\ |
---|
1206 | Syntax: FOR variablename initial-value final-value increment { commandlist }", |
---|
1207 | "\nFOR loop. Execute the comma-separated commands in the commandlist the", |
---|
1208 | "number of times given by the initial value, final value and increment.", |
---|
1209 | "Example: FOR \\%i 10 1 -1 { pause 1, echo \\%i }", "" }; |
---|
1210 | |
---|
1211 | static char *whihlp[] = { "\ |
---|
1212 | Syntax: WHILE condition { commandlist }", |
---|
1213 | "\nWHILE loop. Execute the comma-separated commands in the bracketed", |
---|
1214 | "commandlist while the condition is true. Conditions are the same as for", |
---|
1215 | "IF commands.", |
---|
1216 | "" }; |
---|
1217 | |
---|
1218 | static char *swihlp[] = { |
---|
1219 | "Syntax: SWITCH <variable> { case-list }", |
---|
1220 | "The case-list is a series of lines like these:\n", |
---|
1221 | " :x, command, command, ..., break\n", |
---|
1222 | "where \"x\" is a possible value for the variable. At the end of the", |
---|
1223 | "case-list, you can put a \"default\" label to catch when the variable does", |
---|
1224 | "not match any of the labels:\n", |
---|
1225 | " :default, command, command, ...", |
---|
1226 | "" |
---|
1227 | }; |
---|
1228 | |
---|
1229 | static char *openhlp[] = { |
---|
1230 | "Syntax: OPEN mode filename\n", |
---|
1231 | "For use with READ and WRITE commands. Open the local file in the specified", |
---|
1232 | "mode: READ, WRITE, or APPEND. !READ and !WRITE mean to read from or write", |
---|
1233 | "to a system command rather than a file. Examples:\n", |
---|
1234 | " OPEN READ oofa.txt", |
---|
1235 | " OPEN !READ sort foo.bar", |
---|
1236 | "" }; |
---|
1237 | |
---|
1238 | static char *hxxaskq[] = { |
---|
1239 | "Syntax: ASKQ variablename [ prompt ]", |
---|
1240 | "Example: ASKQ \\%p { Password:}\n", |
---|
1241 | "Issues the prompt and defines the variable to be whatever you type in.", |
---|
1242 | "The characters that you type do not echo on the screen.", |
---|
1243 | "Use braces to preserve leading and/or trailing spaces in the prompt.", |
---|
1244 | "To include a question mark, precede it by backslash (\\).","" |
---|
1245 | }; |
---|
1246 | |
---|
1247 | static char *hxxask[] = { |
---|
1248 | "Syntax: ASK variablename [ prompt ]", |
---|
1249 | "Example: ASK \\%n { What is your name\\? }\n", |
---|
1250 | "Issues the prompt and defines the variable to be whatever you type in.", |
---|
1251 | "Use braces to preserve leading and/or trailing spaces in the prompt.", |
---|
1252 | "To include a question mark, precede it by backslash (\\).","" |
---|
1253 | }; |
---|
1254 | |
---|
1255 | static char *hxxgetc[] = { |
---|
1256 | "Syntax: GETC variablename [ prompt ]", |
---|
1257 | "Example: GETC \\%c { Type any character to continue...}\n", |
---|
1258 | "Issues the prompt and sets the variable to the first character you type.", |
---|
1259 | "Use braces to preserve leading and/or trailing spaces in the prompt.", "" |
---|
1260 | }; |
---|
1261 | |
---|
1262 | static char *hxxdef[] = { |
---|
1263 | "Syntax: DEFINE name [ definition ]\n", |
---|
1264 | "Defines a macro or variable. Its value is the definition, taken literally.", |
---|
1265 | "No expansion or evaluation of the definition is done. Thus if the", |
---|
1266 | "definition includes any variable or function references, their names are", |
---|
1267 | "included, rather than their values (compare with ASSIGN). If the definition", |
---|
1268 | "is omitted, then the named variable or macro is undefined.\n", |
---|
1269 | "A typical macro definition looks like this:\n", |
---|
1270 | " DEFINE name command, command, command, ...\n", |
---|
1271 | "for example:\n", |
---|
1272 | " DEFINE vax set parity even, set duplex full, set flow xon/xoff\n", |
---|
1273 | "which defines a Kermit command macro called 'vax'. The definition is a", |
---|
1274 | "comma-separated list of Kermit commands. Use the DO command to execute", |
---|
1275 | "the macro, or just type its name, followed optionally by arguments.\n", |
---|
1276 | "The definition of a variable can be anything at all, for example:\n", |
---|
1277 | " DEFINE \\%a Monday", |
---|
1278 | " DEFINE \\%b 3\n", |
---|
1279 | "These variables can be used almost anywhere, for example:\n", |
---|
1280 | " ECHO Today is \\%a", |
---|
1281 | " SET BLOCK-CHECK \\%b", |
---|
1282 | "" }; |
---|
1283 | |
---|
1284 | static char *hxxass[] = { |
---|
1285 | "Syntax: ASSIGN variablename string.", |
---|
1286 | "Example: ASSIGN \\%a My name is \\%b.\n", |
---|
1287 | "Assigns the current value of the string to the variable (or macro).", |
---|
1288 | "The definition string is fully evaluated before it is assigned, so that", |
---|
1289 | "the values of any variables are contained are used, rather than their", |
---|
1290 | "names. Compare with DEFINE. To illustrate the difference, try this:\n", |
---|
1291 | " DEFINE \\%a hello", |
---|
1292 | " DEFINE \\%x \\%a", |
---|
1293 | " ASSIGN \\%y \\%a", |
---|
1294 | " DEFINE \\%a goodbye", |
---|
1295 | " ECHO \\%x \\%y\n", |
---|
1296 | "This will print 'goodbye hello'.", "" }; |
---|
1297 | |
---|
1298 | static char *hxxdec[] = { |
---|
1299 | "Syntax: DECREMENT variablename [ number ]\n", |
---|
1300 | "Decrement (subtract one from) the value of a variable if the current value", |
---|
1301 | "is numeric. If the number argument is given, subtract that number instead.", |
---|
1302 | "\nExamples: DECR \\%a, DECR \\%a 7, DECR \\%a \\%n", "" }; |
---|
1303 | |
---|
1304 | static char *hxxinc[] = { |
---|
1305 | "Syntax: INCREMENT variablename [ number ]\n", |
---|
1306 | "Increment (add one to) the value of a variable if the current value is", |
---|
1307 | "numeric. If the number argument is given, add that number instead.\n", |
---|
1308 | "Examples: INCR \\%a, INCR \\%a 7, INCR \\%a \\%n", "" }; |
---|
1309 | #endif /* NOSPL */ |
---|
1310 | |
---|
1311 | #ifdef ANYX25 |
---|
1312 | static char *hxxpad[] = { |
---|
1313 | "Syntax: PAD command", |
---|
1314 | "X.25 PAD commands:\n", |
---|
1315 | " PAD CLEAR - Clear the virtual call", |
---|
1316 | " PAD STATUS - Return the status of virtual call", |
---|
1317 | " PAD RESET - Send a reset packet", |
---|
1318 | " PAD INTERRUPT - Send an interrupt packet", |
---|
1319 | ""}; |
---|
1320 | |
---|
1321 | static char *hxyx25[] = { |
---|
1322 | "Syntax: SET X.25 option { ON [ data ], OFF }\n", |
---|
1323 | "X.25 call options:", |
---|
1324 | " CLOSED-USER-GROUP { ON index, OFF }", |
---|
1325 | " Enable or disable closed user group call, where index is the group", |
---|
1326 | " index, 0 to 99.", |
---|
1327 | " REVERSE-CHARGE { ON, OFF }", |
---|
1328 | " Tell whether you want to reverse the charges for the call.", |
---|
1329 | " CALL-USER-DATA { ON string, OFF }", |
---|
1330 | " Specify call user-data for the X.25 call.", |
---|
1331 | ""}; |
---|
1332 | #endif /* ANYX25 */ |
---|
1333 | |
---|
1334 | #ifdef OS2 |
---|
1335 | static char *hxyprtr[] = { |
---|
1336 | "Syntax: SET PRINTER filename\n", |
---|
1337 | "Where to send transparent-print and screen-dump material during CONNECT.", |
---|
1338 | "Default is PRN. You can also specify a disk file name, in which case the", |
---|
1339 | "given file is created if it does not exist, or is appended to if it already", |
---|
1340 | "exists. Use SET PRINTER NUL to discard transparent print and screen-dump", |
---|
1341 | "material. SHOW PRINTER displays the current setting. Note: SET PRINTER", |
---|
1342 | "does not affect the PRINT command.", |
---|
1343 | ""}; |
---|
1344 | #endif /* OS2 */ |
---|
1345 | |
---|
1346 | static char *hxyexit[] = { |
---|
1347 | "Syntax: SET EXIT ON-DISCONNECT { ON, OFF }", |
---|
1348 | " When ON, C-Kermit EXITs automatically when a network connection", |
---|
1349 | " is terminated either by the host or by issuing a HANGUP command.", |
---|
1350 | " This command is not currently supported on serial connections.\n", |
---|
1351 | "Syntax: SET EXIT STATUS number", |
---|
1352 | #ifdef NOSPL |
---|
1353 | " Set C-Kermit's program return code to the given number.", |
---|
1354 | #else |
---|
1355 | " Set C-Kermit's program return code to the given number, which can be a", |
---|
1356 | " constant, variable, or an \\feval() expression.", |
---|
1357 | #endif /* NOSPL */ |
---|
1358 | "\nSyntax: SET EXIT WARNING { ON, OFF, ALWAYS }", |
---|
1359 | " When EXIT WARNING is ON, issue a warning message and ask for confirmation", |
---|
1360 | " before EXITing if a connection to another computer might still be open.", |
---|
1361 | " When EXIT WARNING is ALWAYS, confirmation is always requested. The", |
---|
1362 | " default is ON.", |
---|
1363 | "" }; |
---|
1364 | |
---|
1365 | #ifndef NOSPL |
---|
1366 | static char *hxxpau[] = { |
---|
1367 | "Syntax: PAUSE [ { number-of-seconds, hh:mm:ss } ]", |
---|
1368 | "Example: PAUSE 3 or PAUSE 14:52:30\n", |
---|
1369 | "Do nothing for the specified number of seconds or until the given time of", |
---|
1370 | "day in 24-hour hh:mm:ss notation. If the time of day is earlier than the", |
---|
1371 | "current time, it is assumed to be tomorrow. If no argument given, one", |
---|
1372 | "second is used. The pause can be interrupted by typing any character on the", |
---|
1373 | "keyboard. If interrupted, PAUSE fails, otherwise it succeeds.", |
---|
1374 | "Synonym: SLEEP.", |
---|
1375 | "" }; |
---|
1376 | |
---|
1377 | static char *hxxmsl[] = { |
---|
1378 | "Syntax: MSLEEP [ number ]", |
---|
1379 | "Example: MSLEEP 500\n", |
---|
1380 | "Do nothing for the specified number of milliseconds; if no number given,", |
---|
1381 | "100 milliseconds.","" }; |
---|
1382 | #endif /* NOSPL */ |
---|
1383 | |
---|
1384 | #ifndef NOPUSH |
---|
1385 | extern int nopush; |
---|
1386 | static char *hxxshe[] = { |
---|
1387 | "Syntax: ! [ command ] or RUN [ command ] or PUSH [ command ]\n", |
---|
1388 | "Give a command to the local operating system's command processor, and", |
---|
1389 | "display the results on the screen.\n", |
---|
1390 | "If the command is omitted, enter interactive mode; return to Kermit", |
---|
1391 | "by exiting from the system's command parser. The command is usually", |
---|
1392 | "EXIT or QUIT or LOGOUT.", "" }; |
---|
1393 | #endif /* NOPUSH */ |
---|
1394 | |
---|
1395 | #ifndef NOXMIT |
---|
1396 | static char *hxxxmit[] = { |
---|
1397 | "Syntax: TRANSMIT file\n", |
---|
1398 | "The TRANSMIT command is used for sending single files to other computers", |
---|
1399 | "that don't have Kermit. Text files are sent a line at a time; binary files", |
---|
1400 | "are sent a character at a time. There is no guarantee that the other", |
---|
1401 | "computer will receive the file correctly and completely. Before you start", |
---|
1402 | "the TRANSMIT command, you must put the other computer in data collection", |
---|
1403 | "mode, for example by starting a text editor. TRANSMIT may be interrupted by", |
---|
1404 | "Ctrl-C. Synonym: XMIT.", |
---|
1405 | "" }; |
---|
1406 | #endif /* NOXMIT */ |
---|
1407 | |
---|
1408 | #ifndef NOCSETS |
---|
1409 | static char *hxxxla[] = { |
---|
1410 | "Syntax: TRANSLATE file1 cs1 cs2 [ file2 ]\n", |
---|
1411 | "Translates file1 from the character set cs1 into the character set cs2", |
---|
1412 | "and stores the result in file2. The character sets can be any of", |
---|
1413 | "C-Kermit's file character sets. If file2 is omitted, the translation", |
---|
1414 | "is displayed on the screen. An appropriate intermediate character-set", |
---|
1415 | "is chosen automatically, if necessary.", |
---|
1416 | "Synonym: XLATE. Example:\n", |
---|
1417 | "TRANSLATE lasagna.lat latin1 italian lasagna.nrc", |
---|
1418 | "" }; |
---|
1419 | #endif /* NOCSETS */ |
---|
1420 | |
---|
1421 | #ifndef NOSPL |
---|
1422 | static char *hxxwai[] = { |
---|
1423 | "Syntax: WAIT { number-of-seconds, hh:mm:ss } [modem-signal(s)]", |
---|
1424 | "Example: WAIT 5 \\cd \\cts", |
---|
1425 | "Or: WAIT 23:59:59 \\cd", |
---|
1426 | "Waits up to the given number of seconds or the given time of day for all of", |
---|
1427 | "the specified modem signals to appear on the serial communication device.", |
---|
1428 | "Sets FAILURE if signals do not appear in the given time or if interrupted by", |
---|
1429 | "typing anything at the keyboard during the waiting period.\n", |
---|
1430 | "Signals: \\cd = Carrier Detect, \\dsr = Dataset Ready, \\cts = Clear To Send", |
---|
1431 | "" }; |
---|
1432 | #endif /* NOSPL */ |
---|
1433 | |
---|
1434 | static char *hxxwri[] = { |
---|
1435 | "Syntax: WRITE name text\n", |
---|
1436 | "Writes the given text to the named log or file. The text text may include", |
---|
1437 | "backslash codes, and is not terminated by a newline unless you include the", |
---|
1438 | "appropriate code. The name parameter can be any of the following:\n", |
---|
1439 | " DEBUG-LOG", |
---|
1440 | " ERROR (standard error)", |
---|
1441 | #ifndef NOSPL |
---|
1442 | " FILE (the OPEN WRITE, OPEN !WRITE, or OPEN APPEND file, see HELP OPEN)", |
---|
1443 | #endif /* NOSPL */ |
---|
1444 | " PACKET-LOG", |
---|
1445 | " SCREEN (compare with ECHO)", |
---|
1446 | #ifndef NOLOCAL |
---|
1447 | " SESSION-LOG", |
---|
1448 | #endif /* NOLOCAL */ |
---|
1449 | " TRANSACTION-LOG", "" }; |
---|
1450 | |
---|
1451 | #ifndef NODIAL |
---|
1452 | static char *hxxlook[] = { "Syntax: LOOKUP name\n", |
---|
1453 | "Looks up the given name in the dialing directory or directories, if any,", |
---|
1454 | "specified in the most recent SET DIAL DIRECTORY command. Each matching", |
---|
1455 | "entry is shown, along with any transformations that would be applied to", |
---|
1456 | "portable-format entries based on your locale. HELP DIAL, HELP SET DIAL", |
---|
1457 | "for further info.", |
---|
1458 | "" |
---|
1459 | }; |
---|
1460 | |
---|
1461 | static char *hxxansw[] = { "Syntax: ANSWER [ <seconds> ]\n", |
---|
1462 | #ifdef OS2 |
---|
1463 | "Waits for a modem call to come in. Prior SET MODEM TYPE and SET PORT", |
---|
1464 | #else |
---|
1465 | "Waits for a modem call to come in. Prior SET MODEM TYPE and SET LINE", |
---|
1466 | #endif /* OS2 */ |
---|
1467 | "required. If <seconds> is 0 or not specified, Kermit waits forever or until", |
---|
1468 | "interrupted, otherwise Kermit waits the given number of seconds. The ANSWER", |
---|
1469 | "command puts the modem in autoanswer mode. Subsequent DIAL commands will", |
---|
1470 | "automatically put it (back) in originate mode. SHOW MODEM, HELP SET MODEM", |
---|
1471 | "for more info.", |
---|
1472 | "" |
---|
1473 | }; |
---|
1474 | |
---|
1475 | static char *hxxdial[] = { "Syntax: DIAL phonenumber", |
---|
1476 | "Example: DIAL 7654321\n", |
---|
1477 | "Dials a number using an autodial modem. First you must SET MODEM, then", |
---|
1478 | #ifdef OS2 |
---|
1479 | "SET PORT, then SET SPEED. Then give the DIAL command, including the phone", |
---|
1480 | #else |
---|
1481 | "SET LINE, then SET SPEED. Then give the DIAL command, including the phone", |
---|
1482 | #endif /* OS2 */ |
---|
1483 | "number, for example:\n", |
---|
1484 | " DIAL 7654321\n", |
---|
1485 | #ifdef NETCONN |
---|
1486 | "If the modem is on a network modem server, SET HOST first, then SET MODEM,", |
---|
1487 | "then DIAL. See also SET DIAL, SET MODEM, SET LINE, SET HOST, SET SPEED,", |
---|
1488 | "and REDIAL.\n", |
---|
1489 | #else |
---|
1490 | "See also SET DIAL, SET MODEM, SET LINE, SET SPEED, REDIAL.\n", |
---|
1491 | #endif /* NETCONN */ |
---|
1492 | "If the phonenumber starts with a letter, and if you have used the SET DIAL", |
---|
1493 | "DIRECTORY command to specify one or more dialing-directory files, Kermit", |
---|
1494 | "looks it up in the given file(s); if it is found, the name is replaced by", |
---|
1495 | "the number or numbers associated with the name. If it is not found, the", |
---|
1496 | "name is sent to the modem literally.\n", |
---|
1497 | "If the phonenumber starts with an equals sign (\"=\"), this forces the part", |
---|
1498 | "after the = to be send literally to the modem, even if it starts with a", |
---|
1499 | "letter, without any directory lookup.\n", |
---|
1500 | "A dialing directory is a plain text file, one entry per line:\n", |
---|
1501 | " name phonenumber ; comments\n", |
---|
1502 | "for example:\n", |
---|
1503 | " work 9876543 ; This is a comment", |
---|
1504 | " e-mail +1 (212) 555 4321 ; My electronic mailbox", |
---|
1505 | " heise +49 (511) 535 2301 ; Verlag Heinz Heise BBS\n", |
---|
1506 | "If a phone number starts with +, then it must include country code and", |
---|
1507 | "area code, and C-Kermit will try to handle these appropriately based on", |
---|
1508 | "the current locale (HELP SET DIAL for further info); these are called", |
---|
1509 | "PORTABLE entries. If it does not start with +, it is dialed literally.\n", |
---|
1510 | "If more than one entry is found with the same name, Kermit dials all of", |
---|
1511 | "them until the call is completed; if the entries are in portable format,", |
---|
1512 | "Kermit dials then in cheap-to-expensive order: internal, then local, then", |
---|
1513 | "long-distance, then international, based on its knowledge of your local", |
---|
1514 | "country code and area code (see HELP SET DIAL).\n", |
---|
1515 | "Specify your dialing directory file(s) with the SET DIAL DIRECTORY command.", |
---|
1516 | "" }; |
---|
1517 | #endif /* NODIAL */ |
---|
1518 | |
---|
1519 | #endif /* NOHELP */ |
---|
1520 | |
---|
1521 | /* D O H L P -- Give a help message */ |
---|
1522 | |
---|
1523 | _PROTOTYP( int dohset, (int) ); |
---|
1524 | |
---|
1525 | int |
---|
1526 | dohlp(xx) int xx; { |
---|
1527 | int x,y; |
---|
1528 | |
---|
1529 | debug(F101,"DOHELP xx","",xx); |
---|
1530 | if (xx < 0) return(xx); |
---|
1531 | |
---|
1532 | switch (xx) { |
---|
1533 | |
---|
1534 | #ifdef NOHELP |
---|
1535 | |
---|
1536 | case XXHLP: |
---|
1537 | if ((x = cmcfm()) < 0) |
---|
1538 | return(x); |
---|
1539 | printf("\n%s, Copyright (C) 1985, 1996,",versio); |
---|
1540 | return(hmsga(tophlp)); |
---|
1541 | |
---|
1542 | #else /* help is available */ |
---|
1543 | |
---|
1544 | #ifndef NOSPL |
---|
1545 | case XXASS: /* assign */ |
---|
1546 | return(hmsga(hxxass)); |
---|
1547 | |
---|
1548 | case XXASK: /* ask */ |
---|
1549 | return(hmsga(hxxask)); |
---|
1550 | |
---|
1551 | case XXASKQ: |
---|
1552 | return(hmsga(hxxaskq)); |
---|
1553 | |
---|
1554 | case XXAPC: |
---|
1555 | return(hmsg("Syntax: APC text\n\ |
---|
1556 | Echoes the text in the form of a VT220/320/420 Application Program Command.\n\ |
---|
1557 | Use the APC command to send commands to MS-DOS Kermit 3.13 or later.")); |
---|
1558 | #endif /* NOSPL */ |
---|
1559 | |
---|
1560 | #ifndef NOFRILLS |
---|
1561 | case XXBUG: |
---|
1562 | return(hmsg("Describes how to get technical support.")); |
---|
1563 | #endif /* NOFRILLS */ |
---|
1564 | |
---|
1565 | #ifndef NOSPL |
---|
1566 | case XXBEEP: |
---|
1567 | #ifdef OS2 |
---|
1568 | return(hmsg("Syntax: BEEP [ { ERROR, INFORMATION, WARNING } ]\n\ |
---|
1569 | Generates a bell according to the current settings. If SET BELL is set to\n\ |
---|
1570 | \"system-sounds\" then the appropriate System Sound will be generated.\n\ |
---|
1571 | Default is INFORMATION.")); |
---|
1572 | #else /* OS2 */ |
---|
1573 | return(hmsg("Syntax: BEEP\n\ |
---|
1574 | Sends a BEL character to your terminal.")); |
---|
1575 | #endif /* OS2 */ |
---|
1576 | #endif /* NOSPL */ |
---|
1577 | |
---|
1578 | case XXBYE: /* BYE */ |
---|
1579 | return(hmsg(hmxxbye)); |
---|
1580 | |
---|
1581 | case XXCHK: /* check */ |
---|
1582 | return(hmsg("\ |
---|
1583 | Syntax: CHECK name\n\ |
---|
1584 | Checks to see if the named feature is included in this version of C-Kermit.\n\ |
---|
1585 | To list the features you can check, type \"check ?\".")); |
---|
1586 | |
---|
1587 | #ifndef NOFRILLS |
---|
1588 | case XXCLE: /* clear */ |
---|
1589 | #ifdef OS2 |
---|
1590 | return(hmsg("\ |
---|
1591 | Syntax: CLEAR [ { COMMAND-SCREEN, DEVICE, DEVICE-AND-INPUT, INPUT,\n\ |
---|
1592 | SCROLLBACK, SEND-LIST, TERMINAL-SCREEN } ]\n\ |
---|
1593 | COMMAND-SCREEN clears the current command screen\n\ |
---|
1594 | DEVICE clears the current port or network input buffer\n\ |
---|
1595 | DEVICE-AND-INPUT, the default, clears both the device and the INPUT buffer\n\ |
---|
1596 | INPUT clears the INPUT command buffer\n\ |
---|
1597 | SCROLLBACK empties the scrollback buffer including the current screen\n\ |
---|
1598 | SEND-LIST clears the current SEND list (see ADD)\n\ |
---|
1599 | TERMINAL-SCREEN clears the current screen a places it into the scrollback\n\ |
---|
1600 | buffer.")); |
---|
1601 | #else /* not OS2 */ |
---|
1602 | return(hmsg("\ |
---|
1603 | Syntax: CLEAR [ { DEVICE, INPUT, DEVICE-AND-INPUT, DIAL-STATUS, SEND-LIST }\ |
---|
1604 | ]\n\ |
---|
1605 | Clears the communications device input buffer, the INPUT command buffer,\n\ |
---|
1606 | or both. CLEAR SEND-LIST clears the SEND list (see ADD). CLEAR DIAL-STATUS\n\ |
---|
1607 | clears the \\v(dialstatus) variable. The default is DEVICE-AND-INPUT.")); |
---|
1608 | #endif /* OS2 */ |
---|
1609 | #endif /* NOFRILLS */ |
---|
1610 | |
---|
1611 | case XXCLO: /* close */ |
---|
1612 | return(hmsga(hmxxclo)); |
---|
1613 | |
---|
1614 | case XXCOM: /* comment */ |
---|
1615 | #ifndef STRATUS /* Can't use # for comments in Stratus VOS */ |
---|
1616 | return(hmsg("\ |
---|
1617 | Syntax: COMMENT text\n\ |
---|
1618 | Example: COMMENT - this is a comment.\n\n\ |
---|
1619 | Introduces a comment. Beginning of command line only. Commands may also\n\ |
---|
1620 | have trailing comments, introduced by ; or #.")); |
---|
1621 | #else |
---|
1622 | return(hmsg("\ |
---|
1623 | Syntax: COMMENT text\n\ |
---|
1624 | Example: COMMENT - this is a comment.\n\n\ |
---|
1625 | Introduces a comment. Beginning of command line only. Commands may also\n\ |
---|
1626 | have trailing comments, introduced by ; (semicolon).")); |
---|
1627 | #endif /* STRATUS */ |
---|
1628 | |
---|
1629 | #ifndef NOLOCAL |
---|
1630 | case XXCON: /* connect */ |
---|
1631 | hmsga(hmxxcon); |
---|
1632 | printf("Your escape character is Ctrl-%c (ASCII %d, %s)\r\n", |
---|
1633 | ctl(escape), escape, (escape == 127 ? "DEL" : ccntab[escape])); |
---|
1634 | return(0); |
---|
1635 | #endif /* NOLOCAL */ |
---|
1636 | |
---|
1637 | #ifndef NOFRILLS |
---|
1638 | case XXCPY: |
---|
1639 | return(hmsg("Syntax: COPY source destination\n\n\ |
---|
1640 | Copy the file 'source' to 'destination'.")); |
---|
1641 | #endif /* NOFRILLS */ |
---|
1642 | |
---|
1643 | case XXCWD: /* cd / cwd */ |
---|
1644 | #ifdef vms |
---|
1645 | return(hmsg("Syntax: CD [ directory or device:directory ]\n\ |
---|
1646 | Change Working Directory, equivalent to VMS SET DEFAULT command")); |
---|
1647 | #else |
---|
1648 | #ifdef datageneral |
---|
1649 | return(hmsg("Change Working Directory, equivalent to DG 'dir' command")); |
---|
1650 | #else |
---|
1651 | #ifdef OS2 |
---|
1652 | return(hmsg("Syntax: CD [ directoryname ]\n\ |
---|
1653 | Change Directory. If directoryname is not specified, changes to directory\n\ |
---|
1654 | specified by HOME environment variable, if any.")); |
---|
1655 | #else |
---|
1656 | return(hmsg("Syntax: CD [ directoryname ]\n\ |
---|
1657 | Change Directory. \n\ |
---|
1658 | If directory name omitted, changes to your home directory.")); |
---|
1659 | #endif /* OS2 */ |
---|
1660 | #endif /* datageneral */ |
---|
1661 | #endif /* vms */ |
---|
1662 | |
---|
1663 | #ifndef NOSPL |
---|
1664 | case XXDCL: |
---|
1665 | return(hmsg("Syntax: DECLARE arrayname[size]\n\ |
---|
1666 | Example: DECLARE \\&a[20]\n\n\ |
---|
1667 | Declares an array of the given size. Array elements can be used just like\n\ |
---|
1668 | any other variables.")); |
---|
1669 | |
---|
1670 | case XXDEF: /* DEFINE */ |
---|
1671 | return(hmsga(hxxdef)); |
---|
1672 | |
---|
1673 | case XXUNDEF: /* UNDEFINE */ |
---|
1674 | return(hmsg("Syntax: UNDEFINE variable-name\n\ |
---|
1675 | Undefines a macro or variable.")); |
---|
1676 | #endif /* NOSPL */ |
---|
1677 | |
---|
1678 | #ifndef NOFRILLS |
---|
1679 | case XXDEL: /* delete */ |
---|
1680 | return(hmsg("Syntax: DELETE filespec\n\n\ |
---|
1681 | Delete a local file or files. RM is a synonym for DELETE.")); |
---|
1682 | #endif /* NOFRILLS */ |
---|
1683 | |
---|
1684 | #ifndef NODIAL |
---|
1685 | case XXDIAL: /* DIAL, etc... */ |
---|
1686 | return(hmsga(hxxdial)); |
---|
1687 | |
---|
1688 | case XXPDIA: /* PDIAL */ |
---|
1689 | return(hmsg("Syntax: PDIAL phonenumber\n\n\ |
---|
1690 | Partially dial a phone number. Like DIAL but does not wait for carrier\n\ |
---|
1691 | or CONNECT message.")); |
---|
1692 | |
---|
1693 | case XXRED: |
---|
1694 | return(hmsg("Redial the number given in the most recent DIAL commnd.")); |
---|
1695 | |
---|
1696 | case XXANSW: /* ANSWER */ |
---|
1697 | return(hmsga(hxxansw)); |
---|
1698 | |
---|
1699 | case XXLOOK: /* LOOKUP number in directory */ |
---|
1700 | return(hmsga(hxxlook)); |
---|
1701 | #endif /* NODIAL */ |
---|
1702 | |
---|
1703 | case XXDIR: /* directory */ |
---|
1704 | return(hmsg("Syntax: DIRECTORY [ filespec ]\n\ |
---|
1705 | Display a directory listing of local files.")); |
---|
1706 | |
---|
1707 | #ifndef NOSERVER |
---|
1708 | #ifndef NOFRILLS |
---|
1709 | case XXDIS: |
---|
1710 | return(hmsg("Syntax: DISABLE command\n\n\ |
---|
1711 | Security for the C-Kermit server. Prevent the client Kermit program from\n\ |
---|
1712 | executing the named REMOTE command, such as CD, DELETE, RECEIVE, etc.")); |
---|
1713 | #endif /* NOFRILLS */ |
---|
1714 | #endif /* NOSERVER */ |
---|
1715 | |
---|
1716 | #ifndef NOSPL |
---|
1717 | case XXDO: /* do */ |
---|
1718 | return(hmsg("Syntax: [ DO ] macroname [ arguments ]\n\n\ |
---|
1719 | Execute a macro that was defined by the DEFINE command. The word DO\n\ |
---|
1720 | can be omitted. Trailing argument words, if any, are automatically\n\ |
---|
1721 | assigned to the macro argument variables \\%1, \\%2, etc.")); |
---|
1722 | #endif /* NOSPL */ |
---|
1723 | |
---|
1724 | #ifndef NOSPL |
---|
1725 | case XXDEC: |
---|
1726 | return(hmsga(hxxdec)); |
---|
1727 | #endif /* NOSPL */ |
---|
1728 | |
---|
1729 | case XXECH: /* echo */ |
---|
1730 | return(hmsg("Syntax: ECHO text\n\ |
---|
1731 | Display the text on the screen, followed by a line terminator. The ECHO\n\ |
---|
1732 | text may contain backslash codes. Example: ECHO \\7Wake up!\\7")); |
---|
1733 | |
---|
1734 | case XXXECH: /* xecho */ |
---|
1735 | return(hmsg("Syntax: XECHO text\n\ |
---|
1736 | Just like ECHO but does not add a line terminator to the text. See ECHO.")); |
---|
1737 | |
---|
1738 | #ifndef NOSERVER |
---|
1739 | #ifndef NOFRILLS |
---|
1740 | case XXENA: |
---|
1741 | return(hmsg("Syntax: ENABLE capability\n\n\ |
---|
1742 | For use with server mode. Allow the client Kermit program access to the\n\ |
---|
1743 | named capability, such as CD, DELETE, RECEIVE, etc. Opposite of DISABLE.")); |
---|
1744 | #endif /* NOFRILLS */ |
---|
1745 | #endif /* NOSERVER */ |
---|
1746 | |
---|
1747 | #ifndef NOSPL |
---|
1748 | case XXEND: /* end */ |
---|
1749 | return(hmsg("Syntax: END [ number [ message ] ]\n\ |
---|
1750 | Exit from the current macro or TAKE file, back to wherever invoked from.\n\ |
---|
1751 | Number is return code. Message, if given, is printed.")); |
---|
1752 | |
---|
1753 | case XXEVAL: /* evaluate */ |
---|
1754 | return(hmsga(hmxxeval)); |
---|
1755 | #endif /* NOSPL */ |
---|
1756 | |
---|
1757 | #ifndef NOFRILLS |
---|
1758 | case XXERR: /* e-packet */ |
---|
1759 | return(hmsg("Syntax: E-PACKET\n\ |
---|
1760 | Send an Error packet to the other Kermit.")); |
---|
1761 | #endif /* NOFRILLS */ |
---|
1762 | |
---|
1763 | case XXEXI: /* exit */ |
---|
1764 | case XXQUI: |
---|
1765 | return(hmsg("Syntax: QUIT (or EXIT) [ number ]\n\ |
---|
1766 | Exit from the Kermit program, closing all open files and devices, optionally\n\ |
---|
1767 | setting the program's return code to the given number.")); |
---|
1768 | |
---|
1769 | case XXFIN: |
---|
1770 | return(hmsg("Syntax: FINISH\n\ |
---|
1771 | Tell the remote Kermit server to shut down without logging out.")); |
---|
1772 | |
---|
1773 | #ifndef NOSPL |
---|
1774 | case XXFOR: |
---|
1775 | return(hmsga(forhlp)); |
---|
1776 | #endif /* NOSPL */ |
---|
1777 | |
---|
1778 | case XXGET: |
---|
1779 | return(hmsg(hmxxget)); |
---|
1780 | |
---|
1781 | #ifndef NOSPL |
---|
1782 | #ifndef NOFRILLS |
---|
1783 | case XXGOK: |
---|
1784 | return(hmsg("Syntax: GETOK prompt\n\ |
---|
1785 | Print the prompt, make user type 'yes', 'no', or 'ok', and set SUCCESS or\n\ |
---|
1786 | FAILURE accordingly.")); |
---|
1787 | #endif /* NOFRILLS */ |
---|
1788 | #endif /* NOSPL */ |
---|
1789 | |
---|
1790 | #ifndef NOSPL |
---|
1791 | case XXGOTO: |
---|
1792 | return(hmsg("Syntax: GOTO label\n\ |
---|
1793 | In a TAKE file or macro, go to the given label. A label is a word on the\n\ |
---|
1794 | left margin that starts with a colon (:). Example:\n\n\ |
---|
1795 | :oofa\n\ |
---|
1796 | echo Hello!\n\ |
---|
1797 | goto oofa")); |
---|
1798 | #endif /* NOSPL */ |
---|
1799 | |
---|
1800 | case XXHAN: |
---|
1801 | return(hmsg("Syntax: HANGUP\n\ |
---|
1802 | Hang up the phone or network connection.")); |
---|
1803 | |
---|
1804 | case XXHLP: |
---|
1805 | /* |
---|
1806 | We get confirmation here, even though we do it again in hmsga(), to prevent |
---|
1807 | the Copyright message from being printed prematurely. This doesn't do any |
---|
1808 | harm, because the first call to cmcfm() sets cmflgs to 1, making the second |
---|
1809 | call return immediately. |
---|
1810 | */ |
---|
1811 | if ((x = cmcfm()) < 0) |
---|
1812 | return(x); |
---|
1813 | printf("\n%s, Copyright (C) 1985, 1996,",versio); |
---|
1814 | return(hmsga(tophlp)); |
---|
1815 | |
---|
1816 | case XXINT: |
---|
1817 | return(hmsg("Give a brief introduction to C-Kermit.")); |
---|
1818 | |
---|
1819 | #ifndef NOSPL |
---|
1820 | case XXIF: |
---|
1821 | return(hmsga(ifhlp)); |
---|
1822 | |
---|
1823 | case XXINC: |
---|
1824 | return(hmsga(hxxinc)); |
---|
1825 | |
---|
1826 | case XXINP: |
---|
1827 | return(hmsga(hxxinp)); |
---|
1828 | #endif /* NOSPL */ |
---|
1829 | |
---|
1830 | #ifdef CK_MINPUT |
---|
1831 | case XXMINP: |
---|
1832 | return(hmsga(hmxxminp)); |
---|
1833 | #endif /* CK_MINPUT */ |
---|
1834 | |
---|
1835 | #ifndef NOSPL |
---|
1836 | case XXREI: |
---|
1837 | return(hmsg("Syntax: REINPUT n string\n\n\ |
---|
1838 | Look for the string in the text that has recently been INPUT, set SUCCESS\n\ |
---|
1839 | or FAILURE accordingly. Timeout, n, must be specified but is ignored.")); |
---|
1840 | #endif /* NOSPL */ |
---|
1841 | |
---|
1842 | #ifndef NOFRILLS |
---|
1843 | case XXREN: |
---|
1844 | return(hmsg("Syntax: RENAME oldname newname\n\n\ |
---|
1845 | Change the name of file 'oldname' to 'newname'.")); |
---|
1846 | #endif /* NOFRILLS */ |
---|
1847 | |
---|
1848 | #ifndef NOSPL |
---|
1849 | case XXLBL: |
---|
1850 | return(hmsg("\ |
---|
1851 | Introduce a label, like :loop, for use with GOTO in TAKE files or macros.\n\ |
---|
1852 | See GOTO.")); |
---|
1853 | #endif /* NOSPL */ |
---|
1854 | |
---|
1855 | case XXLOG: |
---|
1856 | return(hmsga(hmxxlg)); |
---|
1857 | |
---|
1858 | #ifndef NOSCRIPT |
---|
1859 | case XXLOGI: |
---|
1860 | return(hmsga(hmxxlogi)); |
---|
1861 | #endif |
---|
1862 | |
---|
1863 | #ifndef NOFRILLS |
---|
1864 | case XXMAI: |
---|
1865 | return(hmsg("Syntax: MAIL filename address\n\n\ |
---|
1866 | Send the file to the remote Kermit, which must be in RECEIVE or SERVER mode,\n\ |
---|
1867 | and request that the remote host deliver the file as electronic mail to the\n\ |
---|
1868 | given address. Example: MAIL BUG.TXT KERMIT@CUVMA")); |
---|
1869 | #endif /* NOFRILLS */ |
---|
1870 | |
---|
1871 | #ifndef NOMSEND |
---|
1872 | case XXMSE: |
---|
1873 | return(hmsg(hmssmse)); |
---|
1874 | |
---|
1875 | case XXADD: |
---|
1876 | return(hmsg(hmssadd)); |
---|
1877 | |
---|
1878 | case XXMMOVE: |
---|
1879 | return(hmsg("MMOVE is exactly like MSEND, except each file that is\n\ |
---|
1880 | sent successfully is deleted after it is sent.")); |
---|
1881 | #endif /* NOMSEND */ |
---|
1882 | |
---|
1883 | #ifndef NOSPL |
---|
1884 | case XXOPE: |
---|
1885 | return(hmsga(openhlp)); |
---|
1886 | #endif /* NOSPL */ |
---|
1887 | |
---|
1888 | case XXNEW: |
---|
1889 | return(hmsg( |
---|
1890 | " Print news of new features since publication of \"Using C-Kermit\".")); |
---|
1891 | |
---|
1892 | #ifndef NOSPL |
---|
1893 | case XXOUT: |
---|
1894 | return(hmsg("Syntax: OUTPUT text\n\n\ |
---|
1895 | Send the text out the currently selected line, as if you had typed it\n\ |
---|
1896 | during CONNECT mode. The text may contain backslash codes. Example:\n\n\ |
---|
1897 | OUTPUT help\\13")); |
---|
1898 | #endif /* NOSPL */ |
---|
1899 | |
---|
1900 | #ifdef ANYX25 |
---|
1901 | case XXPAD: |
---|
1902 | return(hmsga(hxxpad)); |
---|
1903 | #endif /* ANYX25 */ |
---|
1904 | |
---|
1905 | #ifndef NOSPL |
---|
1906 | case XXPAU: |
---|
1907 | return(hmsga(hxxpau)); |
---|
1908 | |
---|
1909 | case XXMSL: |
---|
1910 | return(hmsga(hxxmsl)); |
---|
1911 | #endif /* NOSPL */ |
---|
1912 | |
---|
1913 | #ifdef TCPSOCKET |
---|
1914 | case XXPNG: |
---|
1915 | return(hmsg("Syntax: PING [ IP-hostname-or-number ]\n\n\ |
---|
1916 | Check if given IP network host is reachable. Default host is from most\n\ |
---|
1917 | recent SET HOST or TELNET command. Runs system PING program, if any.")); |
---|
1918 | |
---|
1919 | case XXFTP: |
---|
1920 | return(hmsg("Syntax: FTP [ IP-hostname-or-number ]\n\n\ |
---|
1921 | Make an FTP connection to the given IP host or, if no host specified, to the\n\ |
---|
1922 | current host. Uses the system's FTP program, if any.\n")); |
---|
1923 | #endif /* TCPSOCKET */ |
---|
1924 | |
---|
1925 | #ifndef NOFRILLS |
---|
1926 | case XXPRI: |
---|
1927 | return(hmsg("Syntax: PRINT file [ options ]\n\n\ |
---|
1928 | Print the local file on a local printer with the given options.")); |
---|
1929 | #endif /* NOFRILLS */ |
---|
1930 | |
---|
1931 | case XXPWD: |
---|
1932 | return(hmsg("Syntax: PWD\n\ |
---|
1933 | Print the name of the current working directory.")); |
---|
1934 | |
---|
1935 | #ifndef NOSPL |
---|
1936 | case XXREA: |
---|
1937 | return(hmsg("Syntax: READ variablename\n\ |
---|
1938 | Read a line from the currently open READ or !READ file into the variable\n\ |
---|
1939 | (see OPEN).")); |
---|
1940 | #endif /* NOSPL */ |
---|
1941 | |
---|
1942 | case XXREC: |
---|
1943 | return(hmsga(hmxxrc)); |
---|
1944 | |
---|
1945 | case XXREM: |
---|
1946 | y = cmkey(remcmd,nrmt,"Remote command","",xxstring); |
---|
1947 | return(dohrmt(y)); |
---|
1948 | |
---|
1949 | #ifndef NOSPL |
---|
1950 | case XXRET: |
---|
1951 | return(hmsg("Syntax: RETURN [ value ]\n\ |
---|
1952 | Return from a macro. An optional return value can be given for use with\n\ |
---|
1953 | with \\fexecute(macro), which allows macros to be used like functions.")); |
---|
1954 | #endif /* NOSPL */ |
---|
1955 | case XXSEN: |
---|
1956 | return(hmsg(hmxxsen)); |
---|
1957 | case XXMOVE: |
---|
1958 | return(hmsg("MOVE is exactly like SEND, except each file that is\n\ |
---|
1959 | sent successfully is deleted after it is sent.")); |
---|
1960 | #ifndef NORESEND |
---|
1961 | case XXRSEN: |
---|
1962 | return(hmsg(hmxxrsen)); |
---|
1963 | case XXREGET: |
---|
1964 | return(hmsg(hmxxrget)); |
---|
1965 | case XXPSEN: |
---|
1966 | return(hmsg(hmxxpsen)); |
---|
1967 | #endif /* NORESEND */ |
---|
1968 | |
---|
1969 | #ifndef NOSERVER |
---|
1970 | case XXSER: |
---|
1971 | return(hmsg(hmxxser)); |
---|
1972 | #endif /* NOSERVER */ |
---|
1973 | |
---|
1974 | #ifndef NOJC |
---|
1975 | case XXSUS: |
---|
1976 | return(hmsg("Syntax: SUSPEND or Z\n\ |
---|
1977 | Suspend Kermit. Continue Kermit with the appropriate system command,\n\ |
---|
1978 | such as fg.")); |
---|
1979 | #endif /* NOJC */ |
---|
1980 | |
---|
1981 | case XXSET: |
---|
1982 | y = cmkey(prmtab,nprm,"Parameter","",xxstring); |
---|
1983 | debug(F101,"HELP SET y","",y); |
---|
1984 | return(dohset(y)); |
---|
1985 | |
---|
1986 | #ifndef NOPUSH |
---|
1987 | case XXSHE: |
---|
1988 | if ( nopush ) { |
---|
1989 | if ((x = cmcfm()) < 0) return(x); |
---|
1990 | printf("Sorry, help not available for \"%s\"\n",cmdbuf); |
---|
1991 | break; |
---|
1992 | } |
---|
1993 | else return(hmsga(hxxshe)); |
---|
1994 | #ifdef CK_REDIR |
---|
1995 | case XXFUN: |
---|
1996 | return(hmsg("Syntax: REDIRECT command\n\ |
---|
1997 | Run the given local command with its standard input and output redirected\n\ |
---|
1998 | to the current SET LINE or SET HOST communications path.\n\ |
---|
1999 | Synonym: < (Left angle bracket).")); |
---|
2000 | #endif /* CK_REDIR */ |
---|
2001 | |
---|
2002 | #ifdef CK_REXX |
---|
2003 | case XXREXX: |
---|
2004 | return(hmsg("Syntax: REXX text\n\ |
---|
2005 | The text is a Rexx command to be executed. The \\v(rexx) variable is set to\n\ |
---|
2006 | the Rexx command's return value.\n\ |
---|
2007 | To execute a rexx program file, use: REXX call <filename>\n\ |
---|
2008 | Rexx programs may call C-Kermit functions by placing the C-Kermit command in\n\ |
---|
2009 | single quotes. For instance: 'set parity none'.")); |
---|
2010 | #endif /* CK_REXX */ |
---|
2011 | #endif /* NOPUSH */ |
---|
2012 | |
---|
2013 | #ifndef NOSHOW |
---|
2014 | case XXSHO: |
---|
2015 | return(hmsg("\ |
---|
2016 | Display current values of various items (SET parameters, variables, etc).\n\ |
---|
2017 | Type SHOW ? for a list of categories.")); |
---|
2018 | #endif /* NOSHOW */ |
---|
2019 | |
---|
2020 | case XXSPA: |
---|
2021 | #ifdef datageneral |
---|
2022 | return(hmsg("\ |
---|
2023 | Display disk usage in current device, directory,\n\ |
---|
2024 | or return space for a specified device, directory.")); |
---|
2025 | #else |
---|
2026 | return(hmsg("Syntax: SPACE\n\ |
---|
2027 | Display disk usage in current device and/or directory")); |
---|
2028 | #endif |
---|
2029 | |
---|
2030 | case XXSTA: |
---|
2031 | return(hmsg("Syntax: STATISTICS\n\ |
---|
2032 | Display statistics about most recent file transfer")); |
---|
2033 | |
---|
2034 | #ifndef NOSPL |
---|
2035 | case XXSTO: |
---|
2036 | return(hmsg("Syntax: STOP [ number [ message ] ]\n\ |
---|
2037 | Stop executing the current macro or TAKE file and return immediately to\n\ |
---|
2038 | the C-Kermit prompt. Number is a return code. Message printed if given.")); |
---|
2039 | #endif /* NOSPL */ |
---|
2040 | |
---|
2041 | case XXTAK: |
---|
2042 | return(hmsg("Syntax: TAKE filename\n\ |
---|
2043 | Take Kermit commands from the named file. Kermit command files may\n\ |
---|
2044 | themselves contain TAKE commands, up to a reasonable depth of nesting.")); |
---|
2045 | |
---|
2046 | #ifdef TCPSOCKET |
---|
2047 | case XXTEL: |
---|
2048 | return(hmsg("Syntax: TELNET [ host [ service ] ]\n\ |
---|
2049 | Equivalent to SET NETWORK TCP/IP, SET HOST host [ service ], followed by\n\ |
---|
2050 | CONNECT. If host is omitted, previous connection (if any) is resumed.")); |
---|
2051 | #ifdef RLOGCODE |
---|
2052 | case XXRLOG: |
---|
2053 | return(hmsg("Syntax: RLOGIN [ host [ username ] ]\n\ |
---|
2054 | Makes an interactive connection to the host using RLOGIN protocol.\n\ |
---|
2055 | If host is omitted, previous connection (if any) is resumed.")); |
---|
2056 | #endif /* RLOGCODE */ |
---|
2057 | #endif /* TCPSOCKET */ |
---|
2058 | |
---|
2059 | #ifndef NOXMIT |
---|
2060 | case XXTRA: |
---|
2061 | return(hmsga(hxxxmit)); |
---|
2062 | #endif /* NOXMIT */ |
---|
2063 | |
---|
2064 | #ifndef NOFRILLS |
---|
2065 | case XXTYP: |
---|
2066 | return(hmsg("Syntax: TYPE file\n\ |
---|
2067 | Display a file on the screen. Pauses if you type Ctrl-S, resumes if you\n\ |
---|
2068 | type Ctrl-Q, returns immediately to C-Kermit prompt if you type Ctrl-C." |
---|
2069 | )); |
---|
2070 | #endif /* NOFRILLS */ |
---|
2071 | |
---|
2072 | #ifdef OS2ONLY |
---|
2073 | case XXUPD: |
---|
2074 | return(hmsga(hmxxupd)); |
---|
2075 | #endif /* OS2ONLY */ |
---|
2076 | |
---|
2077 | #ifndef NOSPL |
---|
2078 | case XXWHI: |
---|
2079 | return(hmsga(whihlp)); |
---|
2080 | |
---|
2081 | case XXSWIT: |
---|
2082 | return(hmsga(swihlp)); |
---|
2083 | #endif /* NOSPL */ |
---|
2084 | |
---|
2085 | #ifndef NOCSETS |
---|
2086 | case XXXLA: |
---|
2087 | return(hmsga(hxxxla)); |
---|
2088 | #endif /* NOCSETS */ |
---|
2089 | |
---|
2090 | case XXVER: |
---|
2091 | return(hmsg("Syntax: VERSION\nDisplays the program version number.")); |
---|
2092 | |
---|
2093 | #ifndef NOSPL |
---|
2094 | case XXWAI: |
---|
2095 | return(hmsga(hxxwai)); |
---|
2096 | #endif /* NOSPL */ |
---|
2097 | |
---|
2098 | #ifndef NOFRILLS |
---|
2099 | case XXWHO: |
---|
2100 | return(hmsg("Syntax: WHO [ user ]\nDisplays info about the user.")); |
---|
2101 | |
---|
2102 | case XXWRI: |
---|
2103 | return(hmsga(hxxwri)); |
---|
2104 | |
---|
2105 | case XXWRL: |
---|
2106 | return(hmsg( |
---|
2107 | "WRITE-LINE (WRITELN) is just like WRITE, but includes a line terminator\n\ |
---|
2108 | at the end of text. See WRITE.")); |
---|
2109 | #endif /* NOFRILLS */ |
---|
2110 | |
---|
2111 | #ifndef NOSPL |
---|
2112 | case XXIFX: |
---|
2113 | return(hmsga(ifxhlp)); |
---|
2114 | |
---|
2115 | case XXGETC: /* GETC */ |
---|
2116 | return(hmsga(hxxgetc)); |
---|
2117 | |
---|
2118 | case XXFWD: /* FORWARD */ |
---|
2119 | return(hmsg( |
---|
2120 | "Like GOTO, but searches only forward for the label. See GOTO.")); |
---|
2121 | |
---|
2122 | case XXLOCAL: /* LOCAL */ |
---|
2123 | return(hmsg( |
---|
2124 | "Declares a variable to be local to the current macro or command file.")); |
---|
2125 | #endif /* NOSPL */ |
---|
2126 | |
---|
2127 | case XXVIEW: |
---|
2128 | return(hmsg( |
---|
2129 | "View the terminal emulation screen even when there is no connection.\n")); |
---|
2130 | |
---|
2131 | case XXASC: |
---|
2132 | return(hmsg("Synonym for SET FILE TYPE TEXT.\n")); |
---|
2133 | |
---|
2134 | case XXBIN: |
---|
2135 | return(hmsg("Synonym for SET FILE TYPE BINARY.\n")); |
---|
2136 | |
---|
2137 | case XXDATE: |
---|
2138 | return(hmsg("Prints the current date and time.\n")); |
---|
2139 | |
---|
2140 | case XXRETR: |
---|
2141 | return(hmsg( |
---|
2142 | "Just like GET but asks the server to delete each file that has been\n\ |
---|
2143 | sent successfully.\n")); |
---|
2144 | |
---|
2145 | case XXEIGHT: |
---|
2146 | return(hmsg( |
---|
2147 | "Equivalent to SET PARITY NONE, SET COMMAND BYTE 8, SET TERMINAL BYTE 8.\n")); |
---|
2148 | |
---|
2149 | case XXSAVE: |
---|
2150 | return(hmsg("Syntax: SAVE KEYMAP <file>\n\ |
---|
2151 | Saves current keymap definitions to file, \"keymap.ini\" by default.")); |
---|
2152 | #endif /* NOHELP */ |
---|
2153 | |
---|
2154 | default: |
---|
2155 | if ((x = cmcfm()) < 0) return(x); |
---|
2156 | printf("Sorry, help not available for \"%s\"\n",cmdbuf); |
---|
2157 | break; |
---|
2158 | } |
---|
2159 | return(success = 0); |
---|
2160 | } |
---|
2161 | |
---|
2162 | /* H M S G -- Get confirmation, then print the given message */ |
---|
2163 | |
---|
2164 | int |
---|
2165 | hmsg(s) char *s; { |
---|
2166 | int x; |
---|
2167 | if ((x = cmcfm()) < 0) return(x); |
---|
2168 | printf("\n%s\n\n",s); |
---|
2169 | return(0); |
---|
2170 | } |
---|
2171 | |
---|
2172 | #ifdef NOHELP |
---|
2173 | |
---|
2174 | int /* Print an array of lines, */ |
---|
2175 | hmsga(s) char *s[]; { /* cheap version. */ |
---|
2176 | int i; |
---|
2177 | if ((i = cmcfm()) < 0) return(i); |
---|
2178 | printf("\n"); /* Start off with a blank line */ |
---|
2179 | for (i = 0; *s[i]; i++) { /* Print each line. */ |
---|
2180 | printf("%s\n",s[i]); |
---|
2181 | } |
---|
2182 | printf("\n"); |
---|
2183 | return(0); |
---|
2184 | } |
---|
2185 | |
---|
2186 | #else /* NOHELP not defined... */ |
---|
2187 | |
---|
2188 | int /* Print an array of lines, */ |
---|
2189 | hmsga(s) char *s[]; { /* pausing at end of each screen. */ |
---|
2190 | int x, y, i, j, k, n; |
---|
2191 | if ((x = cmcfm()) < 0) return(x); |
---|
2192 | |
---|
2193 | #ifdef CK_TTGWSIZ |
---|
2194 | #ifdef OS2 |
---|
2195 | ttgcwsz(); |
---|
2196 | #else /* OS2 */ |
---|
2197 | /* Check whether window size changed */ |
---|
2198 | if (ttgwsiz() > 0) { |
---|
2199 | if (tt_rows > 0 && tt_cols > 0) { |
---|
2200 | cmd_rows = tt_rows; |
---|
2201 | cmd_cols = tt_cols; |
---|
2202 | } |
---|
2203 | } |
---|
2204 | #endif /* OS2 */ |
---|
2205 | #endif /* CK_TTGWSIZ */ |
---|
2206 | |
---|
2207 | printf("\n"); /* Start off with a blank line */ |
---|
2208 | n = 1; /* Line counter */ |
---|
2209 | for (i = 0; *s[i]; i++) { |
---|
2210 | printf("%s\n",s[i]); /* Print a line. */ |
---|
2211 | y = (int)strlen(s[i]); |
---|
2212 | k = 1; |
---|
2213 | for (j = 0; j < y; j++) /* See how many newlines were */ |
---|
2214 | if (s[i][j] == '\n') k++; /* in the string... */ |
---|
2215 | n += k; |
---|
2216 | if (n > (cmd_rows - 3) && *s[i+1]) /* After a screenful, give them */ |
---|
2217 | if (!askmore()) return(0); /* a "more?" prompt. */ |
---|
2218 | else n = 0; |
---|
2219 | } |
---|
2220 | printf("\n"); |
---|
2221 | return(0); |
---|
2222 | } |
---|
2223 | |
---|
2224 | #ifndef NOXMIT |
---|
2225 | static char *hsetxmit[] = { |
---|
2226 | "Syntax: SET TRANSMIT parameter value\n", |
---|
2227 | "Controls the behavior of the TRANSMIT command, used for uploading files", |
---|
2228 | "to computers that don't have Kermit programs. Parameters are:\n", |
---|
2229 | "ECHO ON/OFF: Whether to echo text as it is being transmitted.", |
---|
2230 | "EOF text: Text to send after end of file is reached.", |
---|
2231 | "FILL number: ASCII value of character to insert into blank lines.", |
---|
2232 | "LINEFEED ON/OFF: Transmit LF as well as CR at the end of each line.", |
---|
2233 | " Normally, only CR is sent.", |
---|
2234 | "LOCKING-SHIFT ON/OFF: Whether to use SO/SI for transmitting 8-bit data", |
---|
2235 | " when PARITY is not NONE.", |
---|
2236 | "PAUSE number: How many milliseconds to pause after transmitting each line", |
---|
2237 | " (text mode), or each character (binary mode).", |
---|
2238 | "PROMPT number: ASCII value of character to look for from host before", |
---|
2239 | " sending next line, normally LF (10).", |
---|
2240 | "Synonym: SET XMIT.", |
---|
2241 | "" }; |
---|
2242 | #endif /* NOXMIT */ |
---|
2243 | |
---|
2244 | static char *hsetbkg[] = { |
---|
2245 | "Syntax: SET BACKGROUND { OFF, ON }\n", |
---|
2246 | "SET BACKGROUND OFF forces prompts and messages to appear on your screen", |
---|
2247 | "even though Kermit thinks it is running in the background.", "" }; |
---|
2248 | |
---|
2249 | #ifdef DYNAMIC |
---|
2250 | static char *hsetbuf[] = { |
---|
2251 | "Syntax: SET BUFFERS n1 [ n2 ]\n", |
---|
2252 | "Change the overall amount of memory allocated for SEND and RECEIVE packet", |
---|
2253 | "buffers, respectively. Bigger numbers let you have longer packets and more", |
---|
2254 | "window slots. If n2 is omitted, the same value as n1 is used.", |
---|
2255 | "" }; |
---|
2256 | #endif /* DYNAMIC */ |
---|
2257 | |
---|
2258 | static char *hsetcmd[] = { |
---|
2259 | "Syntax: SET COMMAND parameter value\n", |
---|
2260 | "SET COMMAND BYTESIZE { 7, 8 }", |
---|
2261 | " Informs C-Kermit of the bytesize of the communication path between itself", |
---|
2262 | " and your keyboard and screen. 7 is assumed. SET COMMAND BYTE 8 to allow", |
---|
2263 | " entry and display of 8-bit characters.\n", |
---|
2264 | #ifdef OS2 |
---|
2265 | "SET COMMAND COLOR <foreground-color> <background-color>", |
---|
2266 | " Choose colors for Command screen. Use ? to get lists of available \ |
---|
2267 | colors.\n", |
---|
2268 | #endif /* OS2 */ |
---|
2269 | |
---|
2270 | "SET COMMAND HEIGHT <number>", |
---|
2271 | " Informs C-Kermit of the number of rows in your command screen for the", |
---|
2272 | " purposes of More?-prompting.\n", |
---|
2273 | |
---|
2274 | "SET COMMAND WIDTH <number>", |
---|
2275 | " Informs C-Kermit of the number of characters across your screen for", |
---|
2276 | " purposes of screen formatting.\n", |
---|
2277 | |
---|
2278 | "SET COMMAND MORE-PROMPTING { ON, OFF }", |
---|
2279 | " ON (the default) enables More?-prompting when C-Kermit needs to display", |
---|
2280 | " text that does not fit vertically on your screen. OFF allows the text to", |
---|
2281 | " scroll by without intervention. If your command window has scroll bars,", |
---|
2282 | " you might prefer OFF.\n", |
---|
2283 | |
---|
2284 | #ifdef CK_RECALL |
---|
2285 | "SET COMMAND RECALL-BUFFER-SIZE number", |
---|
2286 | " How big you want C-Kermit's command recall buffer to be. By default, it", |
---|
2287 | " holds 10 commands. You can make it any size you like, subject to memory", |
---|
2288 | " constraints of the computer. A size of 0 disables command recall.", |
---|
2289 | " Whenever you give this command, previous command history is lost.", |
---|
2290 | #endif /* CK_RECALL */ |
---|
2291 | "\nSET COMMAND QUOTING { ON, OFF }", |
---|
2292 | " Whether to treat backslash and question mark as special characters (ON),", |
---|
2293 | " or as ordinary data characters (OFF) in commands. ON by default.", |
---|
2294 | #ifdef CK_RECALL |
---|
2295 | "\nSET COMMAND RETRY { ON, OFF }", |
---|
2296 | " Whether to reprompt you with the correct but incomplete portion of a", |
---|
2297 | " syntactically incorrect command. ON by default.", |
---|
2298 | #endif /* CK_RECALL */ |
---|
2299 | "\nUse SHOW COMMAND to display these settings.", |
---|
2300 | "" }; |
---|
2301 | |
---|
2302 | #ifndef NOLOCAL |
---|
2303 | static char *hsetcar[] = { |
---|
2304 | "Syntax: SET CARRIER ON, AUTO, or OFF\n", |
---|
2305 | "Attempts to control treatment of carrier on the communication device.", |
---|
2306 | "ON means that carrier is required at all times except during the DIAL", |
---|
2307 | "command. OFF means that carrier is never required. AUTO (the default)", |
---|
2308 | "means that carrier is required only during CONNECT.", "" }; |
---|
2309 | #endif /* NOLOCAL */ |
---|
2310 | |
---|
2311 | static char *hsetat[] = { |
---|
2312 | "Syntax: SET ATTRIBUTES name ON or OFF\n", |
---|
2313 | "Use this command to enable (ON) or disable (OFF) the transmission of", |
---|
2314 | "selected file attributes along with each file, and to handle or ignore", |
---|
2315 | "selected incoming file attributes, including:\n", |
---|
2316 | #ifndef NOCSETS |
---|
2317 | " CHARACTER-SET: The transfer character set for text files", |
---|
2318 | #endif /* NOCSETS */ |
---|
2319 | " DATE: The file's creation date", |
---|
2320 | " DISPOSITION: Unusual things to do with the file, like MAIL or PRINT", |
---|
2321 | " LENGTH: The file's length", |
---|
2322 | " SYSTEM-ID: Machine/Operating system of origin", |
---|
2323 | " TYPE: The file's type (text or binary)\n", |
---|
2324 | "You can also specify ALL to select all of them. Examples:\n", |
---|
2325 | " SET ATTR DATE OFF\n SET ATTR LENGTH ON\n SET ATTR ALL OFF", "" |
---|
2326 | }; |
---|
2327 | |
---|
2328 | #ifndef NOSPL |
---|
2329 | static char *hxyinp[] = { |
---|
2330 | "Syntax: SET INPUT parameter value\n", |
---|
2331 | "The SET INPUT command controls the behavior of the INPUT command:\n", |
---|
2332 | "SET INPUT BUFFER-LENGTH number-of-bytes", |
---|
2333 | "Removes the old INPUT buffer and creates a new one with the given length.\n", |
---|
2334 | "SET INPUT CASE { IGNORE, OBSERVE }", |
---|
2335 | "Tells whether alphabetic case is to be significant in string comparisons.", |
---|
2336 | "This setting is local to the current macro or command file, and is inherited", |
---|
2337 | "by subordinate macros and take files.\n", |
---|
2338 | "SET INPUT ECHO { ON, OFF }", |
---|
2339 | "Tells whether to display arriving characters read by INPUT on the screen.\n", |
---|
2340 | "SET INPUT SILENCE <number>", |
---|
2341 | "The maximum number to seconds of silence (no input at all) before the INPUT", |
---|
2342 | "command times out, 0 for no maximum.\n", |
---|
2343 | "SET INPUT TIMEOUT-ACTION { PROCEED, QUIT }", |
---|
2344 | "Tells whether to proceed or quit from a script program if an INPUT command", |
---|
2345 | "fails. PROCEED (default) allows use of IF SUCCESS and IF FAILURE commands.", |
---|
2346 | "This setting is local to the current macro or command file, and is inherited", |
---|
2347 | "by subordinate macros and take files.", |
---|
2348 | "" }; |
---|
2349 | #endif /* NOSPL */ |
---|
2350 | |
---|
2351 | static char *hxytak[] = { |
---|
2352 | "Syntax: SET TAKE parameter value\n", |
---|
2353 | "Controls behavior of TAKE command.\n", |
---|
2354 | "SET TAKE ECHO { ON, OFF } tells whether commands read from a TAKE file", |
---|
2355 | "should be displayed on the screen.\n", |
---|
2356 | "SET TAKE ERROR { ON, OFF } tells whether a TAKE command file should be", |
---|
2357 | "automatically terminated when a command fails. This setting is local to", |
---|
2358 | "the current command file, and inherited by subordinate command files.", |
---|
2359 | "" }; |
---|
2360 | |
---|
2361 | #ifndef NOLOCAL |
---|
2362 | #ifdef OS2MOUSE |
---|
2363 | static char *hxymouse[] = { |
---|
2364 | "Syntax: SET MOUSE ACTIVATE { ON, OFF }", |
---|
2365 | "Enables or disables the mouse in Connect mode. Default is ON\n", |
---|
2366 | "Syntax: SET MOUSE BUTTON <number> <key-modifier> <action> [ <text> ]", |
---|
2367 | "where:", |
---|
2368 | "<number> is the mouse button number, 1, 2, or 3;", |
---|
2369 | "<key-modifier> denotes modifier keys held down during the mouse event:\n", |
---|
2370 | " ALT, ALT-SHIFT, CTRL, CTRL-ALT CTRL-ALT-SHIFT, CTRL-SHIFT, SHIFT, or NONE;", |
---|
2371 | "\nand <action> is the mouse action, CLICK, DRAG, or DOUBLE-CLICK\n.", |
---|
2372 | "The <text> has exactly the same properties as the <text> from the SET KEY", |
---|
2373 | "command -- it can be a character, a string, one or more Kverbs, a macro", |
---|
2374 | "invoked as a Kverb, or any combination of these. Thus, anything that can be", |
---|
2375 | "assigned to a key can also be assigned to the mouse -- and vice versa. If", |
---|
2376 | "the <text> is omitted, the action will be ignored. Examples:\n", |
---|
2377 | " SET MOUSE BUTTON 1 NONE DOUBLE \\KmouseCurPos", |
---|
2378 | " SET MOU B 2 SHIFT CLICK help\13\n", |
---|
2379 | "DRAG operations perform a \"mark mode\" selection of Text. You should assign", |
---|
2380 | "only the following actions to drag operations:", |
---|
2381 | " \\Kdump - copy marked text to printer (or file)", |
---|
2382 | " \\Kmarkcopyclip - copy marked text to PM Clipboard", |
---|
2383 | " \\Kmarkcopyhost - copy marked text direct to Host", |
---|
2384 | " \\Kmousemark - mark text, no copy operation performed\n", |
---|
2385 | "The following Kverb is only for use with the mouse:\n", |
---|
2386 | " \\KmouseCurPos", |
---|
2387 | "which represents the mouse-directed terminal cursor feature.\n", |
---|
2388 | "Syntax: SET MOUSE CLEAR", |
---|
2389 | "Restores all mouse events to their default definitions", |
---|
2390 | " Button 1 Double-Click = Kverb: \\Kmousecurpos", |
---|
2391 | " Button 1 Drag = Kverb: \\Kmarkcopyclip", |
---|
2392 | " Button 1 Ctrl Drag = Kverb: \\Kmarkcopyhost", |
---|
2393 | " Button 2 Double-Click = Kverb: \\Kpaste", |
---|
2394 | " ", |
---|
2395 | "Type UPDATES MOUSE at the C-Kermit> prompt for details.", |
---|
2396 | ""}; |
---|
2397 | #endif /* OS2MOUSE */ |
---|
2398 | |
---|
2399 | static char *hxyterm[] = { |
---|
2400 | "Syntax: SET TERMINAL parameter value\n", |
---|
2401 | #ifdef OS2 |
---|
2402 | "SET TERMINAL TYPE { ANSI, VT52, VT100, VT102, VT220, VT320, ... }", |
---|
2403 | "to select emulation. Type SET TERMINAL TYPE ? to see a complete list.\n", |
---|
2404 | "SET TERMINAL ANSWERBACK { OFF, ON }", |
---|
2405 | "disables/enables the ENQ/Answerback sequence (\"K-95 version term-type\").\n", |
---|
2406 | "SET TERMINAL ANSWERBACK MESSAGE <extension>", |
---|
2407 | "allows you to specify an extension to the default answerback message.\n", |
---|
2408 | #else |
---|
2409 | "SET TERMINAL TYPE ...", |
---|
2410 | "This command is not available because this version of C-Kermit does not", |
---|
2411 | "include a terminal emulator. Instead, it is a \"semitransparent pipe\"", |
---|
2412 | "(or a totally transparent one, if you configure it that way) to the computer", |
---|
2413 | "or service you have made a connection to. Your console, workstation window,", |
---|
2414 | "or the terminal emulator or terminal from which you are running C-Kermit", |
---|
2415 | "provides the emulation.\n", |
---|
2416 | #endif /* OS2 */ |
---|
2417 | #ifdef CK_APC |
---|
2418 | "SET TERMINAL APC { ON, OFF, UNCHECKED }", |
---|
2419 | #ifdef OS2 |
---|
2420 | "controls execution of Application Program Commands sent by the host while", |
---|
2421 | "K-95 is either in CONNECT mode or processing INPUT commands. ON allows", |
---|
2422 | "execution of \"safe\" commands and disallows potentially dangerous commands", |
---|
2423 | "such as DELETE, RENAME, OUTPUT, and RUN. OFF prevents execution of APCs.", |
---|
2424 | "UNCHECKED allows execution of all APCs. OFF is the default.\n", |
---|
2425 | #else /* OS2 */ |
---|
2426 | "controls execution of Application Program Commands sent by the host while", |
---|
2427 | "C-Kermit is in CONNECT mode. ON allows execution of \"safe\" commands and", |
---|
2428 | "disallows potentially dangerous commands such as DELETE, RENAME, OUTPUT, and", |
---|
2429 | "RUN. OFF prevents execution of APCs. UNCHECKED allows execution of all", |
---|
2430 | "APCs. OFF is the default.\n", |
---|
2431 | #endif /* OS2 */ |
---|
2432 | #endif /* CK_APC */ |
---|
2433 | #ifdef OS2 |
---|
2434 | "SET TERMINAL ARROW-KEYS { APPLICATION, CURSOR }", |
---|
2435 | "sets the mode for the arrow keys during VT terminal emulation.\n", |
---|
2436 | "SET TERMINAL ATTRIBUTE { BLINK, REVERSE, UNDERLINE }", |
---|
2437 | "determines whether a true attribute is used, ON, or whether a color", |
---|
2438 | "simulation (as specified by SET TERMINAL COLOR) is used instead.\n", |
---|
2439 | |
---|
2440 | "SET TERMINAL ATTRIBUTE { BLINK, REVERSE, UNDERLINE } { ON, OFF }", |
---|
2441 | "Determines whether real Blinking, Reverse, and Underline are used in the", |
---|
2442 | "terminal display. When BLINK is turned OFF, reverse background intensity is", |
---|
2443 | "used. When REVERSE and UNDERLINE are OFF, the colors selected with SET", |
---|
2444 | "TERMINAL COLOR { REVERSE,UNDERLINE } are used instead. This command affects", |
---|
2445 | "the entire current screen and the entire terminal scrollback buffer.\n", |
---|
2446 | #endif /* OS2 */ |
---|
2447 | |
---|
2448 | "SET TERMINAL AUTODOWNLOAD { ON, OFF }", |
---|
2449 | #ifdef OS2 |
---|
2450 | "enables/disables automatic switching into file-transfer mode when a valid", |
---|
2451 | #ifdef CK_XYZ |
---|
2452 | "Kermit or ZMODEM packet of the appropriate type is received during CONNECT", |
---|
2453 | "mode or while an INPUT command is active. Default is OFF.\n", |
---|
2454 | #else |
---|
2455 | "Kermit packet of the appropriate type is received during CONNECT mode or", |
---|
2456 | "while an INPUT command is active. Default is OFF.\n", |
---|
2457 | #endif /* CK_XYZ */ |
---|
2458 | #else /* OS2 */ |
---|
2459 | "enables/disables automatic switching into file-transfer mode when a valid", |
---|
2460 | #ifdef CK_XYZ |
---|
2461 | "Kermit or ZMODEM packet of the appropriate type is received during CONNECT", |
---|
2462 | "mode. Default is OFF.\n", |
---|
2463 | #else |
---|
2464 | "Kermit packet of the appropriate type is received during CONNECT mode.", |
---|
2465 | "Default is OFF.\n", |
---|
2466 | #endif /* CK_XYZ */ |
---|
2467 | #endif /* OS2 */ |
---|
2468 | |
---|
2469 | #ifdef OS2 |
---|
2470 | "SET TERMINAL BELL { AUDIBLE, VISIBLE, NONE }", |
---|
2471 | "specifies how Control-G (bell) characters are handled. AUDIBLE means", |
---|
2472 | "a beep is sounded; VISIBLE means the screen is flashed momentarily.\n", |
---|
2473 | "This command has been superseded by SET BELL.\n", |
---|
2474 | #endif /* OS2 */ |
---|
2475 | |
---|
2476 | "SET TERMINAL BYTESIZE 7 or 8, to use 7- or 8-bit terminal characters", |
---|
2477 | "between C-Kermit and the remote computer or service during CONNECT.\n", |
---|
2478 | |
---|
2479 | #ifndef NOCSETS |
---|
2480 | #ifdef OS2 |
---|
2481 | "SET TERMINAL CHARACTER-SET", |
---|
2482 | " see SET TERMINAL { LOCAL-CHARACTER-SET, REMOTE-CHARACTER-SET }\n", |
---|
2483 | #else /* not OS2 */ |
---|
2484 | "SET TERMINAL CHARACTER-SET <remote-cs> [ <local-cs> ]", |
---|
2485 | "to specify the character set used by the remote host, <remote-cs>, and the", |
---|
2486 | "character set used by C-Kermit locally, <local-cs>. If you don't specify", |
---|
2487 | "the local character set, the current FILE CHARACTER-SET is used. When", |
---|
2488 | "you specify two different character sets, C-Kermit translates between them", |
---|
2489 | "during CONNECT. By default, both character sets are TRANSPARENT, and", |
---|
2490 | "no translation is done.\n", |
---|
2491 | #endif /* OS2 */ |
---|
2492 | #endif /* NOCSETS */ |
---|
2493 | |
---|
2494 | #ifdef OS2 |
---|
2495 | "SET TERMINAL CODE-PAGE <number> lets you change the PC code page. Only", |
---|
2496 | "works for code pages that are successfully prepared in CONFIG.SYS. Use", |
---|
2497 | "SHOW TERMINAL to display the current code page and the available code pages.", |
---|
2498 | #ifdef OS2ONLY |
---|
2499 | "See also SET TERMINAL FONT if the desired code page in not available in", |
---|
2500 | "your version of OS/2.\n", |
---|
2501 | #endif /* OS2ONLY */ |
---|
2502 | #endif /* OS2 */ |
---|
2503 | |
---|
2504 | #ifdef OS2 |
---|
2505 | #ifndef NT |
---|
2506 | "SET TERMINAL COLOR BORDER <foreground>", |
---|
2507 | #endif /* NT */ |
---|
2508 | "SET TERMINAL COLOR <screenpart> <foreground> <background>, to set", |
---|
2509 | "the colors of the terminal emulation screen. <screenpart> may be one of:", |
---|
2510 | "DEBUG, HELP-TEXT, REVERSE, SELECTION, STATUS-LINE, TERMINAL-SCREEN, or", |
---|
2511 | "UNDERLINED-TEXT.", |
---|
2512 | "<foreground> and <background> may be one of: BLACK, BLUE, GREEN, CYAN, RED", |
---|
2513 | "MAGENTA, BROWN, LGRAY, DGRAY, LBLUE, LGREEN, LCYAN, LRED, LMAGENTA, YELLOW", |
---|
2514 | "or WHITE. The L prefix for the color names means Light.\n", |
---|
2515 | "SET TERMINAL CONTROLS { 7, 8 } to specify whether or not C1 control", |
---|
2516 | "characters (CSI and SS3) should be used when communicating with the host.\n" |
---|
2517 | |
---|
2518 | "SET TERMINAL COLOR ERASE { CURRENT-COLOR, DEFAULT-COLOR }", |
---|
2519 | "Determines whether the current color as set by the host or the default color", |
---|
2520 | "as set by the user (SET TERMINAL COLOR TERMINAL) is used to clear the screen", |
---|
2521 | "when erase commands are received from the host.\n", |
---|
2522 | |
---|
2523 | "SET TERMINAL COLOR RESET-ON-ESC[0m { CURRENT-COLOR, DEFAULT-COLOR }", |
---|
2524 | "Determines whether the current color or the default color is used after", |
---|
2525 | "an ESC [ 0 m (\"reset attributes\") command sequence is received from the", |
---|
2526 | "host.\n", |
---|
2527 | |
---|
2528 | "SET TERMINAL CONTROLS { 7, 8 }", |
---|
2529 | "Determines whether VT220/320 or Wyse 370 function keys, arrow keys, etc,", |
---|
2530 | "that generate ANSI-format escape sequences should send 8-bit control", |
---|
2531 | "characters or 7-bit escape sequences.\n", |
---|
2532 | #endif /* OS2 */ |
---|
2533 | |
---|
2534 | "SET TERMINAL CR-DISPLAY { CRLF, NORMAL } to specify how incoming", |
---|
2535 | "carriage return characters are to be displayed on your screen.\n", |
---|
2536 | |
---|
2537 | #ifdef OS2 |
---|
2538 | "SET TERMINAL CURSOR { FULL, HALF, UNDERLINE } selects cursor style.\n", |
---|
2539 | #endif /* OS2 */ |
---|
2540 | |
---|
2541 | "SET TERMINAL DEBUG { ON, OFF } controls terminal session debugging.\n", |
---|
2542 | |
---|
2543 | "SET TERMINAL ECHO { LOCAL, REMOTE } specifies which side does the echoing", |
---|
2544 | "during terminal connection.\n", |
---|
2545 | |
---|
2546 | "SET TERMINAL ESCAPE-CHARACTER { ENABLED, DISABLED } turns on/off the ability", |
---|
2547 | "to escape back from CONNECT mode using the SET ESCAPE character.", |
---|
2548 | #ifdef OS2 |
---|
2549 | "If you disable it you can still get back using Alt-key combinations as shown", |
---|
2550 | "in the status line.\n", |
---|
2551 | #else |
---|
2552 | "If you disable it, Kermit returns to its prompt only if the connection is", |
---|
2553 | "closed by the other end. USE WITH EXTREME CAUTION.\n", |
---|
2554 | #endif /* OS2 */ |
---|
2555 | |
---|
2556 | #ifdef OS2 |
---|
2557 | #ifdef OS2ONLY |
---|
2558 | "SET TERMINAL FONT { CP437, CP850, CP852, CP862, CP866, DEFAULT }", |
---|
2559 | " CP437 - Original PC code page", |
---|
2560 | " CP850 - \"Multilingual\" (West Europe) code page", |
---|
2561 | " CP852 - East Europe Roman Alphabet code page (for Czech, Polish, etc)", |
---|
2562 | " CP862 - Hebrew code page", |
---|
2563 | " CP866 - Cyrillic (Russian, Belorussian, and Ukrainian) code page", |
---|
2564 | "Loads a soft into the video adapter for use during terminal emulation.", |
---|
2565 | "Use this command when your OS/2 system does not have the desired code page.", |
---|
2566 | "Can be used only in full-screen sessions. Also see SET TERMINAL CODE-PAGE", |
---|
2567 | "and SET TERMINAL CHARACTER-SET.\n", |
---|
2568 | #endif /* OS2ONLY */ |
---|
2569 | #endif /* OS2 */ |
---|
2570 | |
---|
2571 | #ifdef OS2 |
---|
2572 | #ifdef NT |
---|
2573 | "SET TERMINAL HEIGHT <number> Changes the number of rows (lines) to use", |
---|
2574 | "during terminal emulation, not counting the status line. Recommended", |
---|
2575 | "values are 24, 42, and 49 (or 25, 43, and 50 if SET TERMINAL STATUSLINE", |
---|
2576 | "is OFF.)\n", |
---|
2577 | #else |
---|
2578 | "SET TERMINAL HEIGHT <number> Changes the number of rows (lines) to use", |
---|
2579 | "during terminal emulation, not counting the status line. Windowed sessions", |
---|
2580 | "can use any value from 8 to 101. Fullscreen sessions are limited to 24, 42," |
---|
2581 | "49, or 59. Not all heights are supported by all video adapters.\n", |
---|
2582 | #endif /* NT */ |
---|
2583 | #else |
---|
2584 | "SET TERMINAL HEIGHT <number> tells C-Kermit how many rows (lines) are on", |
---|
2585 | "your CONNECT-mode screen.\n", |
---|
2586 | #endif /* OS2 */ |
---|
2587 | |
---|
2588 | #ifdef OS2 |
---|
2589 | "SET TERMINAL KEY <mode> <keycode> <text>", |
---|
2590 | "SET TERMINAL KEY <mode> DEFAULT", |
---|
2591 | "SET TERMINAL KEY <mode> CLEAR", |
---|
2592 | "Configure the key whose <keycode> is k to send the given text when", |
---|
2593 | "pressed while <mode> is active. <mode> may be any of the valid terminal", |
---|
2594 | "types or the special modes \"EMACS\", \"HEBREW\" or \"RUSSIAN\". DEFAULT", |
---|
2595 | "restores all the default key mappings for the specified mode. CLEAR erases", |
---|
2596 | "all the key mappings. If there is no text, the default key binding is", |
---|
2597 | #ifndef NOCSETS |
---|
2598 | "restored for the key k. SET TERMINAL KEY mappings take place before", |
---|
2599 | "terminal character-set translation. SET KEY mappings take precedence over", |
---|
2600 | "SET TERMINAL KEY <terminal type> settings.", |
---|
2601 | #else |
---|
2602 | "restored for the key k. SET KEY mappings take precedence over SET TERMINAL", |
---|
2603 | "KEY <terminal type> settings." |
---|
2604 | #endif /* NOCSETS */ |
---|
2605 | "\nThe text may contain \"\\Kverbs\" to denote actions, to stand for DEC", |
---|
2606 | "keypad, function, or editing keys, etc. For a list of available keyboard", |
---|
2607 | "verbs, type SHOW KVERBS.", |
---|
2608 | "\nTo find out the scan code and mapping for a particular key, use the", |
---|
2609 | "SHOW KEY command. Use the SAVE KEYS command to save all settings to a file.", |
---|
2610 | |
---|
2611 | "SET TERMINAL KEYPAD-MODE { APPLICATION, NUMERIC } to specify the numeric", |
---|
2612 | "keypad mode for VT terminal emulation.\n", |
---|
2613 | #endif /* OS2 */ |
---|
2614 | |
---|
2615 | #ifndef NOCSETS |
---|
2616 | #ifdef OS2 |
---|
2617 | "SET TERMINAL LOCAL-CHARACTER-SET <local-cs>", |
---|
2618 | "to specify the character set used by C-Kermit locally. If you don't specify", |
---|
2619 | #ifdef OS2ONLY |
---|
2620 | "the local character-set, the current TERMINAL FONT is used, if you have", |
---|
2621 | "given a SET TERMINAL FONT command, otherwise the current code page is used.", |
---|
2622 | #else |
---|
2623 | "the local character-set, the current code page is used.", |
---|
2624 | #endif /* OS2ONLY */ |
---|
2625 | "When the local and remote character sets differ, C-Kermit translates between", |
---|
2626 | "them during CONNECT. By default, the remote character set is Latin1 and", |
---|
2627 | "the local one is your current code page.", |
---|
2628 | #ifdef NT |
---|
2629 | "In Windows NT, Unicode is used as the local character-set regardless of this", |
---|
2630 | "setting.", |
---|
2631 | #endif /* NT */ |
---|
2632 | "See also SET TERMINAL REMOTE-CHARACTER-SET\n" |
---|
2633 | #endif /* OS2 */ |
---|
2634 | #endif /* NOCSETS */ |
---|
2635 | |
---|
2636 | #ifdef OS2 |
---|
2637 | "SET TERMINAL LOCKING-SHIFT { OFF, ON } tells whether to send", |
---|
2638 | "Shift-In/Shift-Out (Ctrl-O and Ctrl-N) to switch between 7-bit and 8-bit", |
---|
2639 | "characters sent during terminal emulation over 7-bit connections.", |
---|
2640 | "OFF by default.\n", |
---|
2641 | #else |
---|
2642 | "SET TERMINAL LOCKING-SHIFT { OFF, ON } tells C-Kermit whether to use", |
---|
2643 | "Shift-In/Shift-Out (Ctrl-O and Ctrl-N) to switch between 7-bit and 8-bit", |
---|
2644 | "characters during CONNECT. OFF by default.\n", |
---|
2645 | #endif /* OS2 */ |
---|
2646 | "SET TERMINAL NEWLINE-MODE { OFF, ON } tells whether to send CRLF when you", |
---|
2647 | "type CR during CONNECT mode.\n", |
---|
2648 | #ifdef OS2 |
---|
2649 | |
---|
2650 | "SET TERMINAL OUTPUT-PACING <milliseconds> tells how long to pause between", |
---|
2651 | "sending each character to the host during CONNECT mode. Normally not needed", |
---|
2652 | "but sometimes required to work around TRANSMISSION BLOCKED conditions when", |
---|
2653 | "pasting into the terminal window.\n", |
---|
2654 | |
---|
2655 | #ifndef NOCSETS |
---|
2656 | #ifdef OS2 |
---|
2657 | "SET TERMINAL REMOTE-CHARACTER-SET <remote-cs> [ { G0,G1,G2,G3 }... ]", |
---|
2658 | "to specify the character set used by the remote host, <remote-cs>.", |
---|
2659 | "When the local and remote character sets differ, C-Kermit translates between", |
---|
2660 | "them during CONNECT. By default, the remote character set is Latin1 and", |
---|
2661 | "the local one is your current code page. Optionally, you can also designate", |
---|
2662 | "the character set to the G0..G3 graphic tables.\n", |
---|
2663 | #endif /* OS2 */ |
---|
2664 | #endif /* NOCSETS */ |
---|
2665 | |
---|
2666 | "SET TERMINAL ROLL-MODE { INSERT, OVERWRITE } tells whether new data when", |
---|
2667 | "received from the host is entered into the scrollback buffer at the current", |
---|
2668 | "rollback position (OVERWRITE) or at the end of the buffer (INSERT). The", |
---|
2669 | "default is INSERT. Typing is allowed during rollbacks in either mode.\n", |
---|
2670 | |
---|
2671 | "SET TERMINAL SCREEN-UPDATE { FAST, SMOOTH } [ <milliseconds> ] chooses", |
---|
2672 | "the mechanism used for screen updating and the update frequency.", |
---|
2673 | "Defaults are FAST scrolling with updates every 100 milliseconds.\n", |
---|
2674 | |
---|
2675 | "SET TERMINAL SCROLLBACK <lines> sets size of CONNECT virtual screen buffer.", |
---|
2676 | "<lines> includes the active terminal screen. The minimum is 256. The", |
---|
2677 | "maximum is 2 million. The default is 2000.\n", |
---|
2678 | |
---|
2679 | "SET TERMINAL SEND-DATA { ON, OFF } determines whether ASCII emulations such", |
---|
2680 | "as WYSE 30,50,60 or TVI 910+,925,950 may send their screen contents to the", |
---|
2681 | "host upon request. Allowing the screen to be read by the host is considered", |
---|
2682 | "a significant security risk. The default is OFF and should only be changed", |
---|
2683 | "after a security evaluation of host environment.\n", |
---|
2684 | |
---|
2685 | "SET TERMINAL SEND-END-OF-BLOCK { CRLF_ETX, US_CR } determines which set of", |
---|
2686 | "characters should be used as end of line and end of transmission indicators", |
---|
2687 | "when sending screen data to the host\n", |
---|
2688 | |
---|
2689 | "SET TERMINAL SGR-COLORS { ON, OFF }", |
---|
2690 | "ON (default) means allow host control of colors; OFF means ignore host", |
---|
2691 | "escape sequences to set color.\n", |
---|
2692 | |
---|
2693 | "SET TERMINAL STATUSLINE { ON, OFF }", |
---|
2694 | "ON (default) enables the Kermit status line in the terminal screen.", |
---|
2695 | "OFF removes it, making the line available for use by the host.\n", |
---|
2696 | |
---|
2697 | "SET TERMINAL TRANSMIT-TIMEOUT <seconds> specifies the maximum amount of time", |
---|
2698 | "C-Kermit waits before returning to the prompt if your keystrokes can't be", |
---|
2699 | "transmitted for some reason, such as a flow-control deadlock.\n", |
---|
2700 | |
---|
2701 | "SET TERMINAL VIDEO-CHANGE { DISABLED, ENABLED }", |
---|
2702 | "Tells whether Kermit should change video modes automatically in response", |
---|
2703 | #ifdef NT |
---|
2704 | "to escape sequences from the other computer. ENABLED by default (except", |
---|
2705 | "on Windows 95).\n", |
---|
2706 | #else /* NT */ |
---|
2707 | "to escape sequences from the other computer. ENABLED by default.\n", |
---|
2708 | #endif /* NT */ |
---|
2709 | |
---|
2710 | #ifdef NT |
---|
2711 | "SET TERMINAL WIDTH <cols> tells how many columns define the terminal size.\n", |
---|
2712 | "Default is 80. You can also use 132. Other widths can be chosen but are", |
---|
2713 | "usually not supported by host software.\n", |
---|
2714 | #else |
---|
2715 | "SET TERMINAL WIDTH <cols> tells how many columns define the terminal size.\n", |
---|
2716 | "Default is 80. In Windowed OS/2 2.x sessions, this value may not be changed", |
---|
2717 | "In Windowed OS/2 WARP 3.x sessions, this value may range from 20 to 255.", |
---|
2718 | "In Full screen sessions, values of 40, 80, and 132 are valid. Not all", |
---|
2719 | "combinations of height and width are supported on all adapters.\n", |
---|
2720 | #endif /* NT */ |
---|
2721 | "SET TERMINAL WRAP { OFF, ON } to tell whether the terminal emulator should", |
---|
2722 | "automatically wrap long lines on your screen.\n", |
---|
2723 | #else |
---|
2724 | |
---|
2725 | "SET TERMINAL WIDTH <number> tells C-Kermit how many columns (characters) are", |
---|
2726 | "on your CONNECT-mode screen.\n", |
---|
2727 | |
---|
2728 | #endif /* OS2 */ |
---|
2729 | "Type SHOW TERMINAL to see current terminal settings.", |
---|
2730 | "" }; |
---|
2731 | #endif /* NOLOCAL */ |
---|
2732 | |
---|
2733 | #ifdef NETCONN |
---|
2734 | static char *hxyhost[] = { |
---|
2735 | "TCP/IP Syntax: SET HOST hostname-or-address [ service ]\n", |
---|
2736 | "Establish a connection to the specified network host on the currently", |
---|
2737 | "selected network type. For TCP/IP connections, the default service is", |
---|
2738 | "TELNET; specify a different TCP port number or service name to choose a", |
---|
2739 | "different service. TCP/IP Examples:\n", |
---|
2740 | " SET HOST kermit.columbia.edu", |
---|
2741 | " SET HOST 128.59.39.2", |
---|
2742 | " SET HOST madlab.sprl.umich.edu 3000\n", |
---|
2743 | #ifdef SUPERLAT |
---|
2744 | "\nSUPERLAT Syntax: SET HOST {service or node/port} [ password ]\n", |
---|
2745 | "Establish a connection to the specified network service or node and port", |
---|
2746 | "on the LAT network. Passwords may be specified if required by the", |
---|
2747 | "desired service. SUPERLAT Examples:\n", |
---|
2748 | " SET HOST KERVAX", |
---|
2749 | " SET HOST KERVAX/234", |
---|
2750 | " SET HOST KERVAX password", |
---|
2751 | #endif /* SUPERLAT */ |
---|
2752 | "Also see SET NETWORK, TELNET.", |
---|
2753 | "" }; |
---|
2754 | |
---|
2755 | #ifdef TNCODE |
---|
2756 | static char *hxytel[] = { |
---|
2757 | "Syntax: SET TELNET parameter value\n", |
---|
2758 | "For TCP/IP TELNET connections, which are in NVT (ASCII) mode by default:\n", |
---|
2759 | "SET TELNET BINARY-MODE { ACCEPTED, REFUSED, REQUESTED }", |
---|
2760 | " ACCEPT or REFUSE binary-mode bids, or actively REQUEST binary mode.", |
---|
2761 | " ACCEPTED by default.", |
---|
2762 | "SET TELNET BUG BINARY-ME-MEANS-U-TOO { ON, OFF }", |
---|
2763 | " Set this to ON to try to overcome TELNET binary-mode misnegotiations by", |
---|
2764 | " C-Kermit's TELNET partner.", |
---|
2765 | "SET TELNET ECHO { LOCAL, REMOTE }", |
---|
2766 | " C-Kermit's initial echoing state for TELNET connections, LOCAL by default.", |
---|
2767 | " After the connection is made, TELNET negotiations determine the echoing.", |
---|
2768 | #ifdef CK_ENVIRONMENT |
---|
2769 | "SET TELNET ENVIRONMENT variable value", |
---|
2770 | " C-Kermit supports the TELNET NEW-ENVIRONMENT protocol negotiation RFC-1572", |
---|
2771 | " variable may be any of the \"well known\" variables \"USER\", \"JOB\",", |
---|
2772 | " \"ACCT\", \"PRINTER\", \"SYSTEMTYPE\", or \"DISPLAY\". The format of the", |
---|
2773 | " value to be used for each variable is system dependent as determined by", |
---|
2774 | " the remote system. (See RFC-1572 for further details.)", |
---|
2775 | #endif /* CK_ENVIRONMENT */ |
---|
2776 | "SET TELNET { NVT, BINARY-MODE } NEWLINE-MODE { OFF, ON, RAW }", |
---|
2777 | " Determines how carriage returns are handled on TELNET connections.", |
---|
2778 | " There are separate settings for NVT (ASCII) mode and binary mode.", |
---|
2779 | " ON (default for NVT mode) means CRLF represents CR.", |
---|
2780 | " OFF means CR followed by NUL represents CR.", |
---|
2781 | " RAW (default for BINARY mode) means CR stands for itself.", |
---|
2782 | "SET TELNET TERMINAL-TYPE name", |
---|
2783 | " The terminal type to send to the remote TELNET host. If none is given,", |
---|
2784 | #ifdef OS2 |
---|
2785 | " your current SET TERMINAL TYPE value is sent, e.g. VT220.\n", |
---|
2786 | #else |
---|
2787 | " your local terminal type is sent.\n", |
---|
2788 | #endif /* OS2 */ |
---|
2789 | "Type SHOW NETWORK to see the current values of these parameters.", |
---|
2790 | "" }; |
---|
2791 | #endif /* TNCODE */ |
---|
2792 | |
---|
2793 | static char *hxynet[] = { |
---|
2794 | "Syntax: SET NETWORK { network-type, DIRECTORY [ file [ file [ ... ] ] ] }\n", |
---|
2795 | "Select the type of network to be used with SET HOST connections:\n", |
---|
2796 | #ifdef TCPSOCKET |
---|
2797 | " SET NETWORK TCP/IP", |
---|
2798 | #endif /* TCPSOCKET */ |
---|
2799 | #ifdef ANYX25 |
---|
2800 | " SET NETWORK X.25", |
---|
2801 | #endif /* ANYX25 */ |
---|
2802 | #ifdef DECNET |
---|
2803 | " SET NETWORK DECNET", |
---|
2804 | #endif /* DECNET */ |
---|
2805 | #ifdef NPIPE |
---|
2806 | " SET NETWORK NAMED-PIPE <pipename>", |
---|
2807 | #endif /* NPIPE */ |
---|
2808 | #ifdef CK_NETBIOS |
---|
2809 | " SET NETWORK NETBIOS", |
---|
2810 | #endif /* CK_NETBIOS */ |
---|
2811 | #ifdef SUPERLAT |
---|
2812 | " SET NETWORK SUPERLAT", |
---|
2813 | #endif /* SUPERLAT */ |
---|
2814 | "\nIf only one network type is listed above, that is the default network for", |
---|
2815 | "SET HOST commands. Also see SET HOST, TELNET.\n", |
---|
2816 | "SET NETWORK DIRECTORY specifies the name(s) of zero or more network", |
---|
2817 | "directory files, similar to dialing directories (HELP DIAL for details).", |
---|
2818 | "The general format of a network directory entry is:\n", |
---|
2819 | " name network-type address [ network-specific-info ] [ ; comment ]\n", |
---|
2820 | "For TCP/IP, the format is:\n", |
---|
2821 | " name tcp/ip ip-hostname-or-address [ socket ] [ ; comment ]\n", |
---|
2822 | "You can have multiple network directories and you can have multiple entries", |
---|
2823 | "with the same name. SET HOST <name> and TELNET <name> commands look up the", |
---|
2824 | "given <name> in the directory and, if found, fill in the additional items", |
---|
2825 | "from the entry, and then try all matching entries until one succeeds.", |
---|
2826 | ""}; |
---|
2827 | |
---|
2828 | #ifndef NOTCPOPTS |
---|
2829 | #ifdef SOL_SOCKET |
---|
2830 | static char *hxytcp[] = { |
---|
2831 | "SET TCP KEEPALIVE { ON, OFF }", |
---|
2832 | " Setting this ON might help to detect broken connections more quickly.", |
---|
2833 | " (default is ON.)\n", |
---|
2834 | "SET TCP LINGER { ON [timeout], OFF }", |
---|
2835 | " Setting this ON ensures that a connection doesn't close before", |
---|
2836 | " all outstanding data has been transferred and acknowledged.", |
---|
2837 | " timeout measured in 10th of a millisecond.", |
---|
2838 | " (default is ON with a timeout of 0.)\n", |
---|
2839 | "SET TCP NODELAY { ON, OFF }", |
---|
2840 | " ON means send short TCP packets immediately rather than waiting", |
---|
2841 | " to accumulate a bunch of them before transmitting (Nagle Algorithm).", |
---|
2842 | " (default is OFF.)\n", |
---|
2843 | "SET TCP RECVBUF <number>", |
---|
2844 | "SET TCP SENDBUF <number>", |
---|
2845 | " TCP receive and send buffer sizes. (default is -1, use system defaults.)\n", |
---|
2846 | "These items are designed to let you tune TCP networking performance on a", |
---|
2847 | "per-connection basis by adjusting items that you normally would not have", |
---|
2848 | "access to. You should use these commands only if you feel that the TCP/IP", |
---|
2849 | "protocol stack that Kermit is using is giving you inadequate performance, and", |
---|
2850 | "then only if you understand the concepts (see, for example, the Comer TCP/IP", |
---|
2851 | "books), and then at your own risk. These settings are displayed by SHOW", |
---|
2852 | "NETWORK. Not all options are necessarily available in all Kermit versions;", |
---|
2853 | "it depends on the underlying TCP/IP services.", |
---|
2854 | ""}; |
---|
2855 | #endif /* SOL_SOCKET */ |
---|
2856 | #endif /* NOTCPOPTS */ |
---|
2857 | #endif /* NETCONN */ |
---|
2858 | |
---|
2859 | #ifndef NOSPL |
---|
2860 | static char *hxymacr[] = { |
---|
2861 | "Syntax: SET MACRO parameter value\n", |
---|
2862 | "Controls the behavior of macros.\n", |
---|
2863 | "SET MACRO ECHO { ON, OFF } tells whether commands executed from a macro", |
---|
2864 | "definition should be displayed on the screen.\n", |
---|
2865 | "SET MACRO ERROR { ON, OFF } tells whether a macro should be automatically", |
---|
2866 | "terminated upon a command error. This setting is local to the current", |
---|
2867 | "macro, and inherited by subordinate macros.", |
---|
2868 | "" }; |
---|
2869 | #endif /* NOSPL */ |
---|
2870 | |
---|
2871 | static char *hmxyprm[] = { |
---|
2872 | "Syntax: SET PROMPT [ text ]\n", |
---|
2873 | #ifdef MAC |
---|
2874 | "Prompt text for this program, normally 'Mac-Kermit>'. May contain backslash", |
---|
2875 | #else |
---|
2876 | "Prompt text for this program, normally 'C-Kermit>'. May contain backslash", |
---|
2877 | #endif /* MAC */ |
---|
2878 | "codes for special effects. Surround by { } to preserve leading or trailing", |
---|
2879 | #ifdef MAC |
---|
2880 | "spaces. If text omitted, prompt reverts to Mac-Kermit>. Prompt can include", |
---|
2881 | #else |
---|
2882 | "spaces. If text omitted, prompt reverts to C-Kermit>. Prompt can include", |
---|
2883 | #endif /* MAC */ |
---|
2884 | "variables like \\v(dir) or \\v(time) to show current directory or time.", |
---|
2885 | "" }; |
---|
2886 | |
---|
2887 | static char *hxywind[] = { |
---|
2888 | "Syntax: SET WINDOW-SIZE number\n", |
---|
2889 | "Specify number of window slots for sliding windows, the number of packets", |
---|
2890 | "that can be transmitted before pausing for acknowledgement. The default", |
---|
2891 | #ifdef XYZ_INTERNAL |
---|
2892 | "for Kermit protocol is one, the maximum is 32; for ZMODEM, the default", |
---|
2893 | "is no windowing (0). For ZMODEM, the window size is really the packet", |
---|
2894 | "length, and is used only when non-windowed (streaming) transfers fail; the", |
---|
2895 | "ZMODEM window size should be a largish number, like 1024, and it should be", |
---|
2896 | "a multiple of 64.", |
---|
2897 | #else |
---|
2898 | "is one, the maximum is 32. Increased window size may result in reduced", |
---|
2899 | "maximum packet length. Use sliding windows for improved efficiency on", |
---|
2900 | "connections with long delays. A full duplex connection is required, as well", |
---|
2901 | "as a cooperating Kermit on the other end.", |
---|
2902 | #endif /* XYZ_INTERNAL */ |
---|
2903 | "" }; |
---|
2904 | |
---|
2905 | static char *hxyrpt[] = { |
---|
2906 | "Syntax: SET REPEAT { COUNTS { ON, OFF }, PREFIX <code> }\n", |
---|
2907 | "SET REPEAT COUNTS turns the repeat-count compression mechanism ON and OFF.", |
---|
2908 | " The default is ON.", |
---|
2909 | "SET REPEAT PREFIX <code> sets the repeat-count prefix character to the", |
---|
2910 | " given code. The default is 126 (tilde).", |
---|
2911 | "" }; |
---|
2912 | |
---|
2913 | static char *hxyrcv[] = { |
---|
2914 | "Syntax: SET RECEIVE parameter value\n", |
---|
2915 | "Specify parameters for inbound packets:\n", |
---|
2916 | "CONTROL-PREFIX number", |
---|
2917 | " ASCII value of prefix character used for quoting control characters in", |
---|
2918 | " packets that C-Kermit receives, normally 35 (number sign). Don't change", |
---|
2919 | " this unless something is wrong with the other Kermit program.", |
---|
2920 | "END-OF-PACKET number", |
---|
2921 | " ASCII value of control character that terminates incoming packets,", |
---|
2922 | " normally 13 (carriage return).", |
---|
2923 | "PACKET-LENGTH number", |
---|
2924 | " Maximum length packet the other Kermit should send.", |
---|
2925 | "PADDING number", |
---|
2926 | " Number of prepacket padding characters to ask for (normally 0).", |
---|
2927 | "PAD-CHARACTER number", |
---|
2928 | " ASCII value of control character to use for padding (normally 0).", |
---|
2929 | "PATHNAMES ON or OFF", |
---|
2930 | " If a recognizable path (directory, device, etc) specification appears in", |
---|
2931 | " an incoming filename, leave it ON and try to use it, or strip it OFF before", |
---|
2932 | #ifdef CK_MKDIR |
---|
2933 | " trying to create the output file. When ON (the default), then if any of", |
---|
2934 | " the directories in the path don't exist, C-Kermit tries to create them.", |
---|
2935 | #else |
---|
2936 | " trying to create the output file. The default is to leave it ON.", |
---|
2937 | #endif /* CK_MKDIR */ |
---|
2938 | "PAUSE number", |
---|
2939 | " Milliseconds to pause in between packets, normally 0.", |
---|
2940 | "START-OF-PACKET number", |
---|
2941 | " ASCII value of character that marks start of inbound packet.", |
---|
2942 | "TIMEOUT number", |
---|
2943 | " Number of seconds the other Kermit should wait for a packet before sending", |
---|
2944 | " a NAK or retransmitting.", |
---|
2945 | "" }; |
---|
2946 | |
---|
2947 | static char *hxysnd[] = { |
---|
2948 | "Syntax: SET SEND parameter value\n", |
---|
2949 | "Specify parameters for outbound packets. This command should be used only", |
---|
2950 | "to override the normal negotiated parameters and is rarely needed:\n", |
---|
2951 | "CONTROL-PREFIX number", |
---|
2952 | " ASCII value of prefix character used for quoting control characters in", |
---|
2953 | " packets that C-Kermit sends, normally 35 (number sign).", |
---|
2954 | "END-OF-PACKET number", |
---|
2955 | " ASCII value of control character to terminate an outbound packet,", |
---|
2956 | " normally 13 (carriage return).", |
---|
2957 | "PACKET-LENGTH number", |
---|
2958 | " Maximum length packet to send, even if other Kermit asks for longer ones.", |
---|
2959 | "PADDING number", |
---|
2960 | " Number of prepacket padding characters to send.", |
---|
2961 | "PAD-CHARACTER number", |
---|
2962 | " ASCII value of control character to use for padding.", |
---|
2963 | "PATHNAMES ON or OFF", |
---|
2964 | " When FILE NAMES is set to LITERAL, leave the path (device, directory, etc)", |
---|
2965 | " portion ON or OFF the file name when sending it. Applies to the actual", |
---|
2966 | " filename, not the \"as-name\". The default is ON.", |
---|
2967 | "PAUSE number", |
---|
2968 | " Milliseconds to pause in between packets, normally 0.", |
---|
2969 | "START-OF-PACKET number", |
---|
2970 | " ASCII value of character to mark start of outbound packet.", |
---|
2971 | "TIMEOUT number", |
---|
2972 | " Number of seconds to wait for a packet before sending NAK or", |
---|
2973 | #ifdef CK_TIMERS |
---|
2974 | " retransmitting. Include the word DYNAMIC after the number in the", |
---|
2975 | " SET SEND TIMEOUT command to have Kermit compute the timeouts dynamically", |
---|
2976 | " throughout the transfer based on the packet rate. Include the word FIXED", |
---|
2977 | " to use the \"number\" given throughout the transfer. DYNAMIC is the", |
---|
2978 | " default. After DYNAMIC you may include minimum and maximum values.", |
---|
2979 | #else |
---|
2980 | " retransmitting.", |
---|
2981 | #endif /* CK_TIMERS */ |
---|
2982 | "" }; |
---|
2983 | |
---|
2984 | static char *hxyxfer[] = { |
---|
2985 | "Synonym: SET XFER\n", |
---|
2986 | #ifdef XFRCAN |
---|
2987 | "Syntax: SET TRANSFER CANCELLATION { OFF, ON [ <code> [ <number> ] ] }\n", |
---|
2988 | "OFF disables remote-mode packet-mode cancellation from the keyboard.", |
---|
2989 | "ON enables it. The optional <code> is the control character to use for", |
---|
2990 | "cancellation; the optional <number> is how many consecutive occurrences", |
---|
2991 | "of the given control character are required for cancellation.", |
---|
2992 | #endif /* XFRCAN */ |
---|
2993 | #ifndef NOSPL |
---|
2994 | "\nSyntax: SET TRANSFER CRC-CALCULATION { OFF, ON }\n", |
---|
2995 | "Tells whether C-Kermit should accumulate a Cyclic Redundancy Check for each", |
---|
2996 | "file transfer. Normally ON, in which case the CRC value is available in the", |
---|
2997 | "\\v(crc16) variable after the transfer. Adds a little bit of overhead. Use", |
---|
2998 | "SET TRANSFER CRC OFF to disable.", |
---|
2999 | #endif /* NOSPL */ |
---|
3000 | #ifndef NOCSETS |
---|
3001 | "\nSyntax: SET TRANSFER CHARACTER-SET name\n", |
---|
3002 | "Select the character set used to represent textual data in Kermit packets.", |
---|
3003 | "Text characters are translated to/from the FILE CHARACTER-SET. Choices:\n", |
---|
3004 | " TRANSPARENT (no translation, the default)", |
---|
3005 | " ASCII", |
---|
3006 | " LATIN1 (ISO 8859-1 Latin Alphabet 1)", |
---|
3007 | #ifndef NOLATIN2 |
---|
3008 | " LATIN2 (ISO 8859-2 Latin Alphabet 2)", |
---|
3009 | #endif /* NOLATIN2 */ |
---|
3010 | #ifdef CYRILLIC |
---|
3011 | " CYRILLIC-ISO (ISO 8859-5 Latin/Cyrillic)", |
---|
3012 | #endif /* CYRILLIC */ |
---|
3013 | #ifdef HEBREW |
---|
3014 | " HEBREW-ISO (ISO 8859-8 Latin/Hebrew)", |
---|
3015 | #endif /* HEBREW */ |
---|
3016 | #ifdef KANJI |
---|
3017 | " JAPANESE-EUC (JIS X 0208 Kanji + Roman and Katakana)\n", |
---|
3018 | #endif /* KANJI */ |
---|
3019 | #endif /* NOCSETS */ |
---|
3020 | "\nSyntax: SET TRANSFER LOCKING-SHIFT { OFF, ON, FORCED }\n", |
---|
3021 | "Tell whether locking-shift protocol should be used during file transfer", |
---|
3022 | "to achieve 8-bit transparency on a 7-bit connection. ON means to request", |
---|
3023 | "its use if PARITY is not NONE and to use it if the other Kermit agrees,", |
---|
3024 | "OFF means not to use it, FORCED means to use it even if the other Kermit", |
---|
3025 | "does not agree.", |
---|
3026 | "\nSyntax: SET TRANSFER MODE { AUTOMATIC, MANUAL }\n", |
---|
3027 | "Automatic (the default) means C-Kermit should automatically go into binary", |
---|
3028 | "file-transfer mode and use literal filenames if the other Kermit says it has", |
---|
3029 | "a compatible file system, e.g. UNIX-to-UNIX, but not UNIX-to-DOS.", |
---|
3030 | #ifdef CK_XYZ |
---|
3031 | "\nSyntax: SET TRANSFER PROTOCOL { KERMIT, XMODEM, ... }\n", |
---|
3032 | "Synonym for SET PROTOCOL (q.v.).", |
---|
3033 | #endif /* CK_XYZ */ |
---|
3034 | "\nSyntax: SET TRANSFER SLOW-START { OFF, ON }\n", |
---|
3035 | "ON (the default) tells C-Kermit, when sending files, to gradually build up", |
---|
3036 | "the packet length to the maximum negotiated length. OFF means start sending", |
---|
3037 | "the maximum length right away.", |
---|
3038 | "" }; |
---|
3039 | |
---|
3040 | /* D O H S E T -- Give help for SET command */ |
---|
3041 | |
---|
3042 | int |
---|
3043 | dohset(xx) int xx; { |
---|
3044 | int x; |
---|
3045 | |
---|
3046 | if (xx == -3) return(hmsga(hmhset)); |
---|
3047 | if (xx < 0) return(xx); |
---|
3048 | if ((x = cmcfm()) < 0) return(x); |
---|
3049 | switch (xx) { |
---|
3050 | |
---|
3051 | case XYATTR: |
---|
3052 | return(hmsga(hsetat)); |
---|
3053 | |
---|
3054 | case XYBACK: |
---|
3055 | return(hmsga(hsetbkg)); |
---|
3056 | |
---|
3057 | #ifdef OS2 |
---|
3058 | case XYBELL: |
---|
3059 | return(hmsg("SET BELL { AUDIBLE [ { BEEP, SYSTEM-SOUNDS } ], VISIBLE, NONE }\n\ |
---|
3060 | specifies how incoming Ctrl-G (bell) characters are handled in CONNECT mode\n\ |
---|
3061 | and how command warnings are presented in command mode. AUDIBLE means\n\ |
---|
3062 | either a beep or a system-sound is generated; VISIBLE means the screen is\n\ |
---|
3063 | flashed momentarily.\n")); |
---|
3064 | |
---|
3065 | case XYPRTY: |
---|
3066 | return(hmsg("SET PRIORITY { REGULAR, FOREGROUND-SERVER, TIME-CRITICAL }\n\ |
---|
3067 | specifies at which priority level the communication and screen update threads\n\ |
---|
3068 | should operate at. The default value is FOREGROUND-SERVER.\n")); |
---|
3069 | #endif /* OS2 */ |
---|
3070 | |
---|
3071 | #ifdef DYNAMIC |
---|
3072 | case XYBUF: |
---|
3073 | return(hmsga(hsetbuf)); |
---|
3074 | #endif /* DYNAMIC */ |
---|
3075 | |
---|
3076 | #ifndef NOLOCAL |
---|
3077 | case XYCARR: |
---|
3078 | return(hmsga(hsetcar)); |
---|
3079 | #endif /* NOLOCAL */ |
---|
3080 | |
---|
3081 | #ifndef NOSPL |
---|
3082 | case XYCASE: |
---|
3083 | return(hmsg("Syntax: SET CASE { ON, OFF }\n\ |
---|
3084 | Tells whether alphabetic case is significant in string comparisons\n\ |
---|
3085 | done by INPUT, IF, and other commands. This setting is local to the\n\ |
---|
3086 | current macro or command file, and inherited by subordinates.")); |
---|
3087 | |
---|
3088 | #endif /* NOSPL */ |
---|
3089 | |
---|
3090 | case XYCMD: |
---|
3091 | return(hmsga(hsetcmd)); |
---|
3092 | |
---|
3093 | case XYIFD: |
---|
3094 | return(hmsg("Syntax: SET INCOMPLETE { DISCARD, KEEP }\n\ |
---|
3095 | Discard or Keep incompletely received files, default is KEEP.")); |
---|
3096 | |
---|
3097 | #ifndef NOSPL |
---|
3098 | case XYINPU: |
---|
3099 | return(hmsga(hxyinp)); |
---|
3100 | #endif /* NOSPL */ |
---|
3101 | |
---|
3102 | case XYCHKT: |
---|
3103 | return(hmsga(hmxychkt)); |
---|
3104 | |
---|
3105 | #ifndef NOSPL |
---|
3106 | case XYCOUN: |
---|
3107 | return(hmsg("Syntax: SET COUNT number\n\ |
---|
3108 | Example: SET COUNT 5\n\ |
---|
3109 | Set up a loop counter, for use with IF COUNT. Local to current macro\n\ |
---|
3110 | or command file, inherited by subordinate macros and command files.")); |
---|
3111 | #endif /* NOSPL */ |
---|
3112 | |
---|
3113 | #ifndef NOLOCAL |
---|
3114 | case XYDEBU: |
---|
3115 | #ifdef DEBUG |
---|
3116 | return(hmsg("Syntax: SET DEBUG { SESSION, ON, OFF }\n\ |
---|
3117 | SESSION means display control and 8-bit characters symbolically during\n\ |
---|
3118 | CONNECT mode. ON means log debugging information to file debug.log.")); |
---|
3119 | #else |
---|
3120 | return(hmsg("Syntax: SET DEBUG { SESSION, OFF }\n\ |
---|
3121 | SESSION means display control and 8-bit characters symbolically during\n\ |
---|
3122 | CONNECT mode.")); |
---|
3123 | #endif /* DEBUG */ |
---|
3124 | #else |
---|
3125 | #ifdef DEBUG |
---|
3126 | case XYDEBU: |
---|
3127 | return(hmsg("Syntax: SET DEBUG { ON, OFF }\n\ |
---|
3128 | ON means log debugging information to file debug.log.")); |
---|
3129 | #endif /* DEBUG */ |
---|
3130 | #endif /* NOLOCAL */ |
---|
3131 | |
---|
3132 | case XYDFLT: |
---|
3133 | return(hmsg("Syntax: SET DEFAULT directory\n\ |
---|
3134 | Change directory. Equivalent to CD command.")); |
---|
3135 | |
---|
3136 | case XYDELA: |
---|
3137 | return(hmsg("Syntax: SET DELAY number\n\ |
---|
3138 | Number of seconds to wait before sending first packet after SEND command.")); |
---|
3139 | |
---|
3140 | #ifndef NODIAL |
---|
3141 | case XYDIAL: |
---|
3142 | return(hmsga(hmxydial)); |
---|
3143 | #endif /* NODIAL */ |
---|
3144 | |
---|
3145 | #ifdef UNIX |
---|
3146 | case XYSUSP: |
---|
3147 | return(hmsg("Syntax: SET SUSPEND { OFF, ON }\n\n\ |
---|
3148 | Disables SUSPEND command, suspend signals, and <esc-char>Z during CONNECT.")); |
---|
3149 | #endif |
---|
3150 | |
---|
3151 | #ifndef NOSCRIPT |
---|
3152 | case XYSCRI: |
---|
3153 | return(hmsg("Syntax: SET SCRIPT ECHO { OFF, ON }\n\n\ |
---|
3154 | Disables/Enables echoing of SCRIPT command operation.")); |
---|
3155 | #endif /* NOSCRIPT */ |
---|
3156 | |
---|
3157 | case XYTAKE: |
---|
3158 | return(hmsga(hxytak)); |
---|
3159 | |
---|
3160 | #ifndef NOLOCAL |
---|
3161 | case XYTERM: |
---|
3162 | return(hmsga(hxyterm)); |
---|
3163 | |
---|
3164 | case XYDUPL: |
---|
3165 | return(hmsg("Syntax: SET DUPLEX { FULL, HALF }\n\n\ |
---|
3166 | During CONNECT: FULL means remote host echoes, HALF means C-Kermit\n\ |
---|
3167 | does its own echoing.")); |
---|
3168 | |
---|
3169 | case XYLCLE: |
---|
3170 | return(hmsg("Syntax: SET LOCAL-ECHO { OFF, ON }\n\n\ |
---|
3171 | During CONNECT: OFF means remote host echoes, ON means C-Kermit\n\ |
---|
3172 | does its own echoing. Synonym for SET DUPLEX { FULL, HALF }.")); |
---|
3173 | |
---|
3174 | case XYESC: |
---|
3175 | #ifdef OS2 |
---|
3176 | return(hmsg("Syntax: SET ESCAPE number\n\n\ |
---|
3177 | Decimal ASCII value for escape character during CONNECT, normally 29\n\ |
---|
3178 | (Control-]). Type the escape character followed by C to get back to the\n\ |
---|
3179 | C-Kermit prompt or followed by ? to see other options.")); |
---|
3180 | #else |
---|
3181 | return(hmsg("Syntax: SET ESCAPE number\n\n\ |
---|
3182 | Decimal ASCII value for escape character during CONNECT, normally 28\n\ |
---|
3183 | (Control-\\). Type the escape character followed by C to get back to the\n\ |
---|
3184 | C-Kermit prompt or followed by ? to see other options.")); |
---|
3185 | #endif /* OS2 */ |
---|
3186 | #endif /* NOLOCAL */ |
---|
3187 | |
---|
3188 | #ifdef OS2 |
---|
3189 | case XYPRTR: |
---|
3190 | return(hmsga(hxyprtr)); |
---|
3191 | #endif /* OS2 */ |
---|
3192 | |
---|
3193 | case XYEXIT: |
---|
3194 | return(hmsga(hxyexit)); |
---|
3195 | |
---|
3196 | case XYFILE: |
---|
3197 | return(hmsga(hmxyf)); |
---|
3198 | |
---|
3199 | case XYFLOW: |
---|
3200 | return(hmsga(hmxyflo)); |
---|
3201 | |
---|
3202 | case XYHAND: |
---|
3203 | return(hmsga(hmxyhsh)); |
---|
3204 | |
---|
3205 | #ifdef NETCONN |
---|
3206 | case XYHOST: |
---|
3207 | return(hmsga(hxyhost)); |
---|
3208 | case XYNET: |
---|
3209 | return(hmsga(hxynet)); |
---|
3210 | |
---|
3211 | #ifndef NOTCPOPTS |
---|
3212 | #ifdef SOL_SOCKET |
---|
3213 | case XYTCP: |
---|
3214 | return(hmsga(hxytcp)); |
---|
3215 | #endif /* SOL_SOCKET */ |
---|
3216 | #endif /* NOTCPOPTS */ |
---|
3217 | |
---|
3218 | #ifdef ANYX25 |
---|
3219 | case XYX25: |
---|
3220 | return(hmsga(hxyx25)); |
---|
3221 | |
---|
3222 | case XYPAD: |
---|
3223 | return(hmsg("Syntax: SET PAD name value\n\ |
---|
3224 | Set a PAD X.3 parameter with a desired value.")); |
---|
3225 | #endif /* ANYX25 */ |
---|
3226 | #endif /* NETCONN */ |
---|
3227 | |
---|
3228 | #ifndef NOSPL |
---|
3229 | case XYOUTP: |
---|
3230 | return(hmsg("Syntax: SET OUTPUT PACING <number>\n\ |
---|
3231 | How many milliseconds to pause after sending each OUTPUT character.")); |
---|
3232 | #endif /* NOSPL */ |
---|
3233 | |
---|
3234 | #ifndef NOSETKEY |
---|
3235 | case XYKEY: /* SET KEY */ |
---|
3236 | return(hmsga(hmhskey)); |
---|
3237 | #endif /* NOSETKEY */ |
---|
3238 | |
---|
3239 | #ifndef NOCSETS |
---|
3240 | case XYLANG: |
---|
3241 | return(hmsg("Syntax: SET LANGUAGE name\n\ |
---|
3242 | Selects language-specific translation rules for text-mode file transfers.\n\ |
---|
3243 | Used with SET FILE CHARACTER-SET and SET TRANSFER CHARACTER-SET when one\n\ |
---|
3244 | of these is ASCII.")); |
---|
3245 | #endif /* NOCSETS */ |
---|
3246 | |
---|
3247 | case XYLINE: |
---|
3248 | printf("\nSyntax: SET LINE devicename\n\ |
---|
3249 | or: SET PORT devicename\n\n\ |
---|
3250 | Select communication device to use. Normally %s.\n",dftty); |
---|
3251 | if (!dfloc) { |
---|
3252 | printf("\ |
---|
3253 | If you SET LINE to other than %s, then Kermit\n",dftty); |
---|
3254 | printf("\ |
---|
3255 | will be in 'local' mode; SET LINE alone will reset Kermit to remote mode.\n\ |
---|
3256 | To use the modem to dial out, first SET MODEM TYPE (e.g., to HAYES), then"); |
---|
3257 | printf("\ |
---|
3258 | \nSET LINE xxx, next issue the DIAL command, and finally CONNECT.\n\n"); |
---|
3259 | } |
---|
3260 | return(0); |
---|
3261 | |
---|
3262 | #ifndef NOSPL |
---|
3263 | case XYMACR: |
---|
3264 | return(hmsga(hxymacr)); |
---|
3265 | #endif /* NOSPL */ |
---|
3266 | |
---|
3267 | #ifndef NODIAL |
---|
3268 | case XYMODM: |
---|
3269 | return(hmsga(hxymodm)); |
---|
3270 | #endif /* NODIAL */ |
---|
3271 | |
---|
3272 | case XYPARI: |
---|
3273 | return(hmsg("Syntax: SET PARITY name\n\n\ |
---|
3274 | Parity to use during terminal connection and file transfer: EVEN, ODD, MARK,\n\ |
---|
3275 | SPACE, or NONE. Normally NONE.")); |
---|
3276 | |
---|
3277 | case XYPROM: |
---|
3278 | return(hmsga(hmxyprm)); |
---|
3279 | |
---|
3280 | case XYQUIE: |
---|
3281 | return(hmsg("Syntax: SET QUIET {ON, OFF}\n\n\ |
---|
3282 | Normally OFF. ON disables most information messages during interactive\n\ |
---|
3283 | operation.")); |
---|
3284 | |
---|
3285 | #ifdef CK_SPEED |
---|
3286 | case XYQCTL: |
---|
3287 | return(hmsga(hmxyqctl)); |
---|
3288 | #endif /* CK_SPEED */ |
---|
3289 | |
---|
3290 | case XYRETR: |
---|
3291 | return(hmsg("Syntax: SET RETRY number\n\n\ |
---|
3292 | How many times to retransmit a particular packet before giving up.")); |
---|
3293 | |
---|
3294 | #ifndef NOLOCAL |
---|
3295 | #ifdef UNIX |
---|
3296 | case XYSESS: |
---|
3297 | return(hmsg("Syntax: SET SESSION-LOG { BINARY, TEXT }\n\n\ |
---|
3298 | If BINARY, record all CONNECT characters in session log. If TEXT, strip\n\ |
---|
3299 | out carriage returns.")); |
---|
3300 | #else |
---|
3301 | #ifdef OSK |
---|
3302 | case XYSESS: |
---|
3303 | return(hmsg("Syntax: SET SESSION-LOG { BINARY, TEXT }\n\n\ |
---|
3304 | If BINARY, record all CONNECT characters in session log. If TEXT, strip\n\ |
---|
3305 | out linefeeds.")); |
---|
3306 | #endif /* OSK */ |
---|
3307 | #endif /* UNIX */ |
---|
3308 | |
---|
3309 | case XYSPEE: |
---|
3310 | return(hmsg("Syntax: SET SPEED number\n\n\ |
---|
3311 | Communication line speed for external tty line specified in most recent\n\ |
---|
3312 | SET LINE command, in bits per second. Type SET SPEED ? for a list of\n\ |
---|
3313 | possible speeds.")); |
---|
3314 | #endif /* NOLOCAL */ |
---|
3315 | |
---|
3316 | case XYRECV: |
---|
3317 | return(hmsga(hxyrcv)); |
---|
3318 | case XYSEND: |
---|
3319 | return(hmsga(hxysnd)); |
---|
3320 | case XYREPT: |
---|
3321 | return(hmsga(hxyrpt)); |
---|
3322 | |
---|
3323 | #ifndef NOSERVER |
---|
3324 | case XYSERV: |
---|
3325 | return(hmsga(hsetsrv)); |
---|
3326 | #endif /* NOSERVER */ |
---|
3327 | |
---|
3328 | #ifdef TNCODE |
---|
3329 | case XYTEL: |
---|
3330 | return(hmsga(hxytel)); |
---|
3331 | #endif /* TNCODE */ |
---|
3332 | |
---|
3333 | #ifndef NOXMIT |
---|
3334 | case XYXMIT: |
---|
3335 | return(hmsga(hsetxmit)); |
---|
3336 | #endif /* NOXMIT */ |
---|
3337 | |
---|
3338 | #ifndef NOCSETS |
---|
3339 | case XYUNCS: |
---|
3340 | return(hmsg("Syntax: SET UNKNOWN-CHAR-SET action\n\n\ |
---|
3341 | DISCARD (default) means reject any arriving files encoded in unknown\n\ |
---|
3342 | character sets. KEEP means to accept them anyway.")); |
---|
3343 | #endif /* NOCSETS */ |
---|
3344 | |
---|
3345 | #ifdef UNIX |
---|
3346 | case XYWILD: |
---|
3347 | return(hmsg("Syntax: SET WILDCARD-EXPANSION { KERMIT, SHELL }\n\n\ |
---|
3348 | KERMIT (the default) means C-Kermit expands filename wildcards in SEND\n\ |
---|
3349 | and MSEND commands and incoming GET commands. SHELL means your shell does \ |
---|
3350 | it.")); |
---|
3351 | #endif /* UNIX */ |
---|
3352 | |
---|
3353 | case XYWIND: |
---|
3354 | return(hmsga(hxywind)); |
---|
3355 | |
---|
3356 | case XYXFER: |
---|
3357 | return(hmsga(hxyxfer)); |
---|
3358 | |
---|
3359 | #ifdef OS2MOUSE |
---|
3360 | case XYMOUSE: |
---|
3361 | return(hmsga(hxymouse)); |
---|
3362 | #endif /* OS2MOUSE */ |
---|
3363 | |
---|
3364 | case XYALRM: |
---|
3365 | return(hmsg("Syntax: SET ALARM [ <seconds> ]\n\n\ |
---|
3366 | Number of seconds from now after which IF ALARM will succeed.\n\ |
---|
3367 | 0 means no alarm.")); |
---|
3368 | |
---|
3369 | case XYPROTO: |
---|
3370 | #ifndef CK_XYZ |
---|
3371 | return(hmsg("Syntax: SET PROTOCOL KERMIT\n\n\ |
---|
3372 | Chooses the protocol to be used for transferring files. KERMIT is the\n\ |
---|
3373 | only choice in this version of C-Kermit.")); |
---|
3374 | #else |
---|
3375 | #ifdef XYZ_INTERNAL |
---|
3376 | return(hmsga(hxyixyz)); |
---|
3377 | #else |
---|
3378 | return(hmsga(hxyxyz)); |
---|
3379 | #endif /* XYZ_INTERNAL */ |
---|
3380 | #endif /* CK_XYZ */ |
---|
3381 | |
---|
3382 | #ifdef CK_SPEED |
---|
3383 | case XYPREFIX: |
---|
3384 | return(hmsg("Syntax: SET PREFIXING { ALL, CAUTIOUS, MINIMAL, NONE }\n\n\ |
---|
3385 | Selects the degree of control-character prefixing. Also see HELP SET CONTROL." |
---|
3386 | )); |
---|
3387 | #endif /* CK_SPEED */ |
---|
3388 | |
---|
3389 | #ifdef OS2 |
---|
3390 | case XYLOGIN: |
---|
3391 | return(hmsg("Syntax: SET LOGIN { USERID, PASSWORD, PROMPT } <text>\n\n\ |
---|
3392 | Provides access information for use by login scripts.")); |
---|
3393 | #endif /* OS2 */ |
---|
3394 | |
---|
3395 | #ifndef NOSPL |
---|
3396 | case XYTMPDIR: |
---|
3397 | return(hmsg("Syntax: SET TEMP-DIRECTORY [ <directory-name> ]\n\n\ |
---|
3398 | Overrides automatic assignment of \\v(tmpdir) variable.")); |
---|
3399 | #endif /* NOSPL */ |
---|
3400 | |
---|
3401 | case XYTITLE: |
---|
3402 | return(hmsg("Syntax: SET TITLE <text>\n\ |
---|
3403 | Sets window title to text instead of using current host/port name.")); |
---|
3404 | |
---|
3405 | default: |
---|
3406 | printf("Not available - \"%s\"\n",cmdbuf); |
---|
3407 | return(0); |
---|
3408 | } |
---|
3409 | } |
---|
3410 | |
---|
3411 | |
---|
3412 | /* D O H R M T -- Give help about REMOTE command */ |
---|
3413 | |
---|
3414 | static char *hrset[] = { |
---|
3415 | "Syntax: REMOTE SET parameter value", |
---|
3416 | "Example: REMOTE SET FILE TYPE BINARY\n", |
---|
3417 | "Ask the remote Kermit server to set the named parameter to the given value.", |
---|
3418 | "Equivalent to typing the corresponding SET command directly to the other", |
---|
3419 | "Kermit if it were in interactive mode.", "" }; |
---|
3420 | |
---|
3421 | int |
---|
3422 | dohrmt(xx) int xx; { |
---|
3423 | int x; |
---|
3424 | if (xx == -3) return(hmsga(hmhrmt)); |
---|
3425 | if (xx < 0) return(xx); |
---|
3426 | if ((x = cmcfm()) < 0) return(x); |
---|
3427 | switch (xx) { |
---|
3428 | |
---|
3429 | case XZCPY: |
---|
3430 | return(hmsg("Syntax: REMOTE COPY source destination\n\n\ |
---|
3431 | Ask the remote Kermit server to copy the source file to destination.")); |
---|
3432 | |
---|
3433 | case XZCWD: |
---|
3434 | return(hmsg("Syntax: REMOTE CD [ name ]\n\n\ |
---|
3435 | Ask remote Kermit server to change its working directory or device.\n\ |
---|
3436 | If the device or directory name is omitted, restore the default.")); |
---|
3437 | |
---|
3438 | case XZDEL: |
---|
3439 | return(hmsg("Syntax: REMOTE DELETE filespec\n\n\ |
---|
3440 | Ask the remote Kermit server to delete the named file(s).")); |
---|
3441 | |
---|
3442 | case XZDIR: |
---|
3443 | return(hmsg("Syntax: REMOTE DIRECTORY [ filespec ]\n\n\ |
---|
3444 | Ask the remote Kermit server to provide a directory listing of the named\n\ |
---|
3445 | file(s) or if no file specification is given, of all files in the current\n\ |
---|
3446 | directory.")); |
---|
3447 | |
---|
3448 | case XZHLP: |
---|
3449 | return(hmsg("Syntax: REMOTE HELP\n\n\ |
---|
3450 | Ask the remote Kermit server to list the services it provides.")); |
---|
3451 | |
---|
3452 | case XZHOS: |
---|
3453 | return(hmsg("Syntax: REMOTE HOST command\n\n\ |
---|
3454 | Send a command to the remote host computer in its own command language\n\ |
---|
3455 | through the remote Kermit server.")); |
---|
3456 | |
---|
3457 | #ifndef NOFRILLS |
---|
3458 | case XZKER: |
---|
3459 | return(hmsg("Syntax: REMOTE KERMIT command\n\n\ |
---|
3460 | Send a command to the remote Kermit server in its own command language.")); |
---|
3461 | |
---|
3462 | case XZLGI: |
---|
3463 | return(hmsg("Syntax: REMOTE LOGIN user password [ account ]\n\n\ |
---|
3464 | Log in to a remote Kermit server that requires you login.")); |
---|
3465 | |
---|
3466 | case XZLGO: |
---|
3467 | return(hmsg("Syntax: REMOTE LOGOUT\n\n\ |
---|
3468 | Log out from a remote Kermit server to which you have previously logged in.")); |
---|
3469 | |
---|
3470 | case XZPRI: |
---|
3471 | return(hmsg("Syntax: REMOTE PRINT filespec [ options ]\n\n\ |
---|
3472 | Send the specified file(s) to the remote Kermit and ask it to have the\n\ |
---|
3473 | file printed on the remote system's printer, using any specified options.")); |
---|
3474 | #endif /* NOFRILLS */ |
---|
3475 | |
---|
3476 | case XZREN: |
---|
3477 | return(hmsg("Syntax: REMOTE RENAME filespec newname\n\n\ |
---|
3478 | Ask the remote Kermit server to rename the file.")); |
---|
3479 | |
---|
3480 | case XZSET: |
---|
3481 | return(hmsga(hrset)); |
---|
3482 | |
---|
3483 | case XZSPA: |
---|
3484 | return(hmsg("Syntax: REMOTE SPACE [ name ]\n\n\ |
---|
3485 | Ask the remote Kermit server to tell you about its disk space on the current\n\ |
---|
3486 | disk or directory, or in the one that you name.")); |
---|
3487 | |
---|
3488 | #ifndef NOFRILLS |
---|
3489 | case XZTYP: |
---|
3490 | return(hmsg("Syntax: REMOTE TYPE file\n\n\ |
---|
3491 | Ask the remote Kermit server to type the named file(s) on your screen.")); |
---|
3492 | |
---|
3493 | case XZWHO: |
---|
3494 | return(hmsg("Syntax: REMOTE WHO [ name ]\n\n\ |
---|
3495 | Ask the remote Kermit server to list who's logged in, or to give information\n\ |
---|
3496 | about the named user.")); |
---|
3497 | #endif /* NOFRILLS */ |
---|
3498 | |
---|
3499 | #ifndef NOSPL |
---|
3500 | case XZQUE: |
---|
3501 | return(hmsg( |
---|
3502 | "Syntax: REMOTE QUERY { KERMIT, SYSTEM, USER } variable-name\n\n\ |
---|
3503 | Ask the remote Kermit server to send the value of the named variable of the\n\ |
---|
3504 | given type, and make it available in the \\v(query) variable.")); |
---|
3505 | |
---|
3506 | case XZASG: |
---|
3507 | return(hmsg( |
---|
3508 | "Syntax: REMOTE ASSIGN variable-name [ value ]\n\n\ |
---|
3509 | Assign the given value to the named global variable on the server.")); |
---|
3510 | |
---|
3511 | #endif /* NOSPL */ |
---|
3512 | default: |
---|
3513 | if ((x = cmcfm()) < 0) return(x); |
---|
3514 | printf("not working yet - %s\n",cmdbuf); |
---|
3515 | return(-2); |
---|
3516 | } |
---|
3517 | } |
---|
3518 | #endif /* NOHELP */ |
---|
3519 | #endif /* NOICP */ |
---|