| #ifdef SSHTEST |
| #define SSHBUILTIN |
| #endif /* SSHTEST */ |
| |
| /* C K U U S 2 -- User interface strings & help text module for C-Kermit */ |
| |
| /* |
| Authors: |
| Frank da Cruz <fdc@columbia.edu>, |
| The Kermit Project, Columbia University, New York City |
| Jeffrey E Altman <jaltman@secure-endpoints.com> |
| Secure Endpoints Inc., New York City |
| |
| Copyright (C) 1985, 2004, |
| Trustees of Columbia University in the City of New York. |
| All rights reserved. See the C-Kermit COPYING.TXT file or the |
| copyright text in the ckcmai.c module for disclaimer and permissions. |
| |
| This module contains HELP command and other long text strings. |
| |
| IMPORTANT: Character string constants longer than about 250 are not portable. |
| Longer strings should be broken up into arrays of strings and accessed with |
| hmsga() rather than hmsg(). |
| */ |
| #include "ckcsym.h" |
| #include "ckcdeb.h" |
| #include "ckcnet.h" |
| #include "ckcasc.h" |
| #include "ckcker.h" |
| #include "ckuusr.h" |
| #include "ckcxla.h" |
| #ifdef OS2 |
| #ifdef NT |
| #include <windows.h> |
| #else /* not NT */ |
| #define INCL_KBD |
| #ifdef OS2MOUSE |
| #define INCL_MOU |
| #endif /* OS2MOUSE */ |
| #define INCL_DOSMISC |
| #define INCL_DOSDEVICES |
| #include <os2.h> /* This pulls in a whole load of stuff */ |
| #undef COMMENT |
| #endif /* NT */ |
| #include "ckocon.h" |
| #include "ckokvb.h" |
| #include "ckokey.h" |
| #endif /* OS2 */ |
| |
| extern xx_strp xxstring; |
| extern char * ccntab[]; |
| /* |
| hlptok contains the string for which the user requested help. This is |
| useful for distinguishing synonyms, in case different help text is needed |
| depending on which synonym was given. |
| */ |
| extern char * hlptok; |
| |
| #ifndef NOIKSD |
| extern int inserver; |
| #endif /* IKSD */ |
| |
| #ifndef NOICP |
| extern int cmflgs; |
| |
| #ifdef DCMDBUF |
| extern char *cmdbuf, *atmbuf; |
| #else |
| extern char cmdbuf[], atmbuf[]; |
| #endif /* DCMDBUF */ |
| #endif /* NOICP */ |
| |
| extern char *xarg0; |
| extern int nrmt, nprm, dfloc, local, parity, escape; |
| extern int turn, flow; |
| extern int binary, quiet, keep; |
| extern int success, xaskmore; |
| #ifdef OS2 |
| extern int tt_rows[], tt_cols[]; |
| #else /* OS2 */ |
| extern int tt_rows, tt_cols; |
| #endif /* OS2 */ |
| extern int cmd_rows, cmd_cols; |
| |
| extern long speed; |
| extern char *dftty, *versio, *ckxsys; |
| #ifndef NOHELP |
| extern char *helpfile; |
| #endif /* NOHELP */ |
| extern struct keytab prmtab[]; |
| #ifndef NOXFER |
| extern struct keytab remcmd[]; |
| #endif /* NOXFER */ |
| |
| #ifndef NOICP |
| |
| /* Interactive help strings */ |
| |
| /* Top-level HELP text. IMPORTANT: Also see tophlpi[] for IKSD. */ |
| |
| static char *tophlp[] = { |
| "Trustees of Columbia University in the City of New York.\n", |
| |
| #ifndef NOHELP |
| " Type EXIT to exit.", |
| #ifdef OS2 |
| " Type INTRO for a brief introduction to the Kermit Command screen.", |
| " Type LICENSE to see the Kermit 95 license.", |
| #else |
| " Type INTRO for a brief introduction to C-Kermit.", |
| " Type LICENSE to see the C-Kermit license.", |
| #endif /* OS2 */ |
| " Type HELP followed by a command name for help about a specific command.", |
| #ifndef NOPUSH |
| #ifdef UNIX |
| " Type MANUAL to access the C-Kermit manual page.", |
| #else |
| #ifdef VMS |
| " Type MANUAL to access the C-Kermit help topic.", |
| #else |
| #ifdef OS2 |
| " Type MANUAL to access the K95 manual.", |
| #else |
| " Type MANUAL to access the C-Kermit manual.", |
| #endif /* OS2 */ |
| #endif /* VMS */ |
| #endif /* UNIX */ |
| #endif /* NOPUSH */ |
| " Type NEWS for news about new features.", |
| " Type SUPPORT to learn how to get technical support.", |
| " Press ? (question mark) at the prompt, or anywhere within a command,", |
| " for a menu (context-sensitive help, menu on demand).", |
| #else |
| "Press ? for a list of commands; see documentation for detailed descriptions.", |
| #endif /* NOHELP */ |
| |
| #ifndef NOCMDL |
| #ifndef NOHELP |
| " ", |
| " Type HELP OPTIONS for help with command-line options.", |
| #endif /* NOHELP */ |
| #endif /* NOCMDL */ |
| " ", |
| #ifndef OS2 |
| #ifdef MAC |
| "Documentation for Command Window: \"Using C-Kermit\" by Frank da Cruz and", |
| "Christine M. Gianone, Digital Press, 1997, ISBN: 1-55558-164-1. To order,", |
| "call +1 212 854-3703 or +1 800 366-2665.", |
| #else |
| "DOCUMENTATION: \"Using C-Kermit\" by Frank da Cruz and Christine M. Gianone,", |
| "2nd Edition, Digital Press / Butterworth-Heinemann 1997, ISBN 1-55558-164-1,", |
| "plus supplements at http://www.columbia.edu/kermit/ckermit.html.", |
| #endif /* MAC */ |
| #endif /* OS2 */ |
| #ifdef MAC |
| " ", |
| "Also see the Mac Kermit Doc and Bwr files on the Mac Kermit diskette.\n", |
| #else |
| #ifdef HPUX10 |
| " ", |
| "See the files in /usr/share/lib/kermit/ for additional information.", |
| #endif /* HPUX10 */ |
| #endif /* MAC */ |
| "" |
| }; |
| |
| #ifndef NOIKSD |
| static char *tophlpi[] = { /* Top-level help for IKSD */ |
| |
| "Trustees of Columbia University in the City of New York.\n", |
| |
| #ifndef NOHELP |
| " Type INTRO for a brief introduction to Kermit commands.", |
| " Type VERSION for version and copyright information.", |
| " Type HELP followed by a command name for help about a specific command.", |
| " Type SUPPORT to learn how to get technical support.", |
| " Type LOGOUT (or EXIT) to log out.", |
| " Press ? (question mark) at the prompt, or anywhere within a command,", |
| " for a menu (context-sensitive help, menu on demand).", |
| #else |
| "Press ? for a list of commands; see documentation for detailed descriptions.", |
| #endif /* NOHELP */ |
| " ", |
| "DOCUMENTATION: \"Using C-Kermit\" by Frank da Cruz and Christine M. Gianone,", |
| "2nd Edition, Digital Press / Butterworth-Heinemann 1997, ISBN 1-55558-164-1.", |
| "To order: +1 212 854-3703 or +1 800 366-2665. More info at the Kermit", |
| |
| "Project website, http://www.columbia.edu/kermit/.", |
| "" |
| }; |
| #endif /* NOIKSD */ |
| |
| #ifndef NOHELP |
| char *newstxt[] = { |
| #ifdef OS2 |
| "Welcome to Kermit 95 2.1.3. Major new features include:", |
| #else |
| "Welcome to C-Kermit 8.0.206. Major new features include:", |
| #endif /* OS2 */ |
| #ifdef NT |
| #ifdef KUI |
| " . Runs in GUI window", |
| #else |
| " . GUI version available", |
| #endif /* KUI */ |
| #endif /* NT */ |
| #ifdef SSHBUILTIN |
| " . New built-in SSH v1 and v2 clients", |
| #endif /* SSHBUILTIN */ |
| #ifdef NEWFTP |
| " . A new built-in FTP client", |
| #endif /* NEWFTP */ |
| #ifndef NOHTTP |
| " . A new HTTP 1.1 client", |
| #endif /* NOHTTP */ |
| #ifdef TN_COMPORT |
| " . Telnet Com Port Option for dialing from Telnet modem servers", |
| #endif /* TN_COMPORT */ |
| " . File scanning for automatic text/binary determination", |
| #ifdef CKLEARN |
| #ifndef OS2 |
| " . Learned scripts", |
| #endif /* OS2 */ |
| #endif /* CKLEARN */ |
| #ifndef NOSPL |
| #ifndef NOSEXP |
| " . LISP-like S-Expressions and natural floating-point arithmetic", |
| #endif /* NOSEXP */ |
| " . Lots of script programming improvements", |
| #endif /* NOSPL */ |
| " . Performance improvements and bug fixes", |
| " ", |
| "Documentation:", |
| " 1. \"Using C-Kermit\", second edition (1997), current with C-Kermit 6.0.", |
| " 2. http://www.columbia.edu/kermit/ckermit70.html", |
| " which documents the new features of C-Kermit 7.0.", |
| " 3. http://www.columbia.edu/kermit/ckermit80.html", |
| " which documents the new features of C-Kermit 8.0.", |
| " ", |
| "If the release date shown by the VERSION command is long past, be sure to", |
| "check with the Kermit Project to see if there have been updates.", |
| "" |
| }; |
| #endif /* NOHELP */ |
| |
| #ifndef NOHELP |
| char *introtxt[] = { |
| #ifdef OS2 |
| "Welcome to K-95, Kermit communications software for:", |
| #else |
| #ifdef UNIX |
| #ifdef HPUX |
| "Welcome to HP-UX C-Kermit communications software for:", |
| #else |
| "Welcome to UNIX C-Kermit communications software for:", |
| #endif /* HPUX */ |
| #else |
| #ifdef VMS |
| "Welcome to VMS C-Kermit communications software for:", |
| #else |
| #ifdef VOS |
| "Welcome to VOS C-Kermit communications software for:", |
| #else |
| #ifdef MAC |
| "Welcome to Mac Kermit communications software for:", |
| #else |
| "Welcome to C-Kermit communications software for:", |
| #endif /* MAC */ |
| #endif /* VOS */ |
| #endif /* VMS */ |
| #endif /* UNIX */ |
| #endif /* OS2 */ |
| #ifndef NOXFER |
| " . Error-free and efficient file transfer", |
| #endif /* NOXFER */ |
| #ifndef NOLOCAL |
| #ifdef OS2 |
| " . VT320/220/102/100/52, ANSI, Wyse, Linux, Televideo, and other emulations", |
| #else |
| #ifdef MAC |
| " . VT220 terminal emulation", |
| #else |
| " . Terminal connection", |
| #endif /* MAC */ |
| #endif /* OS2 */ |
| #endif /* NOLOCAL */ |
| #ifndef NOSPL |
| " . Script programming", |
| #endif /* NOSPL */ |
| #ifndef NOICS |
| " . International character set conversion", |
| #endif /* NOICS */ |
| #ifndef NODIAL |
| #ifndef NOSPL |
| " . Numeric and alphanumeric paging", |
| #endif /* NOSPL */ |
| #endif /* NODIAL */ |
| |
| #ifndef NOLOCAL |
| " ", |
| "Supporting:", |
| " . Serial connections, direct or dialed.", |
| #ifndef NODIAL |
| " . Automatic modem dialing", |
| #endif /* NODIAL */ |
| #ifdef TCPSOCKET |
| " . TCP/IP network connections:", |
| #ifdef TNCODE |
| " - Telnet sessions", |
| #endif /* TNCODE */ |
| #ifdef SSHBUILTIN |
| " - SSH v1 and v2 connections", |
| #else |
| #ifdef ANYSSH |
| " - SSH connections via external agent", |
| #endif /* ANYSSH */ |
| #endif /* SSHBUILTIN */ |
| #ifdef RLOGCODE |
| " - Rlogin sessions", |
| #endif /* RLOGCODE */ |
| #ifdef NEWFTP |
| " - FTP sessions", |
| #endif /* NEWFTP */ |
| #ifdef CKHTTP |
| " - HTTP 1.1 sessions", |
| #endif /* CKHTTP */ |
| #ifdef IKSD |
| " - Internet Kermit Service", |
| #endif /* IKSD */ |
| #endif /* TCPSOCKET */ |
| #ifdef ANYX25 |
| " . X.25 network connections", |
| #endif /* ANYX25 */ |
| #ifdef OS2 |
| #ifdef DECNET |
| " . DECnet/PATHWORKS LAT Ethernet connections", |
| #endif /* DECNET */ |
| #ifdef SUPERLAT |
| " . Meridian Technologies' SuperLAT connections", |
| #endif /* SUPERLAT */ |
| #ifdef NPIPE |
| " . Named-pipe connections", |
| #endif /* NPIPE */ |
| #ifdef CK_NETBIOS |
| " . NETBIOS connections", |
| #endif /* CK_NETBIOS */ |
| #endif /* OS2 */ |
| #endif /* NOLOCAL */ |
| |
| " ", |
| "While typing commands, you may use the following special characters:", |
| " . DEL, RUBOUT, BACKSPACE, CTRL-H: Delete the most recent character typed.", |
| " . CTRL-W: Delete the most recent word typed.", |
| " . CTRL-U: Delete the current line.", |
| " . CTRL-R: Redisplay the current line.", |
| |
| #ifdef CK_RECALL |
| #ifdef OS2 |
| " . Uparrow: Command recall - go backwards in command recall buffer.", |
| " . Downarrow: Command recall - go forward in command recall buffer.", |
| #ifndef NOIKSD |
| " (Note: Arrow keys can be used only on the PC's physical keyboard.)", |
| #endif /* NOIKSD */ |
| #endif /* OS2 */ |
| " . CTRL-P: Command recall - go backwards in command recall buffer.", |
| " . CTRL-B: Command recall - same as Ctrl-P.", |
| " . CTRL-N: Command recall - go forward in command recall buffer.", |
| #endif /* CK_RECALL */ |
| |
| " . ? (question mark) Display a menu for the current command field." |
| , |
| " . ESC (or TAB) Attempt to complete the current field.", |
| " . \\ (backslash) include the following character literally", |
| #ifndef NOSPL |
| " or introduce a backslash code, variable, or function.", |
| #else |
| " or introduce a numeric backslash code.", |
| #endif /* NOSPL */ |
| " ", |
| |
| "IMPORTANT: Since backslash (\\) is Kermit's command-line escape character,", |
| "you must enter DOS, Windows, or OS/2 pathnames using either forward slash (/)" |
| , |
| "or double backslash (\\\\) as the directory separator in most contexts.", |
| "Examples: C:/TMP/README.TXT, C:\\\\TMP\\\\README.TXT.", |
| " ", |
| |
| "Command words other than filenames can be abbreviated in most contexts.", |
| " ", |
| |
| "Basic commands:", |
| " EXIT Exit from Kermit", |
| " HELP Request general help", |
| " HELP command Request help about the given command", |
| " TAKE Execute commands from a file", |
| " TYPE Display a file on your screen", |
| " ORIENTATION Explains directory structure", |
| " ", |
| |
| #ifndef NOXFER |
| "Commands for file transfer:", |
| " SEND Send files", |
| " RECEIVE Receive files", |
| " GET Get files from a Kermit server", |
| #ifdef CK_RESEND |
| " RESEND Recover an interrupted send", |
| " REGET Recover an interrupted get from a server", |
| #endif /* CK_RESEND */ |
| #ifndef NOSERVER |
| " SERVER Be a Kermit server", |
| #endif /* NOSERVER */ |
| " ", |
| "File-transfer speed selection:", |
| " FAST Use fast settings -- THIS IS THE DEFAULT", |
| " CAUTIOUS Use slower, more cautious settings", |
| " ROBUST Use extremely slow and cautious settings", |
| " ", |
| "File-transfer performance fine tuning:", |
| " SET RECEIVE PACKET-LENGTH Kermit packet size", |
| " SET WINDOW Number of sliding window slots", |
| " SET PREFIXING Amount of control-character prefixing", |
| #endif /* NOXFER */ |
| |
| #ifndef NOLOCAL |
| " ", |
| "To make a direct serial connection:", |
| #ifdef OS2 |
| #ifdef NT |
| #ifdef CK_TAPI |
| " SET PORT TAPI Select TAPI communication device", |
| #endif /* CK_TAPI */ |
| " SET PORT Select serial communication device", |
| #else |
| " SET PORT Select serial communication port or server", |
| #endif /* NT */ |
| #else |
| " SET LINE Select serial communication device", |
| #endif /* OS2 */ |
| " SET SPEED Select communication speed", |
| " SET PARITY Communications parity (if necessary)", |
| #ifdef CK_RTSCTS |
| " SET FLOW Communications flow control, such as RTS/CTS", |
| #else |
| " SET FLOW Communications flow control, such as XON/XOFF", |
| #endif /* CK_RTSCTS */ |
| " CONNECT Begin terminal connection", |
| |
| #ifndef NODIAL |
| " ", |
| "To dial out with a modem:", |
| " SET DIAL DIRECTORY Specify dialing directory file (optional)", |
| " SET DIAL COUNTRY-CODE Country you are dialing from (*)", |
| " SET DIAL AREA-CODE Area-code you are dialing from (*)", |
| " LOOKUP Lookup entries in your dialing directory (*)", |
| " SET MODEM TYPE Select modem type", |
| #ifdef OS2 |
| #ifdef NT |
| #ifdef CK_TAPI |
| " SET PORT TAPI Select TAPI communication device", |
| #endif /* CK_TAPI */ |
| " SET PORT Select serial communication device", |
| #else |
| " SET PORT Select serial communication port or server", |
| #endif /* NT */ |
| #else |
| " SET LINE Select serial communication device", |
| #endif /* OS2 */ |
| " SET SPEED Select communication speed", |
| " SET PARITY Communications parity (if necessary)", |
| " DIAL Dial the phone number", |
| " CONNECT Begin terminal connection", |
| " ", |
| #ifdef OS2 |
| "Further info: HELP DIAL, HELP SET MODEM, HELP SET PORT, HELP SET DIAL", |
| #else |
| "Further info: HELP DIAL, HELP SET MODEM, HELP SET LINE, HELP SET DIAL", |
| #endif /* OS2 */ |
| "(*) (For use with optional dialing directory)", |
| #endif /* NODIAL */ |
| |
| #ifdef NETCONN |
| " ", |
| "To make a network connection:", |
| #ifndef NODIAL |
| " SET NETWORK DIRECTORY Specify a network services directory (optional)", |
| " LOOKUP Lookup entries in your network directory", |
| #endif /* NODIAL */ |
| " SET NETWORK TYPE Select network type (if more than one available)", |
| " SET HOST Make a network connection but stay in command mode", |
| " CONNECT Begin terminal connection", |
| #ifdef TNCODE |
| " TELNET Select a Telnet host and CONNECT to it", |
| #endif /* TNCODE */ |
| #ifdef RLOGCODE |
| " RLOGIN Select an Rlogin host and CONNECT to it", |
| #endif /* RLOGCODE */ |
| #ifdef ANYSSH |
| " SSH [ OPEN ] Select an SSH host and CONNECT to it", |
| #endif /* ANYSSH */ |
| #ifdef NEWFTP |
| " FTP [ OPEN ] Make an FTP connection", |
| #endif /* NEWFTP */ |
| #ifdef CKHTTP |
| " HTTP OPEN Make an HTTP connection", |
| #endif /* CKHTTP */ |
| #endif /* NETCONN */ |
| |
| #ifdef NT |
| " ", |
| "To return from the terminal window to the K-95> prompt:", |
| #else |
| #ifdef OS2 |
| " ", |
| "To return from the terminal window to the K/2> prompt:", |
| #else |
| " ", |
| "To return from a terminal connection to the C-Kermit prompt:", |
| #endif /* OS2 */ |
| #endif /* NT */ |
| #ifdef OS2 |
| " \ |
| Press the key or key-combination shown after \"Command:\" in the status line", |
| " (such as Alt-x) or type your escape character followed by the letter C.", |
| #else |
| " Type your escape character followed by the letter C.", |
| #endif /* OS2 */ |
| " ", |
| "To display your escape character:", |
| " SHOW ESCAPE", |
| " ", |
| "To display other settings:", |
| " SHOW COMMUNICATIONS, SHOW TERMINAL, SHOW FILE, SHOW PROTOCOL, etc.", |
| #else /* !NOLOCAL */ |
| " ", |
| "To display settings:", |
| " SHOW COMMUNICATIONS, SHOW FILE, SHOW PROTOCOL, etc.", |
| #endif /* NOLOCAL */ |
| " ", |
| #ifdef OS2 |
| "For a Kermit 95 tutorial, visit:", |
| " http://www.columbia.edu/kermit/k95tutor.html", |
| " ", |
| #endif /* OS2 */ |
| "For a C-Kermit tutorial, visit:", |
| " http://www.columbia.edu/kermit/ckututor.html", |
| " ", |
| "To learn about script programming and automation:", |
| " Read the manual, \"Using C-Kermit\". For a brief tutorial, visit:", |
| " http://www.columbia.edu/kermit/ckscripts.html", |
| " ", |
| "For further information about a particular command, type HELP xxx,", |
| "where xxx is the name of the command. For documentation, news of new", |
| "releases, and information about other Kermit software, contact:", |
| " ", |
| " The Kermit Project E-mail: kermit@columbia.edu", |
| " Columbia University Web: http://www.columbia.edu/kermit/", |
| " 612 West 115th Street Voice: +1 (212) 854-3703", |
| " New York NY 10025-7799 Fax: +1 (212) 662-6442", |
| " USA", |
| "" |
| }; |
| |
| static char * hmxymatch[] = { |
| "SET MATCH { DOTFILE, FIFO } { ON, OFF }", |
| " Tells whether wildcards should match dotfiles (files whose names begin", |
| " with period) or UNIX FIFO special files. MATCH FIFO default is OFF.", |
| " MATCH DOTFILE default is OFF in UNIX, ON elsewhere.", |
| "" |
| }; |
| |
| #ifdef OS2 |
| #ifdef KUI |
| static char * hmxygui[] = { |
| "SET GUI DIALOGS { ON, OFF }", |
| " ON means that popups, alerts, use GUI dialogs; OFF means to use", |
| " text-mode popups or prompts. ON by default.", |
| " ", |
| "SET GUI FONT name size", |
| " Chooses the font and size. Type \"set gui font ?\" to see the list of", |
| " choices. The size can be a whole number or can contain a decimal point", |
| " and a fraction (which is rounded to the nearest half point).", |
| " ", |
| "SET GUI RGBCOLOR colorname redvalue greenvalue bluevalue", |
| " Specifies the red-green-blue mixture to be used to render the given", |
| " color name. Type \"set gui rgbcolor\" to see a list of colornames.", |
| " the RGB values are whole numbers from 0 to 255.", |
| " ", |
| "SET GUI WINDOW POSITION x y", |
| " Moves the K95 window to the given X,Y coordinates, pixels from top left.", |
| " (Not yet implemented -- use command-line options to do this.)", |
| " ", |
| "SET GUI WINDOW RESIZE-MODE { CHANGE-DIMENSIONS, SCALE-FONT }", |
| " Default is CHANGE-DIMENSIONS.", |
| "", |
| "SET GUI WINDOW RUN-MODE { MAXIMIZE, MINIMIZE, RESTORE }", |
| " Changes the run mode state of the GUI window.", |
| "" |
| }; |
| #endif /* KUI */ |
| #endif /* OS2 */ |
| |
| #ifdef ANYSSH |
| static char * hmxxssh[] = { |
| #ifdef SSHBUILTIN |
| "Syntax: SSH { ADD, AGENT, CLEAR, KEY, [ OPEN ], V2 } operands...", |
| " Performs an SSH-related action, depending on the keyword that follows:", |
| " ", |
| "SSH ADD LOCAL-PORT-FORWARD local-port host port", |
| " Adds a port forwarding triplet to the local port forwarding list.", |
| " The triplet specifies a local port to be forwarded and the hostname /", |
| " ip-address and port number to which the port should be forwarded from", |
| " the remote host. Port forwarding is activated at connection", |
| " establishment and continues until the connection is terminated.", |
| " ", |
| "SSH ADD REMOTE-PORT-FORWARD remote-port host port", |
| " Adds a port forwarding triplet to the remote port forwarding list.", |
| " The triplet specifies a remote port to be forwarded and the", |
| " hostname/ip-address and port number to which the port should be", |
| " forwarded from the local machine. Port forwarding is activated at", |
| " connection establishment and continues until the connection is", |
| " terminated.", |
| " ", |
| "SSH AGENT ADD [ identity-file ]", |
| " Adds the contents of the identity-file (if any) to the SSH AGENT", |
| " private key cache. If no identity-file is specified, all files", |
| " specified with SET SSH IDENTITY-FILE are added to the cache.", |
| " ", |
| "SSH AGENT DELETE [ identity-file ]", |
| " Deletes the contents of the identity-file (if any) from the SSH AGENT", |
| " private key cache. If no identity-file is specified, all files", |
| " specified with SET SSH IDENTITY-FILE are deleted from the cache.", |
| " ", |
| "SSH AGENT LIST [ /FINGERPRINT ]", |
| " Lists the contents of the SSH AGENT private key cache. If /FINGERPRINT", |
| " is specified, the fingerprint of the private keys are displayed instead", |
| " of the keys.", |
| " ", |
| "SSH CLEAR LOCAL-PORT-FORWARD", |
| " Clears the local port forwarding list.", |
| " ", |
| "SSH CLEAR REMOTE-PORT-FORWARD", |
| " Clears the remote port forwarding list.", |
| " ", |
| "SSH KEY commands:", |
| " The SSH KEY commands create and manage public and private key pairs", |
| " (identities). There are three forms of SSH keys. Each key pair is", |
| " stored in its own set of files:", |
| " ", |
| " Key Type Private Key File Public Key File", |
| " v1 RSA keys \\v(appdata)ssh/identity \\v(appdata)ssh/identity.pub", |
| " v2 RSA keys \\v(appdata)ssh/id_rsa \\v(appdata)ssh/id_rsa.pub", |
| " v2 DSA keys \\v(appdata)ssh/id_dsa \\v(appdata)ssh/id_dsa.pub", |
| " ", |
| " Keys are stored using the OpenSSH keyfile format. The private key", |
| " files can be (optionally) protected by specifying a passphrase. A", |
| " passphrase is a longer version of a password. English text provides", |
| " no more than 2 bits of key data per character. 56-bit keys can be", |
| " broken by a brute force attack in approximately 24 hours. When used,", |
| " private key files should therefore be protected by a passphrase of at", |
| " least 40 characters (about 80 bits).", |
| " ", |
| " To install a public key file on the host, you must transfer the file", |
| " to the host and append it to your \"authorized_keys\" file. The file", |
| " permissions must be 600 (or equivalent).", |
| " ", |
| "SSH KEY CHANGE-PASSPHRASE [ /NEW-PASSPHRASE:passphrase", |
| " /OLD-PASSPHRASE:passphrase ] filename", |
| " This re-encrypts the specified private key file with a new passphrase.", |
| " The old passphrase is required. If the passphrases (and filename) are", |
| " not provided Kermit prompts your for them.", |
| " ", |
| "SSH KEY CREATE [ /BITS:bits /PASSPHRASE:passphrase", |
| " /TYPE:{ V1-RSA, V2-DSA, V2-RSA } /V1-RSA-COMMENT:comment ] filename", |
| " This command creates a new private/public key pair. The defaults are:", |
| " BITS:1024 and TYPE:V2-RSA. The filename is the name of the private", |
| " key file. The public key is created with the same name with .pub", |
| " appended to it. If a filename is not specified Kermit prompts you for", |
| " it. V1 RSA key files may have an optional comment, which is ignored", |
| " for other key types.", |
| " ", |
| "SSH KEY DISPLAY [ /FORMAT:{FINGERPRINT,IETF,OPENSSH,SSH.COM} ] filename", |
| " This command displays the contents of a public or private key file.", |
| " The default format is OPENSSH.", |
| " ", |
| "SSH KEY V1 SET-COMMENT filename comment", |
| " This command replaces the comment associated with a V1 RSA key file.", |
| " ", |
| "SSH [ OPEN ] host [ port ] [ /COMMAND:command /USER:username", |
| " /PASSWORD:pwd /VERSION:{ 1, 2 } /X11-FORWARDING:{ ON, OFF } ]", |
| " This command establishes a new connection using SSH version 1 or", |
| " version 2 protocol. The connection is made to the specified host on", |
| " the SSH port (you can override the port by including a port name or", |
| " number after the host name). Once the connection is established the", |
| " authentication negotiations begin. If the authentication is accepted,", |
| " the local and remote port forwarding lists are used to establish the", |
| " desired connections. If X11 Forwarding is active, this results in a", |
| " remote port forwarding between the X11 clients on the remote host and", |
| " X11 Server on the local machine. If a /COMMAND is provided, the", |
| " command is executed on the remote host in place of your default shell.", |
| " ", |
| " An example of a /COMMAND to execute C-Kermit in SERVER mode is:", |
| " SSH OPEN hostname /COMMAND:{kermit -x -l 0}", |
| " ", |
| "SSH V2 REKEY", |
| " Requests that an existing SSH V2 connection generate new session keys.", |
| #else /* SSHBUILTIN */ |
| "Syntax: SSH [ options ] <hostname> [ command ]", |
| " Makes an SSH connection using the external ssh program via the SET SSH", |
| " COMMAND string, which is \"ssh -e none\" by default. Options for the", |
| " external ssh program may be included. If the hostname is followed by a", |
| " command, the command is executed on the host instead of an interactive", |
| " shell.", |
| #endif /* SSHBUILTIN */ |
| "" |
| }; |
| |
| static char *hmxyssh[] = { |
| #ifdef SSHBUILTIN |
| "SET SSH AGENT-FORWARDING { ON, OFF }", |
| " If an authentication agent is in use, setting this value to ON", |
| " results in the connection to the agent being forwarded to the remote", |
| " computer. The default is OFF.", |
| " ", |
| "SET SSH CHECK-HOST-IP { ON, OFF }", |
| " Specifies whether the remote host's ip-address should be checked", |
| " against the matching host key in the known_hosts file. This can be", |
| " used to determine if the host key changed as a result of DNS spoofing.", |
| " The default is ON.", |
| " ", |
| "SET SSH COMPRESSION { ON, OFF }", |
| " Specifies whether compression will be used. The default is ON.", |
| " ", |
| "SET SSH DYNAMIC-FORWARDING { ON, OFF }", |
| " Specifies whether Kermit is to act as a SOCKS4 service on port 1080", |
| " when connected to a remote host via SSH. When Kermit acts as a SOCKS4", |
| " service, it accepts connection requests and forwards the connections", |
| " through the remote host. The default is OFF.", |
| " ", |
| "SET SSH GATEWAY-PORTS { ON, OFF }", |
| " Specifies whether Kermit should act as a gateway for forwarded", |
| " connections received from the remote host. The default is OFF.", |
| " ", |
| "SET SSH GSSAPI DELEGATE-CREDENTIALS { ON, OFF }", |
| " Specifies whether Kermit should delegate GSSAPI credentials to ", |
| " the remote host after authentication. Delegating credentials allows", |
| " the credentials to be used from the remote host. The default is OFF.", |
| " ", |
| "SET SSH HEARTBEAT-INTERVAL <seconds>", |
| " Specifies a number of seconds of idle time after which an IGNORE", |
| " message will be sent to the server. This pulse is useful for", |
| " maintaining connections through HTTP Proxy servers and Network", |
| " Address Translators. The default is OFF (0 seconds).", |
| " ", |
| "SET SSH IDENTITY-FILE filename [ filename [ ... ] ]", |
| " Specifies one or more files from which the user's authorization", |
| " identities (private keys) are to be read when using public key", |
| " authorization. These are files used in addition to the default files:", |
| " ", |
| " \\v(appdata)ssh/identity V1 RSA", |
| " \\v(appdata)ssh/id_rsa V2 RSA", |
| " \\v(appdata)ssh/id_dsa V2 DSA", |
| " ", |
| "SET SSH KERBEROS4 TGT-PASSING { ON, OFF }", |
| " Specifies whether Kermit should forward Kerberos 4 TGTs to the host.", |
| " The default is OFF.", |
| " ", |
| "SET SSH KERBEROS5 TGT-PASSING { ON, OFF }", |
| " Specifies whether Kermit should forward Kerberos 5 TGTs to to the", |
| " host. The default is OFF.", |
| " ", |
| "SET SSH PRIVILEGED-PORT { ON, OFF }", |
| " Specifies whether a privileged port (less than 1024) should be used", |
| " when connecting to the host. Privileged ports are not required except", |
| " when using SSH V1 with Rhosts or RhostsRSA authorization. The default", |
| " is OFF.", |
| " ", |
| "SET SSH QUIET { ON, OFF }", |
| " Specifies whether all messages generated in conjunction with SSH", |
| " protocols should be suppressed. The default is OFF.", |
| " ", |
| "SET SSH STRICT-HOST-KEY-CHECK { ASK, ON, OFF }", |
| " Specifies how Kermit should behave if the the host key check fails.", |
| " When strict host key checking is OFF, the new host key is added to the", |
| " protocol-version-specific user-known-hosts-file. When strict host key", |
| " checking is ON, the new host key is refused and the connection is", |
| " dropped. When set to ASK, Kermit prompt you to say whether the new", |
| " host key should be accepted. The default is ASK.", |
| " ", |
| " Strict host key checking protects you against Trojan horse attacks.", |
| " It depends on you to maintain the contents of the known-hosts-file", |
| " with current and trusted host keys.", |
| " ", |
| "SET SSH USE-OPENSSH-CONFIG { ON, OFF }", |
| " Specifies whether Kermit should parse an OpenSSH configuration file", |
| " after applying Kermit's SET SSH commands. The configuration file", |
| " would be located at \\v(home)ssh/ssh_config. The default is OFF.", |
| " ", |
| "SET SSH V1 CIPHER { 3DES, BLOWFISH, DES }", |
| " Specifies which cipher should be used to protect SSH version 1", |
| " connections. The default is 3DES.", |
| " ", |
| "SET SSH V1 GLOBAL-KNOWN-HOSTS-FILE filename", |
| " Specifies the location of the system-wide known-hosts file. The", |
| " default is:", |
| " ", |
| " \v(common)ssh_known_hosts", |
| " ", |
| "SET SSH V1 USER-KNOWN-HOSTS-FILE filename", |
| " Specifies the location of the user-known-hosts-file. The default", |
| " location is:", |
| " ", |
| " \\v(appdata)ssh/known_hosts", |
| " ", |
| "SET SSH V2 AUTHENTICATION { EXTERNAL-KEYX, GSSAPI, HOSTBASED, ", |
| " KEYBOARD-INTERACTIVE, PASSWORD, PUBKEY, SRP-GEX-SHA1 } [ ... ]", |
| " Specifies an ordered list of SSH version 2 authentication methods to", |
| " be used when connecting to the remote host. The default list is:", |
| " ", |
| " external-keyx gssapi hostbased publickey srp-gex-sha1 publickey", |
| " keyboard-interactive password none", |
| " ", |
| "SET SSH V2 AUTO-REKEY { ON, OFF }", |
| " Specifies whether Kermit automatically issues rekeying requests", |
| " once an hour when SSH version 2 in in use. The default is ON.", |
| " ", |
| "SET SSH V2 CIPHERS { 3DES-CBC, AES128-CBC AES192-CBC AES256-CBC", |
| " ARCFOUR BLOWFISH-CBC CAST128-CBC RIJNDAEL128-CBC RIJNDAEL192-CBC", |
| " RIJNDAEL256-CBC }", |
| " Specifies an ordered list of SSH version ciphers to be used to encrypt", |
| " the established connection. The default list is:", |
| " ", |
| " aes128-cbc 3des-cbc blowfish-cbc cast128-cbc arcfour aes192-cbc", |
| " aes256-cbc", |
| " ", |
| " \"rijndael\" is an alias for \"aes\".", |
| " ", |
| "SET SSH V2 GLOBAL-KNOWN-HOSTS-FILE filename", |
| " Specifies the location of the system-wide known-hosts file. The default", |
| " location is:", |
| " ", |
| " \\v(common)ssh/known_hosts2", |
| " ", |
| "SET SSH V2 HOSTKEY-ALGORITHMS { SSH-DSS, SSH-RSA }", |
| " Specifies an ordered list of hostkey algorithms to be used to verify", |
| " the identity of the host. The default list is", |
| " ", |
| " ssh-rsa ssh-dss", |
| " ", |
| "SET SSH V2 MACS { HMAC-MD5 HMAC-MD5-96 HMAC-RIPEMD160 HMAC-SHA1", |
| " HMAC-SHA1-96 }", |
| " Specifies an ordered list of Message Authentication Code algorithms to", |
| " be used for integrity protection of the established connection. The", |
| " default list is:", |
| " ", |
| " hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96 hmac-md5-96", |
| " ", |
| "SET SSH V2 USER-KNOWN-HOSTS-FILE filename", |
| " Specifies the location of the user-known-hosts file. The default", |
| " location is:", |
| " ", |
| " \\v(appdata)ssh/known_hosts2", |
| " ", |
| "SET SSH VERBOSE level", |
| " Specifies how many messages should be generated by the OpenSSH engine.", |
| " The level can range from 0 to 7. The default value is 2.", |
| " ", |
| "SET SSH VERSION { 1, 2, AUTOMATIC }", |
| " Specifies which SSH version should be negotiated. The default is", |
| " AUTOMATIC which means use version 2 if supported; otherwise to fall", |
| " back to version 1.", |
| " ", |
| "SET SSH X11-FORWARDING { ON, OFF }", |
| " Specifies whether X Windows System Data is to be forwarded across the", |
| " established SSH connection. The default is OFF. When ON, the DISPLAY", |
| " value is either set using the SET TELNET ENV DISPLAY command or read", |
| " from the DISPLAY environment variable.", |
| " ", |
| "SET SSH XAUTH-LOCATION filename", |
| " Specifies the location of the xauth executable (if provided with the", |
| " X11 Server software.)", |
| #else /* SSHBUILTIN */ |
| "Syntax: SET SSH COMMAND command", |
| " Specifies the external command to be used to make an SSH connection.", |
| " By default it is \"ssh -e none\" (ssh with no escape character).", |
| #endif /* SSHBUILTIN */ |
| "" |
| }; |
| #endif /* ANYSSH */ |
| |
| #ifdef NEWFTP |
| static char *hmxygpr[] = { |
| "Syntax: SET GET-PUT-REMOTE { AUTO, FTP, KERMIT}", |
| " Tells Kermit whether GET, PUT, and REMOTE commands should be directed", |
| " at a Kermit server or an FTP server. The default is AUTO, meaning that", |
| " if you have only one active connection, the appropriate action is taken", |
| " when you give a GET, PUT, or REMOTE command. SET GET-PUT-REMOTE FTP forces" |
| , |
| " Kermit to treat GET, PUT, and REMOTE as FTP client commands; setting this", |
| " to KERMIT forces these commands to be treated as Kermit client commands.", |
| " NOTE: PUT includes SEND, MPUT, MSEND, and all other similar commands.", |
| " Also see HELP REMOTE, HELP SET LOCUS, HELP FTP.", |
| "" |
| }; |
| #endif /* NEWFTP */ |
| |
| #ifdef LOCUS |
| static char *hmxylocus[] = { |
| #ifdef KUI |
| "Syntax: SET LOCUS { ASK, AUTO, LOCAL, REMOTE }", |
| #else |
| "Syntax: SET LOCUS { AUTO, LOCAL, REMOTE }", |
| #endif /* KUI */ |
| " Specifies whether unprefixed file management commands should operate", |
| " locally or (when there is a connection to a remote FTP or Kermit", |
| " server) sent to the server. The affected commands are: CD (CWD), PWD,", |
| " CDUP, DIRECTORY, DELETE, RENAME, MKDIR, and RMDIR. To force any of", |
| " these commands to be executed locally, give it an L-prefix: LCD, LDIR,", |
| " etc. To force remote execution, use the R-prefix: RCD, RDIR, and so", |
| " on. SHOW COMMAND shows the current Locus.", |
| " ", |
| " By default, the Locus for file management commands is switched", |
| " automatically whenever you make or close a connection: if you make an", |
| " FTP connection, the Locus becomes REMOTE; if you close an FTP connection", |
| " or make any other kind of connection, the Locus becomes LOCAL.", |
| #ifdef KUI |
| " ", |
| " There are two kinds of automatic switching: ASK (the default) which", |
| " asks you if it's OK to switch, and AUTO, which switches without asking.", |
| #endif /* KUI */ |
| " ", |
| " If you give a SET LOCUS LOCAL or SET LOCUS REMOTE command, this sets", |
| " the locus as indicated and disables automatic switching.", |
| #ifdef KUI |
| " SET LOCUS AUTO or SET LOCUS ASK restores automatic switching.", |
| " You can also change Locus switching and behavior in the Actions menu.", |
| #else |
| " SET LOCUS AUTO restores automatic switching.", |
| #endif /* KUI */ |
| "", |
| }; |
| #endif /* LOCUS */ |
| |
| static char *hmxxtak[] = { |
| "Syntax: TAKE filename [ arguments ]", |
| " Tells Kermit to execute commands from the named file. Optional argument", |
| " words, are automatically assigned to the macro argument variables \\%1", |
| " through \\%9. Kermit command files may themselves contain TAKE commands,", |
| " up to any reasonable depth of nesting.", |
| "" |
| }; |
| |
| #ifdef TCPSOCKET |
| static char *hmxxfirew[] = { |
| #ifdef OS2 |
| "Firewall Traversal in Kermit 95", |
| #else |
| "Firewall Traversal in C-Kermit", |
| #endif |
| " ", |
| #ifndef NEWFTP |
| #ifndef CKHTTP |
| #ifndef CK_SOCKS |
| #define NOFIREWALL |
| #endif |
| #endif |
| #endif |
| #ifdef NOFIREWALL |
| "This version of Kermit was built with no support for firewall traversal", |
| "protocols. Kermit can be built with support for HTTP Proxy Servers,", |
| "SOCKS authorized firewall traversal, and FTP Passive connection modes.", |
| " ", |
| #else /* NOFIREWALL */ |
| #ifdef CKHTTP |
| "The simplist form of firewall traversal is the HTTP CONNECT command. The", |
| "CONNECT command was implemented to allow a public web server which usually", |
| "resides on the boundary between the public and private networks to forward", |
| "HTTP requests from clients on the private network to public web sites. To", |
| "allow secure web connections, the HTTP CONNECT command authenticates the", |
| "client with a username/password and then establishes a tunnel to the", |
| "desired host.", |
| |
| " ", |
| |
| "Web servers that support the CONNECT command can be configured to allow", |
| "outbound connections for authenticated users to any TCP/IP hostname-port", |
| "combination accessible to the Web server. HTTP CONNECT can be used only", |
| "with TCP-based protocols. Protocols such as Kerberos authentication that", |
| "use UDP/IP cannot be tunneled using HTTP CONNECT.", |
| |
| " ", |
| |
| "SET TCP HTTP-PROXY [switches] [<hostname or ip-address>[:<port>]]", |
| " If a hostname or ip-address is specified, Kermit uses the given", |
| " proxy server when attempting outgoing TCP connections. If no hostnamer", |
| " or ip-address is specified, any previously specified Proxy server is", |
| " removed. If no port number is specified, the \"http\" service is used.", |
| " [switches] can be one or more of:", |
| " /AGENT:<agent> /USER:<user> /PASSWORD:<password>", |
| " Switch parameters are used when connecting to the proxy server and", |
| " override any other values associated with the connection.", |
| " ", |
| |
| #endif /* CKHTTP */ |
| #ifdef CK_SOCKS |
| |
| "In the early 1990s as firewalls were becoming prevalent, David Koblas", |
| "developed the SOCKS protocol for TCP/IP firewall traversal. Two versions", |
| "of SOCKS are currently in use: Version 4.2 lets TCP/IP client applications", |
| "traverse firewalls, similar to HTTP CONNECT, except that the SOCKS client", |
| "is aware of the public source IP address and port, which can be used within", |
| "the application protocol to assist in securing the connection (e.g. FTP", |
| "sessions secured with GSSAPI Kerberos 5).", |
| |
| " ", |
| |
| "In 1995 the IETF issued SOCKS Protocol Version 5 (RFC 1928), which is", |
| "significantly more general than version 4. Besides supporting client-", |
| "to-server TCP/IP connections, it also includes:", |
| |
| " ", |
| " . Authenticated firewall traversal of UDP/IP packets.", |
| " . Authenticated binding of incoming public ports on the firewall.", |
| " ", |
| |
| "This lets a service on the private network offer public services. It also", |
| "lets client applications like FTP establish a temporary public presence", |
| "that can be used by the FTP server to create a data channel. By allowing", |
| "the client to bind to a public port on the firewall and be aware of the", |
| "public address, SOCKS 5 lets the application protocol communicate this", |
| "information to the server.", |
| |
| " ", |
| |
| #ifdef OS2 |
| #ifdef NT |
| "Kermit 95 supports SOCKS 4.2. The SOCKS Server is specified with:", |
| " ", |
| " SET TCP SOCKS-SERVER hostname/ip-address", |
| " ", |
| "The SOCKS.CONF file is found by examining the ETC environment variable;", |
| "searching in \\WINDOWS on Windows 95/98/ME; or the", |
| "\\WINDOWS\\SYSTEM\\DRIVERS\\ETC directory on NT\\2000\\XP systems.", |
| |
| #else /* NT */ |
| |
| "Kermit/2 provides support for SOCKS 4.2 servers when using IBM TCP/IP 2.0,", |
| "IBM OS/2 WARP, or a compatible protocol stack. SOCKS is one popular means", |
| "of implementing a firewall between a private network and the Internet.", |
| " ", |
| "Kermit/2 shares the same SOCKS environment variables as IBM Gopher. It also", |
| "supports the use of local SOCKS configuration files.", |
| " ", |
| "To specify the default SOCKS Server, add SET SOCKS_SERVER= to your", |
| "CONFIG.SYS file.", |
| " ", |
| "If you must use a SOCKS Distributed Name Server, add SET SOCKS_NS= to your", |
| "CONFIG.SYS file.", |
| " ", |
| |
| "If you must use a specific with your SOCKS server, be sure to add SET USER=", |
| "to your CONFIG.SYS file. Otherwise, \"os2user\" is used by default.", |
| |
| " ", |
| |
| "The SOCKS configuration file must be placed in the directory pointed to by", |
| "the ETC environment variable as declared in your CONFIG.SYS file. The name", |
| "should be SOCKS.CONF. On a FAT file system, use SOCKS.CNF.", |
| |
| " ", |
| "The format of the lines in the SOCKS configuration file are as follows:", |
| " ", |
| " . # comments", |
| " . deny [*=userlist] dst_addr dst_mask [op port]", |
| " . direct [*=userlist] dst_addr dst_mask [op port]", |
| " . sockd [@=serverlist] [*=userlist] dst_addr dst_mask [op port]", |
| " ", |
| |
| "op must be one of 'eq', 'neq', 'lt', 'gt', 'le', or 'ge'. dst_addr,", |
| "dst_mask, and port may be either numeric or name equivalents.", |
| |
| " ", |
| |
| "Kermit/2 ignores the [*=userlist] and [@=serverlist] fields. Matches are", |
| "determined on a first match not a best match basis. Addresses for which no", |
| "match is found default to \"sockd\".", |
| |
| " ", |
| |
| "For completeness: Fields in square brackets are optional. The optional", |
| "@=serverlist field with a 'sockd' line specifies the list of SOCKS servers", |
| "the client should try (in the given order) instead of the default SOCKS", |
| "server. If the @=serverlist part is omitted, then the default SOCKS server", |
| "is used. Commas are used in the userlist and serverlist as separators, no", |
| "white spaces are allowed.", |
| |
| #endif /* NT */ |
| |
| " ", |
| |
| #else /* OS2 */ |
| #ifdef CK_SOCKS5 |
| "This version of C-Kermit supports SOCKS version 5.", |
| #else /* CK_SOCKS5 */ |
| "This version of C-Kermit supports SOCKS version 4.", |
| #endif /* CK_SOCKS5 */ |
| |
| "See the man page (or other system documentation) for information on", |
| "configuring the SOCKS library via the /etc/socks.conf file.", |
| |
| #endif /* OS2 */ |
| " ", |
| #endif /* CK_SOCKS */ |
| |
| #ifdef NEWFTP |
| |
| "FTP is one of the few well-known Internet services that requires", |
| "multiple connections. As described above, FTP originally required the", |
| "server to establish the data connection to the client using a destination", |
| "address and port provided by the client. This doesn't work with port", |
| "filtering firewalls.", |
| |
| " ", |
| |
| "Later, FTP protocol added a \"passive\" mode, in which connections for", |
| "the data channels are created in the reverse direction. Instead of the", |
| "server establishing a connection to the client, the client makes a second", |
| "connection with the server as the destination. This works just fine as", |
| "long as the client is behind the firewall and the server is in public", |
| "address space. If the server is behind a firewall then the traditional", |
| "active mode must be used. If both the client and server are behind their", |
| "own port filtering firewalls then data channels cannot be established.", |
| |
| " ", |
| |
| "In Kermit's FTP client, passive mode is controlled with the command:", |
| |
| " ", |
| " SET FTP PASSIVE-MODE { ON, OFF }", |
| " ", |
| |
| "The default is ON, meaning to use passive mode.", |
| |
| #endif /* NEWFTP */ |
| #endif /* NOFIREWALL */ |
| |
| "" |
| }; |
| #endif /* TCPSOCKET */ |
| |
| static char *hmxxsave[] = { |
| "Syntax: SAVE item filename { NEW, APPEND }", |
| " Saves the requested material in the given file. A new file is created", |
| " by default; include APPEND at the end of the command to append to an", |
| " existing file. Items:", |
| #ifndef NOSETKEY |
| " KEYMAP Saves the current key settings.", |
| #endif /* NOSETKEY */ |
| #ifdef CK_RECALL |
| " COMMAND HISTORY Saves the current command recall (history) buffer", |
| #endif /* CK_RECALL */ |
| #ifdef OS2 |
| " COMMAND SCROLLBACK Saves the current command-screen scrollback buffer", |
| " TERMINAL SCROLLBACK Saves the current terminal-screen scrollback buffer", |
| #endif /* OS2 */ |
| "" |
| }; |
| |
| #ifdef CKROOT |
| static char *hmxxchroot[] = { |
| "Syntax: SET ROOT directoryname", |
| " Sets the root for file access to the given directory and disables access", |
| " to system and shell commands and external programs. Once this command", |
| " is given, no files or directories outside the tree rooted by the given", |
| " directory can be opened, read, listed, deleted, renamed, or accessed in", |
| " any other way. This command can not be undone by a subsequent SET ROOT", |
| " command. Primarily for use with server mode, to restrict access of", |
| " clients to a particular directory tree. Synonym: CHROOT.", |
| "" |
| }; |
| #endif /* CKROOT */ |
| |
| static char *hmxxscrn[] = { |
| "Syntax: SCREEN { CLEAR, CLEOL, MOVE row column }", |
| #ifdef OS2 |
| " Performs screen-formatting actions.", |
| #else |
| " Performs screen-formatting actions. Correct operation of these commands", |
| " depends on proper terminal setup on both ends of the connection -- mainly", |
| " that the host terminal type is set to agree with the kind of terminal or", |
| " the emulation you are viewing C-Kermit through.", |
| #endif /* OS2 */ |
| " ", |
| "SCREEN CLEAR", |
| " Moves the cursor to home position and clears the entire screen.", |
| #ifdef OS2 |
| " Synonyms: CLS, CLEAR SCREEN, CLEAR COMMAND-SCREEN ALL", |
| #else |
| " Synonyms: CLS, CLEAR SCREEN.", |
| #endif /* OS2 */ |
| " ", |
| "SCREEN CLEOL", |
| " Clears from the current cursor position to the end of the line.", |
| #ifdef OS2 |
| " Synonym: CLEAR COMMAND-SCREEN EOL", |
| #endif /* OS2 */ |
| " ", |
| "SCREEN MOVE row column", |
| " Moves the cursor to the indicated row and column. The row and column", |
| " numbers are 1-based so on a 24x80 screen, the home position is 1 1 and", |
| " the lower right corner is 24 80. If a row or column number is given that", |
| " too large for what Kermit or the operating system thinks is your screen", |
| " size, the appropriate number is substituted.", |
| " ", |
| "Also see:", |
| #ifdef OS2 |
| " HELP FUNCTION SCRNCURX, HELP FUNCTION SCRNCURY, HELP FUNCTION SCRSTR,", |
| #endif /* OS2 */ |
| " SHOW VARIABLE TERMINAL, SHOW VARIABLE COLS, SHOW VAR ROWS, SHOW COMMAND.", |
| "" |
| }; |
| |
| #ifndef NOSPL |
| static char *hmfword[] = { |
| "\\fword(s1,n1,s2,s3,n2,n3) - Extract word from string.", |
| " s1 = source string", |
| " n1 = word number (1-based)", |
| " s2 = optional break set.", |
| " s3 = optional include set.", |
| " n2 = optional grouping mask.", |
| " n3 = optional separator flag:", |
| " 0 = collapse adjacent separators", |
| " 1 = don't collapse adjacent separators.", |
| " ", |
| " Default break set is all characters except ASCII letters and digits.", |
| " ASCII (C0) control characters are always treated as break characters.", |
| " Default include set is null.", |
| " ", |
| " If grouping mask given and nonzero, words can be grouped by quotes or", |
| " brackets selected by the sum of the following:", |
| " ", |
| " 1 = doublequotes: \"a b c\"", |
| " 2 = braces: {a b c}", |
| " 4 = apostrophes: 'a b c'", |
| " 8 = parentheses: (a b c)", |
| " 16 = square brackets: [a b c]", |
| " 32 = angle brackets: <a b c>", |
| " ", |
| " Nesting is possible with {}()[]<> but not with quotes or apostrophes.", |
| " ", |
| "Returns string:", |
| " Word number n, if there is one, otherwise an empty string.", |
| "" |
| }; |
| |
| static char *hmxxprompt[] = { |
| "Syntax: PROMPT [ text ]", |
| " Enters interactive command level from within a script in such a way that", |
| " the script can be continued with an END or RETURN command. STOP, EXIT,", |
| " SHOW STACK, TRACE, and Ctrl-C all have their normal effects. The PROMPT", |
| " command allows variables to be examined or changed, or any other commands", |
| " to be given, in any number, prior to returning to the script, allowing", |
| " Kermit to serve as its own debugger; adding the PROMPT command to a script", |
| " is like setting a breakpoint. If the optional text is included, it is", |
| " used as the new prompt for this level, e.g. \"prompt Breakpoint_1>\".", |
| "" |
| }; |
| |
| static char *hxxinp[] = { |
| "Syntax: INPUT [ /NOMATCH ] { number-of-seconds, time-of-day } [ text ]", |
| "Example: INPUT 5 Login: or INPUT 23:59:59 RING", |
| " Waits up to the given number of seconds, or until the given time of day,", |
| " for the given text to arrive on the connection. If no text is given,", |
| " INPUT waits for any character. If the /NOMATCH switch is included, INPUT", |
| " does not attempt to match any characters, but continues reading from the", |
| " communication connection until the timeout interval expires. If the", |
| " timeout interval is 0, the INPUT command does not wait; i.e. the given", |
| " text must already be available for reading for the INPUT command to", |
| " succeed. If the interval is negative, the INPUT command waits forever.", |
| " For use in script programs with IF FAILURE and IF SUCCESS. Also see", |
| " MINPUT, REINPUT, SET INPUT. See HELP PAUSE for details on time-of-day", |
| " format. The text, if given, can be a \\pattern() invocation, in which", |
| " case it is treated as a pattern rather than a literal string (HELP", |
| " PATTERNS for details).", |
| ""}; |
| |
| static char *hxxout[] = { |
| "Syntax: OUTPUT text", |
| " Sends the text out the communications connection, as if you had typed it", |
| " during CONNECT mode. The text may contain backslash codes, variables,", |
| " etc, plus the following special codes:", |
| " ", |
| " \\N - Send a NUL (ASCII 0) character (you can't use \\0 for this).", |
| " \\B - Send a BREAK signal.", |
| " \\L - Send a Long BREAK signal.", |
| " ", |
| "Also see SET OUTPUT.", |
| "" }; |
| #endif /* NOSPL */ |
| |
| static char *hxypari[] = { |
| "SET PARITY NONE", |
| " Chooses 8 data bits and no parity.", |
| " ", |
| "SET PARITY { EVEN, ODD, MARK, SPACE }", |
| " Chooses 7 data bits plus the indicated kind of parity.", |
| " Forces 8th-bit prefixing during file transfer.", |
| " ", |
| #ifdef HWPARITY |
| "SET PARITY HARDWARE { EVEN, ODD }", |
| " Chooses 8 data bits plus the indicated kind of parity.", |
| " ", |
| "Also see SET TERMINAL BYTESIZE, SET SERIAL, and SET STOP-BITS.", |
| #else |
| "Also see SET TERMINAL BYTESIZE and SET SERIAL.", |
| #endif /* HWPARITY */ |
| ""}; |
| |
| #ifndef NOLOCAL |
| static char *hxyesc[] = { |
| #ifdef OS2 |
| "Syntax: SET ESCAPE number", |
| " Decimal ASCII value for escape character during CONNECT, normally 29", |
| " (Control-]). Type the escape character followed by C to get back to the", |
| " C-Kermit prompt or followed by ? to see other options, or use the \\Kexit", |
| " keyboard verb, normally assigned to Alt-x.", |
| #else |
| #ifdef NEXT |
| "Syntax: SET ESCAPE number", |
| " Decimal ASCII value for escape character during CONNECT, normally 29", |
| " (Control-]). Type the escape character followed by C to get back to the", |
| " C-Kermit prompt or followed by ? to see other options.", |
| #else |
| "Syntax: SET ESCAPE number", |
| " Decimal ASCII value for escape character during CONNECT, normally 28", |
| " (Control-\\). Type the escape character followed by C to get back to the", |
| " C-Kermit prompt or followed by ? to see other options.", |
| #endif /* NEXT */ |
| #endif /* OS2 */ |
| " ", |
| "You may also enter the escape character as ^X (circumflex followed by a", |
| "letter or one of: @, ^, _, [, \\, or ], to indicate a control character;", |
| "for example, SET ESC ^_ sets your escape character to Ctrl-Underscore.", |
| " ", |
| "You can also specify an 8-bit character (128-255) as your escape character,", |
| "either by typing it literally or by entering its numeric code.", |
| "" }; |
| #endif /* NOLOCAL */ |
| |
| #ifndef NOSPL |
| static char *hxyout[] = { |
| "SET OUTPUT PACING <number>", |
| " How many milliseconds to pause after sending each OUTPUT character,", |
| " normally 0.", |
| " ", |
| "SET OUTPUT SPECIAL-ESCAPES { ON, OFF }", |
| " Whether to process the special OUTPUT-only escapes \\B, \\L, and \\N.", |
| " Normally ON (they are processed).", |
| "" }; |
| |
| static char *hxyinp[] = { |
| "Syntax: SET INPUT parameter value", |
| " ", |
| #ifdef CK_AUTODL |
| "SET INPUT AUTODOWNLOAD { ON, OFF }", |
| " Controls whether autodownloads are allowed during INPUT command execution.", |
| " ", |
| #endif /* CK_AUTODL */ |
| "SET INPUT BUFFER-LENGTH number-of-bytes", |
| " Removes the old INPUT buffer and creates a new one with the given length.", |
| " ", |
| "SET INPUT CANCELLATION { ON, OFF }", |
| " Whether an INPUT in progress can be can interrupted from the keyboard.", |
| " ", |
| "SET INPUT CASE { IGNORE, OBSERVE }", |
| " Tells whether alphabetic case is to be significant in string comparisons.", |
| " This setting is local to the current macro or command file, and is", |
| " inherited by subordinate macros and take files.", |
| " ", |
| "SET INPUT ECHO { ON, OFF }", |
| " Tells whether to display arriving characters read by INPUT on the screen.", |
| " ", |
| #ifdef CKFLOAT |
| "SET INPUT SCALE-FACTOR <number>", |
| " A number to multiply all INPUT timeouts by, which may include a fractional", |
| " part, e.g. 2.5. All INPUT commands that specify a timeout in seconds", |
| " (as opposed to a specific time of day) have their time limit adjusted", |
| " automatically by this factor, which is also available in the built-in", |
| " read-only variable \\v(inscale). The default value is 1.0.", |
| " ", |
| |
| #endif /* CKFLOAT */ |
| |
| "SET INPUT SILENCE <number>", |
| " The maximum number to seconds of silence (no input at all) before the", |
| " INPUT command times out, 0 for no maximum.", |
| " ", |
| #ifdef OS2 |
| "SET INPUT TERMINAL { ON, OFF }", |
| " Determines whether the data received during an INPUT command is displayed", |
| " in the terminal window. Default is ON.", |
| " ", |
| #endif /* OS2 */ |
| "SET INPUT TIMEOUT-ACTION { PROCEED, QUIT }", |
| " Tells whether to proceed or quit from a script program if an INPUT command", |
| " fails. PROCEED (default) allows use of IF SUCCESS / IF FAILURE commands.", |
| " This setting is local to the current macro or command file, and is", |
| " inherited by subordinate macros and take files.", |
| "" }; |
| |
| static char *hxyfunc[] = { |
| "SET FUNCTION DIAGNOSTICS { ON, OFF }", |
| " Whether to issue diagnostic messages for illegal function calls and", |
| " references to nonexistent built-in variables. ON by default.", |
| " ", |
| "SET FUNCTION ERROR { ON, OFF }", |
| " Whether an illegal function call or reference to a nonexistent built-in", |
| " variable should cause a command to fail. OFF by default.", |
| "" }; |
| #endif /* NOSPL */ |
| |
| static char *hxyxyz[] = { |
| #ifdef CK_XYZ |
| #ifdef XYZ_INTERNAL |
| |
| /* This is for built-in protocols */ |
| |
| "Syntax: SET PROTOCOL { KERMIT, XMODEM, YMODEM, ZMODEM } [ s1 s2 [ s3 ] ]", |
| " Selects protocol to use for transferring files. String s1 is a command to", |
| " send to the remote host prior to SENDing files with this protocol in", |
| " binary mode; string s2 is the same thing but for text mode. Use \"%\" in", |
| " any of these strings to represent the filename(s). If the protocol is", |
| " KERMIT, you may also specify a string s3, the command to start a Kermit", |
| " server on the remote host when you give a GET, REGET, REMOTE, or other", |
| " client command. Use { braces } if any command contains spaces. Examples:", |
| " ", |
| " set proto xmodem {rx %s} {rx -a %s}", |
| " set proto kermit {kermit -YQir} {kermit -YQTr} {kermit -YQx}", |
| |
| #else /* This is for when non-Kermit protocols are external */ |
| |
| "Syntax: \ |
| SET PROTOCOL { KERMIT, XMODEM, YMODEM, ZMODEM } [ s1 s2 s3 s4 s5 s6 ]", |
| " Selects protocol to use for transferring files. s1 and s2 are commands to", |
| " output prior to SENDing with this protocol, to automatically start the", |
| " RECEIVE process on the other end in binary or text mode, respectively.", |
| " If the protocol is KERMIT, s3 is the command to start a Kermit server on", |
| " the remote computer, and there are no s4-s6 commands. Otherwise, s3 and", |
| " s4 are commands used on this computer for sending files with this protocol", |
| " in binary or text mode, respectively; s5 and s6 are the commands for", |
| " receiving files with this protocol. Use \"%s\" in any of these strings", |
| " to represent the filename(s). Use { braces } if any command contains", |
| " spaces. Examples:", |
| " ", |
| " set proto kermit {kermit -YQir} {kermit -YQTr} {kermit -YQx}", |
| " set proto ymodem rb {rb -a} {sb %s} {sb -a %s} rb rb", |
| " ", |
| "External protocols require REDIRECT and external file transfer programs that", |
| "use redirectable standard input/output.", |
| #endif /* XYZ_INTERNAL */ |
| #else |
| "Syntax: \ |
| SET PROTOCOL KERMIT [ s1 [ s2 [ s3 ] ] ]", |
| " Lets you specify the autoupload binary, autoupload text, and autoserver", |
| " command strings to be sent to the remote system in advance of any SEND", |
| " or GET commands. By default these are \"kermit -ir\", \"kermit -r\", and", |
| " \"kermit -x\". Use { braces } around any command that contains spaces.", |
| " Example:", |
| " ", |
| " set proto kermit {kermit -Yir} {kermit -YTr} {kermit -Yx}", |
| #endif /* CK_XYZ */ |
| " ", |
| " SHOW PROTOCOL displays the current settings.", |
| ""}; |
| |
| static char *hmxxbye = "Syntax: BYE\n\ |
| Shut down and log out a remote Kermit server"; |
| |
| #ifdef CK_PERMS |
| #ifdef UNIX |
| static char *hmxxchmod[] = { |
| "Syntax: CHMOD [ switches ] code filespec", |
| " UNIX only. Changes permissions of the given file(s) to the given code,", |
| " which must be an octal number such as 664 or 775. Optional switches:", |
| " ", |
| " /FILES Only change permissions of regular files.", |
| " /DIRECTORIES Only change permissions of directory files.", |
| " /TYPE:BINARY Only change permissions of binary files.", |
| " /TYPE:TEXT Only change permissions of text files.", |
| " /DOTFILES Include files whose names begin with dot (.).", |
| " /RECURSIVE Change permissions in subdirectories too.", |
| " /LIST List each file (synonym: /VERBOSE).", |
| " /NOLIST Operate silently (synonym: /QUIET).", |
| " /PAGE When listing, pause at end of each screen (implies /LIST).", |
| " /NOPAGE When listing, don't pause at end of each screen.", |
| " /SIMULATE Show what would be done but don't actually do it.", |
| "" |
| }; |
| #endif /* UNIX */ |
| #endif /* CK_PERMS */ |
| |
| #ifndef NOSPL |
| #ifndef NOSEXP |
| static char *hmxxsexp[] = { |
| "Syntax: (operation operand [ operand [ ... ] ])", |
| " ", |
| " C-Kermit includes a simple LISP-like S-Expression parser operating on", |
| " numbers only. An S-Expression is always enclosed in parentheses. The", |
| " parentheses can contain (a) a number, (b) a variable, (c) a function that", |
| " returns a number, or (d) an operator followed by one or more operands.", |
| " Operands can be any of (a) through (c) or an S-Expression. Numbers can be", |
| " integers or floating-point. Any operand that is not a number and does not", |
| " start with backslash (\\) is treated as a Kermit macro name. Operators:", |
| " ", |
| " Operator Action Example Value", |
| " EVAL (.) Returns the contained value (6) 6", |
| " QUOTE (') Inhibits evaluation of following value (quote a) a", |
| " SETQ Assigns a value to a global variable (setq a 2) 2", |
| " LET Assigns a value to a local variable (let b -1.3) -1.3", |
| " + Adds all operands (1 or more) (+ a b) 0.7", |
| " - Subtracts all operands (1 or more) (- 9 5 2 1) 1", |
| " * Multiplies all operands (1 or more) (* a (+ b 1) 3) -1.8", |
| " / Divides all operands (1 or more) (/ b a 2) -0.325", |
| " ^ Raise given number to given power (^ 3 2) 9", |
| " ++ Increments a variable (++ a 1.2) 3.2", |
| " -- Decrements a variable (-- a) 1", |
| " ABS Absolute value of 1 operand (abs (* a b 3)) 7.8", |
| " MAX Maximum of all operands (1 or more) (max 1 2 3 4) 4", |
| " MIN Minimum of all operands (1 or more) (min 1 2 3 4) 1", |
| " MOD Modulus of all operands (1 or more) (mod 7 4 2) 1", |
| " TRUNCATE Integer part of floating-point operand (truncate 1.333) 1", |
| " CEILING Ceiling of floating-point operand (ceiling 1.25) 2", |
| " FLOOR Floor of floating-point operand (floor 1.25) 1", |
| " ROUND Operand rounded to nearest integer (round 1.75) 2", |
| " SQRT Square root of 1 operand (sqrt 2) 1.414..", |
| " EXP e (2.71828..) to the given power (exp -1) 0.367..", |
| " SIN Sine of angle expressed in radians (sin (/ pi 2)) 1.0", |
| " COS Cosine of given number (cos pi) -1.0", |
| " TAN Tangent of given number (tan pi) 0.0", |
| " LOG Natural log (base e) of given number (log 2.7183) 1.000..", |
| " LOG10 Log base 10 of given number (log10 1000) 3.0", |
| " ", |
| "Predicate operators return 0 if false, 1 if true, and if it is the outermost", |
| "operator, sets SUCCESS or FAILURE accordingly:", |
| " ", |
| " < Operands in strictly descending order (< 6 5 4 3 2 1) 1", |
| " <= Operands in descending order (<= 6 6 5 4 3 2) 1", |
| " != Operands are not equal (!= 1 1 1.0) 0", |
| " = (==) All operands are equal (= 3 3 3 3) 1", |
| " > Operands in strictly ascending order (> 1 2 3 4 5 6) 1", |
| " >= Operands in ascending order (> 1 1 2 3 4 5) 1", |
| " AND (&&) Operands are all true (and 1 1 1 1 0) 0", |
| " OR (||) At least one operand is true (or 1 1 1 1 0) 1", |
| " XOR Logical Exclusive OR (xor 3 1) 0", |
| " NOT (!) Reverses truth value of operand (not 3) 0", |
| " ", |
| "Bit-oriented operators:", |
| " ", |
| " & Bitwise AND (& 7 2) 2", |
| " | Bitwise OR (| 1 2 3 4) 7", |
| " # Bitwise Exclusive OR (# 3 1) 2", |
| " ~ Reverses all bits (~ 3) -4", |
| " ", |
| "Operators that work on truth values:", |
| " ", |
| " IF Conditional evaluation (if (1) 2 3) 2", |
| " ", |
| "Operators can also be names of Kermit macros that return either numeric", |
| "values or no value at all.", |
| " ", |
| "Built-in constants are:", |
| " ", |
| " t True (1)", |
| " nil False (empty)", |
| " pi The value of Pi (3.1415926...)", |
| " ", |
| "If SET SEXPRESSION ECHO-RESULT is AUTO (the default), the value of the", |
| "S-Expression is printed if the S-Expression is given at top level; if ON,", |
| "it is printed at any level; if OFF it is not printed. At all levels, the", |
| "variable \\v(sexpression) is set to the most recent S-Expression, and", |
| "\\v(svalue) is set to its value. You can use the \\fsexpresssion() function", |
| "to evaluate an S-Expression anywhere in a Kermit command.", |
| "" |
| }; |
| #endif /* NOSEXP */ |
| #endif /* NOSPL */ |
| |
| static char *hmxxgrep[] = { |
| #ifdef UNIXOROSK |
| "Syntax: GREP [ options ] pattern filespec", |
| #else |
| "Syntax: FIND [ options ] pattern filespec", |
| #endif /* UNIXOROSK */ |
| " Searches through the given file or files for the given character string", |
| " or pattern. In the normal case, all lines containing any text that matches" |
| , |
| " the pattern are printed. Pattern syntax is as described in HELP PATTERNS", |
| " except that '*' is implied at the beginning unless the pattern starts with", |
| " '^' and also at the end unless the pattern ends with '$'. Therefore,", |
| " \"grep something *.txt\" lists all lines in all *.txt files that contain", |
| " the word \"something\", but \"grep ^something *.txt\" lists only the lines", |
| " that START with \"something\". The command succeeds if any of the given", |
| " files contained any lines that match the pattern, otherwise it fails.", |
| #ifdef UNIXOROSK |
| " Synonym: FIND.", |
| #else |
| " Synonym: GREP.", |
| #endif /* UNIXOROSK */ |
| " ", |
| "File selection options:", |
| " /NOBACKUPFILES", |
| " Excludes backup files (like oofa.txt.~3~) from the search.", |
| " /DOTFILES", |
| " Includes files whose names start with dot (.) in the search.", |
| " /NODOTFILES", |
| " Excludes files whose names start with dot (.) from the search.", |
| #ifdef RECURSIVE |
| " /RECURSIVE", |
| " Searches through files in subdirectories too.", |
| #endif /* RECURSIVE */ |
| " /TYPE:TEXT", |
| " Search only text files (requires FILE SCAN ON).", |
| " /TYPE:BINARY", |
| " Search only binary files (requires FILE SCAN ON).", |
| " ", |
| "Pattern-matching options:", |
| " /NOCASE", |
| " Ignores case of letters (ASCII only) when comparing.", |
| " /NOMATCH", |
| " Searches for lines that do NOT match the pattern.", |
| " ", |
| "Display options:", |
| " /COUNT:variable-name", |
| " For each file, prints only the filename and a count of matching lines", |
| " and assigns the total match count to the variable, if one is given.", |
| " /NAMEONLY", |
| " Prints the name of each file that contains at least one matching line,", |
| " one name per line, rather than showing each matching line.", |
| " /NOLIST", |
| " Doesn't print anything (but sets SUCCESS or FAILURE appropriately).", |
| " /LINENUMBERS", |
| " Precedes each file line by its line number within the file.", |
| " /PAGE", |
| " Pauses after each screenful.", |
| " /NOPAGE", |
| " Doesn't pause after each screenful.", |
| " /OUTPUT:name", |
| " Sends results to the given file. If this switch is omitted, the", |
| " results appear on your screen. This switch overrides any express or", |
| " implied /PAGE switch.", |
| ""}; |
| |
| static char *hmxxdir[] = { |
| #ifdef DOMYDIR |
| "Syntax: DIRECTORY [ switches ] [ filespec [ filespec [ ... ] ] ]", |
| #ifdef LOCUS |
| " If LOCUS is REMOTE or LOCUS is AUTO and you have an FTP connection,", |
| " this command is equivalent to REMOTE DIRECTORY (RDIR). Otherwise:", |
| " ", |
| #endif /* LOCUS */ |
| " Lists local files. The filespec may be a filename, possibly containing", |
| " wildcard characters, or a directory name. If no filespec is given, all", |
| " files in the current directory are listed. If a directory name is given,", |
| " all the files in it are listed. Multiple filespecs can be given.", |
| " Optional switches:", |
| " ", |
| " /BRIEF List filenames only.", |
| #ifdef CK_PERMS |
| " /VERBOSE + Also list permissions, size, and date.", |
| #else |
| " /VERBOSE + Also list date and size.", |
| #endif /* CK_PERMS */ |
| " /FILES Show files but not directories.", |
| " /DIRECTORIES Show directories but not files.", |
| " /ALL + Show both files and directories.", |
| " /ARRAY:&a Store file list in specified array (e.g. \\%a[]).", |
| " /PAGE Pause after each screenful.", |
| " /NOPAGE Don't pause after each screenful.", |
| #ifdef UNIXOROSK |
| " /DOTFILES Include files whose names start with dot (period).", |
| " /NODOTFILES + Don't include files whose names start with dot.", |
| " /FOLLOWLINKS Follow symbolic links.", |
| " /NOFOLLOWLINKS + Don't follow symbolic links.", |
| " /BACKUP + Include backup files (names end with .~n~).", |
| " /NOBACKUPFILES Don't include backup files.", |
| #endif /* UNIXOROSK */ |
| " /OUTPUT:file Store directory listing in the given file.", |
| " /HEADING Include heading and summary.", |
| " /NOHEADING + Don't include heading or summary.", |
| " /SUMMARY Print only count and total size of matching files.", |
| " /XFERMODE Show pattern-based transfer mode (T=Text, B=Binary).", |
| " /TYPE: Show only files of the specified type (text or binary).", |
| " /MESSAGE:text Add brief message to each listing line.", |
| " /NOMESSAGE + Don't add message to each listing line.", |
| " /NOXFERMODE + Don't show pattern-based transfer mode", |
| " /ISODATE + In verbose listings, show date in ISO 8061 format.", |
| " /ENGLISHDATE In verbose listings, show date in \"English\" format.", |
| #ifdef RECURSIVE |
| " /RECURSIVE Descend through subdirectories.", |
| " /NORECURSIVE + Don't descend through subdirectories.", |
| #endif /* RECURSIVE */ |
| " /SORT:key Sort by key, NAME, DATE, or SIZE; default key is NAME.", |
| " /NOSORT + Don't sort.", |
| " /ASCENDING + If sorting, sort in ascending order.", |
| " /REVERSE If sorting, sort in reverse order.", |
| " ", |
| "Factory defaults are marked with +. Default for paging depends on SET", |
| "COMMAND MORE-PROMPTING. Use SET OPTIONS DIRECTORY [ switches ] to change", |
| "defaults; use SHOW OPTIONS to display customized defaults.", |
| #else |
| "Syntax: DIRECTORY [ filespec ]", |
| " Lists the specified file or files. If no filespec is given, all files", |
| " in the current directory are listed.", |
| #endif /* DOMYDIR */ |
| ""}; |
| |
| |
| #ifndef NOSPL |
| static char *hmxxkcd[] = { |
| "Syntax: KCD symbolic-directory-name", |
| " Kermit Change Directory: Like CD (q.v.) but (a) always acts locally, and", |
| " (b) takes a symbolic directory name rather than an actual directory name.", |
| " The symbolic names correspond to Kermit's directory-valued built-in", |
| " variables, such as \\v(download), \\v(exedir), and so on. Here's the list:" |
| , |
| " ", |
| #ifdef NT |
| " appdata Your personal Kermit 95 application data directory", |
| " common Kermit 95's application data directory for all users", |
| " desktop Your Windows desktop", |
| #endif /* NT */ |
| " download Your download directory (if any)", |
| #ifdef OS2ORUNIX |
| " exedir The directory where the Kermit executable resides", |
| #endif /* OS2ORUNIX */ |
| " home Your home, login, or default directory", |
| " inidir The directory where Kermit's initialization was found", |
| #ifdef UNIX |
| " lockdir The UNIX UUCP lockfile directory on this computer", |
| #endif /* UNIX */ |
| #ifdef NT |
| " personal Your \"My Documents\" directory", |
| #endif /* NT */ |
| " startup Your current directory at the time Kermit started", |
| " textdir The directory where Kermit text files reside, if any", |
| " tmpdir Your temporary directory", |
| " ", |
| " Also see CD, SET FILE DOWNLOAD, SET TEMP-DIRECTORY.", |
| "" |
| }; |
| #endif /* NOSPL */ |
| |
| static char *hmxxcwd[] = { |
| #ifdef LOCUS |
| " If LOCUS is REMOTE or LOCUS is AUTO and you have an FTP connection,", |
| " this command is equivalent to REMOTE CD (RCD). Otherwise:", |
| " ", |
| #endif /* LOCUS */ |
| #ifdef vms |
| "Syntax: CD [ directory or device:directory ]", |
| " Change Working Directory. Equivalent to VMS SET DEFAULT command.", |
| #else |
| #ifdef datageneral |
| "Change Working Directory, equivalent to AOS/VS 'dir' command.", |
| #else |
| #ifdef OS2 |
| "Syntax: CD [ disk or directory name ]", |
| " Change Disk or Directory. If a disk or directory name is not specified,", |
| " your current directory becomes the one specified by HOME environment", |
| " variable, if any. A disk letter must be followed by a colon.", |
| #else |
| "Syntax: CD [ directory name ]", |
| " Change Directory. Changes your current, working, default directory to the", |
| " one given, so that future non-absolute filename references are relative to", |
| " this directory. If the directory name is omitted, your home (login)", |
| " directory is supplied.", |
| #endif /* OS2 */ |
| #endif /* datageneral */ |
| #endif /* vms */ |
| " C-Kermit's default prompt shows your current directory.", |
| " Synonyms: LCD, CWD.", |
| #ifdef LOCUS |
| " Also see: SET LOCUS, PWD, CDUP, BACK, REMOTE CD (RCD), SET CD, SET PROMPT.", |
| #else |
| " Also see: PWD, CDUP, BACK, REMOTE CD (RCD), SET CD, SET PROMPT.", |
| #endif /* LOCUS */ |
| #ifndef NOSPL |
| " And see: HELP KCD.", |
| #endif /* NOSPL */ |
| " Relevant environment variables: CDPATH, HOME.", |
| ""}; |
| |
| static char *hmxxdel[] = { |
| "Syntax: DELETE [ switches... ] filespec", |
| #ifdef LOCUS |
| " If LOCUS is REMOTE or LOCUS is AUTO and you have an FTP connection,", |
| " this command is equivalent to REMOTE DELETE (RDELETE). Otherwise:", |
| " ", |
| #endif /* LOCUS */ |
| " Deletes a file or files on the computer where C-Kermit is running.", |
| " The filespec may denote a single file or can include wildcard characters", |
| " to match multiple files. RM is a synonym for DELETE. Switches include:", |
| " ", |
| "/AFTER:date-time", |
| #ifdef VMS |
| " Specifies that only those files created after the given date-time are", |
| #else |
| " Specifies that only those files modified after the given date-time are", |
| #endif /* VMS */ |
| " to be deleted. HELP DATE for info about date-time formats.", |
| " ", |
| "/BEFORE:date-time", |
| #ifdef VMS |
| " Specifies that only those files modified before the given date-time", |
| #else |
| " Specifies that only those files modified before the given date-time", |
| #endif /* VMS */ |
| " are to be deleted.", |
| " ", |
| "/NOT-AFTER:date-time", |
| #ifdef VMS |
| " Specifies that only those files modified at or before the given date-time", |
| #else |
| " Specifies that only those files modified at or before the given date-time", |
| #endif /* VMS */ |
| " are to be deleted.", |
| " ", |
| "/NOT-BEFORE:date-time", |
| #ifdef VMS |
| " Specifies that only those files modified at or after the given date-time", |
| #else |
| " Specifies that only those files modified at or after the given date-time", |
| #endif /* VMS */ |
| " are to be deleted.", |
| " ", |
| "/LARGER-THAN:number", |
| " Specifies that only those files longer than the given number of bytes are", |
| " to be deleted.", |
| " ", |
| "/SMALLER-THAN:number", |
| " Specifies that only those files smaller than the given number of bytes are", |
| " to be sent.", |
| " ", |
| "/EXCEPT:pattern", |
| " Specifies that any files whose names match the pattern, which can be a", |
| " regular filename or may contain wildcards, are not to be deleted. To", |
| " specify multiple patterns (up to 8), use outer braces around the group", |
| " and inner braces around each pattern:", |
| " ", |
| " /EXCEPT:{{pattern1}{pattern2}...}", |
| " ", |
| #ifdef UNIXOROSK |
| "/DOTFILES", |
| " Include (delete) files whose names begin with \".\".", |
| " ", |
| "/NODOTFILES", |
| " Skip (don't delete) files whose names begin with \".\".", |
| " ", |
| #endif /* UNIXOROSK */ |
| "/TYPE:TEXT", |
| " Delete only regular text files (requires FILE SCAN ON)", |
| " ", |
| "/TYPE:BINARY", |
| " Delete only regular binary files (requires FILE SCAN ON)", |
| " ", |
| "/DIRECTORIES", |
| " Include directories. If this switch is not given, only regular files", |
| " are deleted. If it is given, Kermit attempts to delete any directories", |
| " that match the given file specification, which succeeds only if the", |
| " directory is empty.", |
| " ", |
| #ifdef RECURSIVE |
| "/RECURSIVE", |
| " The DELETE command applies to the entire directory tree rooted in the", |
| " current or specified directory. When the /DIRECTORIES switch is also", |
| " given, Kermit deletes all the (matching) files in each directory before", |
| " attempting to delete the directory itself.", |
| " ", |
| #endif /* RECURSIVE */ |
| #ifdef UNIX |
| #ifdef RECURSIVE |
| "/ALL", |
| " This is a shortcut for /RECURSIVE /DIRECTORIES /DOTFILES.", |
| #else |
| "/ALL", |
| " This is a shortcut for /DIRECTORIES /DOTFILES.", |
| #endif /* RECURSIVE */ |
| #else /* !UNIX */ |
| #ifdef RECURSIVE |
| "/ALL", |
| " This is a shortcut for /RECURSIVE /DIRECTORIES.", |
| #else |
| "/ALL", |
| " This is a synonym for /DIRECTORIES.", |
| #endif /* RECURSIVE */ |
| #endif /* UNIX */ |
| " ", |
| "/LIST", |
| " List each file and tell whether it was deleted. Synonyms: /LOG, /VERBOSE.", |
| " ", |
| "/NOLIST", |
| " Don't list files while deleting. Synonyms: /NOLOG, /QUIET.", |
| " ", |
| "/HEADING", |
| " Print heading and summary information.", |
| " ", |
| "/NOHEADING", |
| " Don't print heading and summary information.", |
| " ", |
| "/SUMMARY", |
| " Like /HEADING /NOLIST, but only prints the summary line.", |
| " ", |
| "/PAGE", |
| " If listing, pause after each screenful.", |
| " ", |
| "/NOPAGE", |
| " Don't pause after each screenful.", |
| " ", |
| "/ASK", |
| " Interactively ask permission to delete each file. Reply Yes or OK to", |
| " delete it, No not to delete it, Quit to cancel the DELETE command, and", |
| " Go to go ahead and delete all the rest of the files without asking.", |
| " ", |
| "/NOASK", |
| " Delete files without asking permission.", |
| " ", |
| "/SIMULATE", |
| " Preview files selected for deletion without actually deleting them.", |
| " Implies /LIST.", |
| " ", |
| "Use SET OPTIONS DELETE to make selected switches effective for every DELETE", |
| "command \ |
| unless you override them; use SHOW OPTIONS to see selections currently", |
| #ifdef LOCUS |
| "in effect. Also see HELP SET LOCUS, HELP PURGE, HELP WILDCARD.", |
| #else |
| "in effect. Also see HELP PURGE, HELP WILDCARD.", |
| #endif /* LOCUS */ |
| ""}; |
| |
| #ifndef NOHTTP |
| static char *hmxxhttp[] = { |
| "Syntax:", |
| #ifdef CK_SSL |
| "HTTP [ <switches> ] OPEN [{ /SSL, /TLS }] <hostname> <service/port>", |
| #else |
| "HTTP [ <switches> ] OPEN <hostname> <service/port>", |
| #endif /*CK_SSL */ |
| " Instructs Kermit to open a new connection for HTTP communication with", |
| " the specified host on the specified port. The default port is \"http\".", |
| #ifdef CK_SSL |
| " If /SSL or /TLS are specified or if the service is \"https\" or port 443,", |
| " a secure connection will be established using the current authentication", |
| " settings. See HELP SET AUTH for details.", |
| #endif /* CK_SSL */ |
| " If <switches> are specified, they are applied to all subsequent HTTP", |
| " actions (GET, PUT, ...) until an HTTP CLOSE command is executed.", |
| " A URL can be included in place of the hostname and service or port.", |
| " ", |
| "HTTP CLOSE", |
| " Instructs Kermit to close any open HTTP connection and clear any saved", |
| " switch values.", |
| " ", |
| "HTTP [ <switches> ] CONNECT <host>[:<port>]", |
| " Instructs the server to establish a connection with the specified host", |
| " and to redirect all data transmitted between Kermit and the host for the", |
| " life of the connection.", |
| " ", |
| "HTTP [ <switches> ] GET <remote-filename> [ <local-filename> ]", |
| " Retrieves the named file on the currently open HTTP connection. The", |
| " default local filename is the same as the remote filename, but with any", |
| " path stripped. If you want the file to be displayed on the screen instead", |
| " of stored on disk, include the /TOSCREEN switch and omit the local", |
| " filename. If you give a URL instead of a remote filename, this commands", |
| " opens the connection, GETs the file, and closes the connection; the same", |
| " is true for the remaining HTTP commands for which you can specify a", |
| " remote filename, directory name, or path.", |
| " ", |
| "HTTP [ <switches> ] HEAD <remote-filename> [ <local-filename> ]", |
| " Like GET except without actually getting the file; instead it gets only", |
| " the headers, storing them into the given file (if a local filename is", |
| " specified), one line per header item as shown in the /ARRAY: switch", |
| " description.", |
| " ", |
| "HTTP [ <switches> ] INDEX <remote-directory> [ <local-filename> ]", |
| " Retrieves the file listing for the given server directory.", |
| " NOTE: This command is not supported by most Web servers, and even when", |
| " the server understand it, there is no stardard response format.", |
| " ", |
| "HTTP [ <switches> ] POST [ /MIME-TYPE:<type> ] <local-file> <remote-path>", |
| " [ <dest-file> ]", |
| " Used to send a response as if it were sent from a form. The data to be", |
| " posted must be read from a file.", |
| " ", |
| "HTTP [ <switches> ] PUT [ /MIME-TYPE:<type> ] <local-file> <remote-file>", |
| " [ <dest-file> ]", |
| " Uploads the given local file to server file. If the remote filename is", |
| " omitted, the local name is used, but with any path stripped.", |
| " ", |
| "HTTP [ <switches> ] DELETE <remote-filename>", |
| " Instructs the server to delete the specified filename.", |
| " ", |
| "where <switches> are:", |
| "/AGENT:<user-agent>", |
| " Identifies the client to the server; \"C-Kermit\" or \"Kermit-95\"", |
| " by default.", |
| " ", |
| "/HEADER:<header-line>", |
| " Used for specifying any optional headers. A list of headers is provided", |
| " using braces for grouping:", |
| " ", |
| " /HEADER:{{<tag>:<value>}{<tag>:<value>}...}", |
| " ", |
| " For a listing of valid <tag> value and <value> formats see RFC 1945:", |
| " \"Hypertext Transfer Protocol -- HTTP/1.0\". A maximum of eight headers", |
| " may be specified.", |
| " ", |
| "/TOSCREEN", |
| " Display server responses on the screen.", |
| " ", |
| "/USER:<name>", |
| " In case a page requires a username for access.", |
| " ", |
| "/PASSWORD:<password>", |
| " In case a page requires a password for access.", |
| " ", |
| "/ARRAY:<arrayname>", |
| " Tells Kermit to store the response headers in the given array, one line", |
| " per element. The array need not be declared in advance. Example:", |
| " ", |
| " http /array:c get kermit/index.html", |
| " show array c", |
| " Dimension = 9", |
| " 1. Date: Fri, 26 Nov 1999 23:12:22 GMT", |
| " 2. Server: Apache/1.3.4 (Unix)", |
| " 3. Last-Modified: Mon, 06 Sep 1999 22:35:58 GMT", |
| " 4. ETag: \"bc049-f72-37d441ce\"", |
| " 5. Accept-Ranges: bytes", |
| " 6. Content-Length: 3954", |
| " 7. Connection: close ", |
| " 8. Content-Type: text/html", |
| " ", |
| "As you can see, the header lines are like MIME e-mail header lines:", |
| "identifier, colon, value. The /ARRAY switch is the only method available", |
| "to a script to process the server responses for a POST or PUT command.", |
| " ", |
| "" |
| }; |
| #endif /* NOHTTP */ |
| |
| #ifdef CK_KERBEROS |
| static char *hmxxauth[] = { |
| "Syntax:", |
| "AUTHENTICATE { KERBEROS4, KERBEROS5 [ switches ] } <action> [ switches ]", |
| " Obtains or destroys Kerberos tickets and lists information about them.", |
| " Actions are INITIALIZE, DESTROY, and LIST-CREDENTIALS. KERBEROS4 can be", |
| " abbreviated K4 or KRB4; KERBEROS5 can be abbreviated K5 or KRB5. Use ? to", |
| " see which keywords, switches, or other quantities are valid at each point", |
| " in the command.", |
| " ", |
| " The actions are INITIALIZE, DESTROY, and LIST-CREDENTIALS:", |
| " ", |
| " AUTH { K4, K5 } { INITIALIZE [switches], DESTROY,", |
| " LIST-CREDENTIALS [switches] }", |
| " ", |
| " The INITIALIZE action is the most complex, and its format is different", |
| " for Kerberos 4 and Kerberos 5. The format for Kerberos 4 is:", |
| " ", |
| " AUTH K4 INITIALIZE [ /INSTANCE:<name> /LIFETIME:<minutes> -", |
| " /PASSWORD:<password> /PREAUTH /REALM:<name> <principal> ]", |
| " ", |
| " All switches are optional. Kerberos 4 INITIALIZE switches are:", |
| " ", |
| " /INSTANCE:<name>", |
| " Allows an Instance (such as a hostname) to be specified.", |
| " ", |
| " /LIFETIME:<number>", |
| " Specifies the requested lifetime in minutes for the ticket. If no", |
| " lifetime is specified, 600 minutes is used. If the lifetime is greater", |
| " than the maximum supported by the ticket granting service, the resulting", |
| " lifetime is shortened accordingly.", |
| " ", |
| " /NOT-PREAUTH", |
| " Instructs Kermit to send a ticket getting ticket (TGT) request to the", |
| " KDC without any preauthentication data.", |
| " ", |
| " /PASSWORD:<string>", |
| " Allows a password to be included on the command line or in a script", |
| " file. If no /PASSWORD switch is included, you are prompted on a separate" |
| , |
| " line. The password switch is provided on a use-at-your-own-risk basis", |
| " for use in automated scripts. WARNING: Passwords should not be stored in" |
| , |
| " files.", |
| " ", |
| " /PREAUTH", |
| " Instructs Kermit to send a preauthenticated Ticket-Getting Ticket (TGT)", |
| " request to the KDC instead of a plaintext request. The default when", |
| " supported by the Kerberos libraries.", |
| " ", |
| " /REALM:<name>", |
| " Allows a realm to be specified (overriding the default realm).", |
| " ", |
| " <principal>", |
| " Your identity in the given or default Kerberos realm, of the form:", |
| " userid[.instance[.instance]]@[realm] ", |
| " Can be omitted if it is the same as your username or SET LOGIN USERID", |
| " value on the client system.", |
| " ", |
| " The format for Kerberos 5 is as follows:", |
| " ", |
| " AUTH K5 [ /CACHE:<filename> ] { INITIALIZE [ switches ], DESTROY,", |
| " LIST-CREDENTIALS ...}", |
| " ", |
| "The INITIALIZE command for Kerberos 5 can include a number of switches;", |
| "all are optional:", |
| " ", |
| "AUTH K5 [ /CACHE:<filename> ] INITITIALIZE [ /ADDRESSES:<addr-list>", |
| " /FORWARDABLE /KERBEROS4 /LIFETIME:<minutes> /PASSWORD:<password>", |
| " /POSTDATE:<date-time> /PROXIABLE /REALM:<name> /RENEW /RENEWABLE:<minutes>", |
| " /SERVICE:<name> /VALIDATE <principal> ]", |
| " ", |
| " All Kerberos 5 INITIALIZE switches are optional:", |
| " ", |
| " /ADDRESSES:{list of ip-addresses}", |
| " Specifies a list of IP addresses that should be placed in the Ticket", |
| " Getting Ticket in addition to the local machine addresses.", |
| " ", |
| " /FORWARDABLE", |
| " Requests forwardable tickets.", |
| " ", |
| " /INSTANCE:<name>", |
| " Allows an Instance (such as a hostname) to be specified.", |
| " ", |
| " /KERBEROS4", |
| " Instructs Kermit to get Kerberos 4 tickets in addition to Kerberos 5", |
| " tickets. If Kerberos 5 tickets are not supported by the server, a", |
| " mild warning is printed and Kerberos 4 tickets are requested.", |
| " ", |
| " /LIFETIME:<number>", |
| " Specifies the requested lifetime in minutes for the ticket. If no", |
| " lifetime is specified, 600 minutes is used. If the lifetime is greater", |
| " than the maximum supported by the ticket granting service, the resulting", |
| " lifetime is shortened.", |
| " ", |
| " /NO-KERBEROS4", |
| " Instructs Kermit to not attempt to retrieve Kerberos 4 credentials.", |
| " ", |
| " /NOT-FORWARDABLE", |
| " Requests non-forwardable tickets.", |
| " ", |
| " /NOT-PROXIABLE", |
| " Requests non-proxiable tickets.", |
| " ", |
| " /PASSWORD:<string>", |
| " Allows a password to be included on the command line or in a script", |
| " file. If no /PASSWORD switch is included, you are prompted on a separate" |
| , |
| " line. The password switch is provided on a use-at-your-own-risk basis", |
| " for use in automated scripts. WARNING: Passwords should not be stored in" |
| , |
| " files.", |
| " ", |
| " /POSTDATE:<date-time>", |
| " Requests a postdated ticket, valid starting at <date-time>. Postdated", |
| " tickets are issued with the invalid flag set, and need to be fed back to", |
| " the KDC before use with the /VALIDATE switch. Type HELP DATE for info", |
| " on date-time formats.", |
| " ", |
| " /PROXIABLE", |
| " Requests proxiable tickets.", |
| " ", |
| " /REALM:<string>", |
| " Allows an alternative realm to be specified.", |
| " ", |
| " /RENEW", |
| " Requests renewal of a renewable Ticket-Granting Ticket. Note that ", |
| " an expired ticket cannot be renewed even if it is within its renewable ", |
| " lifetime.", |
| " ", |
| " /RENEWABLE:<number>", |
| " Requests renewable tickets, with a total lifetime of <number> minutes.", |
| " ", |
| " /SERVICE:<string>", |
| " Allows a service other than the ticket granting service to be specified.", |
| " ", |
| " /VALIDATE", |
| " Requests that the Ticket Granting Ticket in the cache (with the invalid", |
| " flag set) be passed to the KDC for validation. If the ticket is within", |
| " its requested time range, the cache is replaced with the validated", |
| " ticket.", |
| " ", |
| " <principal>", |
| " Your identity in the given or default Kerberos realm, of the form:", |
| " userid[/instance][@realm] ", |
| " Can be omitted if it is the same as your username or SET LOGIN USERID", |
| " value on the client system.", |
| " ", |
| " Note: Kerberos 5 always attempts to retrieve a Ticket-Getting Ticket (TGT)", |
| " using the preauthenticated TGT request.", |
| " ", |
| " AUTHORIZE K5 LIST-CREDENTIALS [ /ADDRESSES /FLAGS /ENCRYPTION ]", |
| " ", |
| " Shows start time, expiration time, service or principal name, plus", |
| " the following additional information depending the switches:", |
| " ", |
| " /ADDRESSES displays the hostnames and/or IP addresses embedded within", |
| " the tickets.", |
| " ", |
| " /FLAGS provides the following information (if applicable) for each ticket:", |
| " F - Ticket is Forwardable", |
| " f - Ticket was Forwarded", |
| " P - Ticket is Proxiable", |
| " p - Ticket is a Proxy", |
| " D - Ticket may be Postdated", |
| " d - Ticket has been Postdated", |
| " i - Ticket is Invalid", |
| " R - Ticket is Renewable", |
| " I - Ticket is the Initial Ticket", |
| " H - Ticket has been authenticated by Hardware", |
| " A - Ticket has been Pre-authenticated", |
| " ", |
| " /ENCRYPTION displays the encryption used by each ticket (if applicable):", |
| " DES-CBC-CRC", |
| " DES-CBC-MD4", |
| " DES-CBC-MD5", |
| " DES3-CBC-SHA", |
| "" |
| }; |
| #endif /* CK_KERBEROS */ |
| |
| #ifndef NOCSETS |
| static char *hmxxassoc[] = { |
| "ASSOCIATE FILE-CHARACTER-SET <file-character-set> <transfer-character-set>", |
| " Tells C-Kermit that whenever the given file-character set is selected, and", |
| " SEND CHARACTER-SET (q.v.) is AUTOMATIC, the given transfer character-set", |
| " is selected automatically.", |
| " ", |
| "ASSOCIATE XFER-CHARACTER-SET <xfer-character-set> <file-character-set>", |
| " Tells C-Kermit that whenever the given transfer-character set is selected,", |
| " either by command or by an announcer attached to an incoming text file,", |
| " and SEND CHARACTER-SET is AUTOMATIC, the specified file character-set is", |
| " to be selected automatically. Synonym: ASSOCIATE TRANSFER-CHARACTER-SET.", |
| " ", |
| "Use SHOW ASSOCIATIONS to list the current character-set associations, and", |
| "SHOW CHARACTER-SETS to list the current settings.", |
| "" |
| }; |
| #endif /* NOCSETS */ |
| |
| static char *hmxxpat[] = { |
| "A \"pattern\" is notation used in a search string when searching through", |
| "text. C-Kermit uses three kinds of patterns: floating patterns, anchored", |
| "patterns, and wildcards. Wildcards are anchored patterns that are used to", |
| "match file names; type HELP WILDCARD to learn about them.", |
| " ", |
| "In a pattern, certain characters are special:", |
| " ", |
| "* Matches any sequence of zero or more characters. For example, \"k*t\"", |
| " matches all strings that start with \"k\" and end with \"t\" including", |
| " \"kt\", \"kit\", \"knight\", or \"kermit\".", |
| " ", |
| #ifdef VMS |
| "% Matches any single character. For example, \"k%%%%t\" matches all strings", |
| #else |
| "? Matches any single character. For example, \"k????t\" matches all strings", |
| #endif /* VMS */ |
| " that are exactly 6 characters long and start with \"k\" and end with", |
| #ifdef VMS |
| " with \"t\".", |
| #else |
| " with \"t\". When typing commands at the prompt, you must precede any", |
| " question mark to be used for matching by a backslash (\\) to override the", |
| " normal function of question mark, which is providing menus and file lists.", |
| #endif /* VMS */ |
| " ", |
| #ifdef OS2ORUNIX |
| #ifdef CKREGEX |
| "[abc]", |
| " Square brackets enclosing a list of characters matches any character in", |
| " the list. Example: h[aou]t matches hat, hot, and hut.", |
| " ", |
| "[a-z]", |
| " Square brackets enclosing a range of characters matches any character in", |
| " the range; a hyphen (-) separates the low and high elements of the range.", |
| " For example, [a-z] matches any character from a to z.", |
| " ", |
| "[acdm-z]", |
| " Lists and ranges may be combined. This example matches a, c, d, or any", |
| " letter from m through z.", |
| " ", |
| "{string1,string2,...}", |
| " Braces enclose a list of strings to be matched. For example:", |
| " ker{mit,nel,beros} matches kermit, kernel, and kerberos. The strings", |
| " may themselves contain *, ?, [abc], [a-z], or other lists of strings.", |
| #endif /* CKREGEX */ |
| #endif /* OS2ORUNIX */ |
| #ifndef NOSPL |
| " ", |
| "To force a special pattern character to be taken literally, precede it with", |
| "a backslash, e.g. [a\\-z] matches a, hyphen, and z rather than a through z.", |
| " ", |
| "A floating pattern can also include the following special characters:", |
| " ", |
| "^ (First character of pattern) Anchors the pattern at the beginning.", |
| "$ (Last character of pattern) Anchors the pattern at the end.", |
| " ", |
| "If a floating pattern does not start with \"^\", the pattern can match", |
| "anywhere in the string instead of only at the beginning; in other words, a", |
| "leading \"*\" is assumed. Similarly, if the pattern doesn't end with \"$\",", |
| "a trailing \"*\" is assumed.", |
| " ", |
| "The following commands and functions use floating patterns:", |
| " GREP [ <switches> ] <pattern> <filespec>", |
| " TYPE /MATCH:<pattern> <file>", |
| " \\farraylook(<pattern>,<arrayname>)", |
| " \\fsearch(<pattern>,<string>[,<offset>])", |
| " \\frsearch(<pattern>,<string>[,<offset>])", |
| " The /EXCEPT: clause in SEND, GET, DELETE, etc.", |
| " ", |
| "Example:", |
| " \\fsearch(abc,xxabcxxx) succeeds because xxabcxx contains abc.", |
| " \\fsearch(^abc,xxabcxx) fails because xxabcxx does not start with abc.", |
| " ", |
| "All other commands and functions that use patterns use anchored patterns,", |
| "meaning that ^ and $ are not treated specially, and * is not assumed at the", |
| "beginning or end of the pattern. This is true mainly of filename patterns", |
| "(wildcards), since you would not want a command like \"delete x\" to delete", |
| "all files whose names contained \"x\"!", |
| " ", |
| "You can use anchored patterns not only in filenames, but also in SWITCH", |
| "case labels, in the INPUT and MINPUT commands, and in file binary- and", |
| "text-patterns for filenames. The IF MATCH pattern is also anchored.", |
| #endif /* NOSPL */ |
| "" }; |
| |
| static char *hmxxwild[] = { |
| |
| "A \"wildcard\" is a notation used in a filename to match multiple files.", |
| "For example, in \"send *.txt\" the asterisk is a wildcard. Kermit commands", |
| "that accept filenames also accepts wildcards, except commands that are", |
| "allowed to operate on only one file, such as TRANSMIT.", |
| "This version of Kermit accepts the following wildcards:", |
| " ", |
| "* Matches any sequence of zero or more characters. For example, \"ck*.c\"", |
| " matches all files whose names start with \"ck\" and end with \".c\"", |
| " including \"ck.c\".", |
| " ", |
| #ifdef VMS |
| "% Matches any single character. For example, \"ck%.c\" matches all files", |
| #else |
| "? Matches any single character. For example, \"ck?.c\" matches all files", |
| #endif /* VMS */ |
| " whose names are exactly 5 characters long and start with \"ck\" and end", |
| #ifdef VMS |
| " with \".c\".", |
| #else |
| " with \".c\". When typing commands at the prompt, you must precede any", |
| " question mark to be used for matching by a backslash (\\) to override the", |
| " normal function of question mark, which is providing menus and file lists.", |
| #endif /* VMS */ |
| " ", |
| #ifdef OS2ORUNIX |
| #ifdef CKREGEX |
| "[abc]", |
| " Square brackets enclosing a list of characters matches any character in", |
| " the list. Example: ckuusr.[ch] matches ckuusr.c and ckuusr.h.", |
| " ", |
| "[a-z]", |
| " Square brackets enclosing a range of characters matches any character in", |
| " the range; a hyphen (-) separates the low and high elements of the range.", |
| " For example, [a-z] matches any character from a to z.", |
| " ", |
| "[acdm-z]", |
| " Lists and ranges may be combined. This example matches a, c, d, or any", |
| " letter from m through z.", |
| " ", |
| "{string1,string2,...}", |
| " Braces enclose a list of strings to be matched. For example:", |
| " ck{ufio,vcon,cmai}.c matches ckufio.c, ckvcon.c, or ckcmai.c. The strings", |
| " may themselves contain *, ?, [abc], [a-z], or other lists of strings.", |
| #endif /* CKREGEX */ |
| #endif /* OS2ORUNIX */ |
| " ", |
| "To force a special pattern character to be taken literally, precede it with", |
| "a backslash, e.g. [a\\-z] matches a, hyphen, and z rather than a through z.", |
| " ", |
| #ifndef NOSPL |
| "Similar notation can be used in general-purpose string matching. Type HELP", |
| "PATTERNS for details. Also see HELP SET MATCH.", |
| #endif /* NOSPL */ |
| "" }; |
| |
| #ifndef NOXFER |
| static char *hmxxfast[] = { |
| "FAST, CAUTIOUS, and ROBUST are predefined macros that set several", |
| "file-transfer parameters at once to achieve the desired file-transfer goal.", |
| "FAST chooses a large packet size, a large window size, and a fair amount of", |
| "control-character unprefixing at the risk of possible failure on some", |
| "connections. FAST is the default tuning in C-Kermit 7.0 and later. In case", |
| "FAST file transfers fail for you on a particular connection, try CAUTIOUS.", |
| "If that fails too, try ROBUST. You can also change the definitions of each", |
| "macro with the DEFINE command. To see the current definitions, type", |
| "\"show macro fast\", \"show macro cautious\", or \"show macro robust\".", |
| "" |
| }; |
| #endif /* NOXFER */ |
| |
| #ifdef VMS |
| static char * hmxxpurge[] = { |
| "Syntax: PURGE [ switches ] [ filespec ]", |
| " Runs the DCL PURGE command. Switches and filespec are not parsed or", |
| " verified by Kermit, but passed directly to DCL.", |
| "" |
| }; |
| #else |
| #ifdef CKPURGE |
| static char * hmxxpurge[] = { |
| "Syntax: PURGE [ switches ] [ filespec ]", |
| " Deletes backup files; that is, files whose names end in \".~n~\", where", |
| " n is a number. PURGE by itself deletes all backup files in the current", |
| " directory. Switches:", |
| |
| " ", |
| "/AFTER:date-time", |
| #ifdef VMS |
| " Specifies that only those files created after the given date-time are", |
| #else |
| " Specifies that only those files modified after the given date-time are", |
| #endif /* VMS */ |
| " to be purged. HELP DATE for info about date-time formats.", |
| " ", |
| "/BEFORE:date-time", |
| #ifdef VMS |
| " Specifies that only those files modified before the given date-time", |
| #else |
| " Specifies that only those files modified before the given date-time", |
| #endif /* VMS */ |
| " are to be purged.", |
| " ", |
| "/NOT-AFTER:date-time", |
| #ifdef VMS |
| " Specifies that only those files modified at or before the given date-time", |
| #else |
| " Specifies that only those files modified at or before the given date-time", |
| #endif /* VMS */ |
| " are to be purged.", |
| " ", |
| "/NOT-BEFORE:date-time", |
| #ifdef VMS |
| " Specifies that only those files modified at or after the given date-time", |
| #else |
| " Specifies that only those files modified at or after the given date-time", |
| #endif /* VMS */ |
| " are to be purged.", |
| " ", |
| "/LARGER-THAN:number", |
| " Specifies that only those files longer than the given number of bytes are", |
| " to be purged.", |
| " ", |
| "/SMALLER-THAN:number", |
| " Specifies that only those files smaller than the given number of bytes are", |
| " to be purged.", |
| " ", |
| "/EXCEPT:pattern", |
| " Specifies that any files whose names match the pattern, which can be a", |
| " regular filename or may contain wildcards, are not to be purged. To", |
| " specify multiple patterns (up to 8), use outer braces around the group", |
| " and inner braces around each pattern:", |
| " ", |
| " /EXCEPT:{{pattern1}{pattern2}...}", |
| " ", |
| #ifdef UNIXOROSK |
| "/DOTFILES", |
| " Include (purge) files whose names begin with \".\".", |
| " ", |
| "/NODOTFILES", |
| " Skip (don't purge) files whose names begin with \".\".", |
| " ", |
| #endif /* UNIXOROSK */ |
| #ifdef RECURSIVE |
| "/RECURSIVE", |
| " Descends through the current or specified directory tree.", |
| " ", |
| #endif /* RECURSIVE */ |
| "/KEEP:n", |
| " Retain the 'n' most recent (highest-numbered) backup files for each file.", |
| " By default, none are kept. If /KEEP is given without a number, 1 is used.", |
| " ", |
| "/LIST", |
| " Display each file as it is processed and say whether it is purged or kept.", |
| " Synonyms: /LOG, /VERBOSE.", |
| " ", |
| "/NOLIST", |
| " The PURGE command should operate silently (default).", |
| " Synonyms: /NOLOG, /QUIET.", |
| " ", |
| "/HEADING", |
| " Print heading and summary information.", |
| " ", |
| "/NOHEADING", |
| " Don't print heading and summary information.", |
| " ", |
| "/PAGE", |
| " When /LIST is in effect, pause at the end of each screenful, even if", |
| " COMMAND MORE-PROMPTING is OFF.", |
| " ", |
| "/NOPAGE", |
| " Don't pause, even if COMMAND MORE-PROMPTING is ON.", |
| " ", |
| "/ASK", |
| " Interactively ask permission to delete each backup file.", |
| " ", |
| "/NOASK", |
| " Purge backup files without asking permission.", |
| " ", |
| "/SIMULATE", |
| " Inhibits the actual deletion of files; use to preview which files would", |
| " actually be deleted. Implies /LIST.", |
| " ", |
| "Use SET OPTIONS PURGE [ switches ] to change defaults; use SHOW OPTIONS to", |
| "display customized defaults. Also see HELP DELETE, HELP WILDCARD.", |
| "" |
| }; |
| #endif /* CKPURGE */ |
| #endif /* VMS */ |
| |
| static char *hmxxclo[] = { |
| "Syntax: CLOSE [ item ]", |
| " Close the indicated item. The default item is CONNECTION, which is the", |
| " current SET LINE or SET HOST connection. The other items are:", |
| " ", |
| #ifdef CKLOGDIAL |
| " CX-LOG (connection log, opened with LOG CX)", |
| #endif /* CKLOGDIAL */ |
| #ifndef NOLOCAL |
| " SESSION-LOG (opened with LOG SESSION)", |
| #endif /* NOLOCAL */ |
| #ifdef TLOG |
| " TRANSACTION-LOG (opened with LOG TRANSACTIONS)", |
| #endif /* TLOG */ |
| " PACKET-LOG (opened with LOG PACKETS)", |
| #ifdef DEBUG |
| " DEBUG-LOG (opened with LOG DEBUG)", |
| #endif /* DEBUG */ |
| #ifndef NOSPL |
| " READ-FILE (opened with OPEN READ)", |
| " WRITE-FILE (opened with OPEN WRITE or OPEN APPEND)", |
| #endif /* NOSPL */ |
| " ", |
| "Type HELP LOG and HELP OPEN for further info.", |
| "" |
| }; |
| |
| #ifdef CKLEARN |
| static char * hmxxlearn[] = { |
| "Syntax: LEARN [ /ON /OFF /CLOSE ] [ filename ]", |
| " Records a login script. If you give a filename, the file is opened for", |
| " subsequent recording. If you don't give any switches, /ON is assumed.", |
| " /ON enables recording to the current file (if any); /OFF disables", |
| " recording. /CLOSE closes the current file (if any). After LEARN /CLOSE", |
| " or exit from Kermit, your script is available for execution by the TAKE", |
| " command.", |
| "" |
| }; |
| #endif /* CKLEARN */ |
| |
| #ifdef CK_MINPUT |
| static char *hmxxminp[] = { |
| "Syntax: MINPUT n [ string1 [ string2 [ ... ] ] ]", |
| "Example: MINPUT 5 Login: {Username: } {NO CARRIER} BUSY RING", |
| " For use in script programs. Waits up to n seconds for any one of the", |
| " strings to arrive on the communication device. If no strings are given,", |
| " the command waits for any character at all to arrive. Strings are", |
| " separated by spaces; use { braces } for grouping. If any of the strings", |
| " is encountered within the timeout interval, the command succeeds and the", |
| " \\v(minput) variable is set to the number of the string that was matched:", |
| " 1, 2, 3, etc. If none of the strings arrives, the command times out,", |
| " fails, and \\v(minput) is set to 0. If the timeout interval is 0 the", |
| " MINPUT command does not wait; i.e. the given text must already be", |
| " available for reading for the MINPUT command to succeed. If the interval", |
| " is negative, the MINPUT command waits forever.", |
| " ", |
| "Also see: INPUT, REINPUT, SET INPUT.", |
| "" }; |
| #endif /* CK_MINPUT */ |
| |
| #ifndef NOLOCAL |
| static char *hmxxcon[] = { |
| "Syntax: CONNECT (or C, or CQ) [ switches ]", |
| " Connect to a remote computer via the serial communications device given in", |
| #ifdef OS2 |
| " the most recent SET PORT command, or to the network host named in the most", |
| #else |
| " the most recent SET LINE command, or to the network host named in the most", |
| #endif /* OS2 */ |
| " recent SET HOST command. Type the escape character followed by C to get", |
| " back to the C-Kermit prompt, or followed by ? for a list of CONNECT-mode", |
| #ifdef OS2 |
| " escape commands. You can also assign the \\Kexit verb to the key or", |
| " key-combination of your choice; by default it is assigned to Alt-x.", |
| #else |
| " escape commands.", |
| " ", |
| "Include the /QUIETLY switch to suppress the informational message that", |
| "tells you how to escape back, etc. CQ is a synonym for CONNECT /QUIETLY.", |
| #endif /* OS2 */ |
| " ", |
| "Other switches include:", |
| #ifdef CK_TRIGGER |
| " ", |
| "/TRIGGER:string", |
| " One or more strings to look for that will cause automatic return to", |
| " command mode. To specify one string, just put it right after the", |
| " colon, e.g. \"/TRIGGER:Goodbye\". If the string contains any spaces, you", |
| " must enclose it in braces, e.g. \"/TRIGGER:{READY TO SEND...}\". To", |
| " specify more than one trigger, use the following format:", |
| " ", |
| " /TRIGGER:{{string1}{string2}...{stringn}}", |
| " ", |
| " Upon return from CONNECT mode, the variable \\v(trigger) is set to the", |
| " trigger string, if any, that was actually encountered. This value, like", |
| " all other CONNECT switches applies only to the CONNECT command with which", |
| " it is given, and overrides (temporarily) any global SET TERMINAL TRIGGER", |
| " string that might be in effect.", |
| #endif /* CK_TRIGGER */ |
| #ifdef OS2 |
| " ", |
| "/IDLE-LIMIT:number", |
| " The number of seconds of idle time, after which Kermit returns", |
| " automatically to command mode; default 0 (no limit).", |
| " ", |
| "/IDLE-INTERVAL:number", |
| " The number of seconds of idle time, after which Kermit automatically", |
| " transmits the idle string.", |
| " ", |
| "/IDLE-STRING:string", |
| " The string to transmit whenever the idle interval has passed.", |
| " ", |
| "/TIME-LIMIT:number", |
| " The maximum number of seconds for which the CONNECT session may last.", |
| " The default is 0 (no limit). If a nonzero number is given, Kermit returns", |
| " automatically to command mode after this many seconds.", |
| #endif /* OS2 */ |
| "" }; |
| #endif /* NOLOCAL */ |
| |
| static char *hmxxmget[] = { |
| "Syntax: MGET [ switches... ] remote-filespec [ remote-filespec ... ]", |
| " ", |
| "Just like GET (q.v.) except allows a list of remote file specifications,", |
| "separated by spaces.", |
| "" |
| }; |
| |
| static char *hmxxget[] = { |
| "Syntax: GET [ switches... ] remote-filespec [ as-name ]", |
| " Tells the other Kermit, which must be in (or support autoswitching into)", |
| " server mode, to send the named file or files. If the remote-filespec or", |
| " the as-name contain spaces, they must be enclosed in braces. If as-name", |
| " is the name of an existing local directory, incoming files are placed in", |
| " that directory; if it is the name of directory that does not exist, Kermit", |
| " tries to create it. Optional switches include:", |
| " ", |
| "/AS-NAME:text", |
| " Specifies \"text\" as the name to store the incoming file under, or", |
| " directory to store it in. You can also specify the as-name as the second", |
| " filename on the GET command line.", |
| " ", |
| "/BINARY", |
| " Performs this transfer in binary mode without affecting the global", |
| " transfer mode.", |
| " ", |
| "/COMMAND", |
| " Receives the file into the standard input of a command, rather than saving", |
| " it on disk. The /AS-NAME or the second \"filename\" on the GET command", |
| " line is interpreted as the name of a command.", |
| " ", |
| "/DELETE", |
| " Asks the other Kermit to delete the file (or each file in the group)", |
| " after it has been transferred successfully.", |
| " ", |
| "/EXCEPT:pattern", |
| " Specifies that any files whose names match the pattern, which can be a", |
| " regular filename, or may contain \"*\" and/or \"?\" metacharacters,", |
| " are to be refused. To specify multiple patterns (up to 8), use outer", |
| " braces around the group, and inner braces around each pattern:", |
| " ", |
| " /EXCEPT:{{pattern1}{pattern2}...}", |
| " ", |
| "/FILENAMES:{CONVERTED,LITERAL}", |
| " Overrides the global SET FILE NAMES setting for this transfer only.", |
| " ", |
| "/FILTER:command", |
| " Causes the incoming file to passed through the given command (standard", |
| " input/output filter) before being written to disk.", |
| " ", |
| #ifdef VMS |
| "/IMAGE", |
| " Transfer in image mode.", |
| " ", |
| #endif /* VMS */ |
| #ifdef CK_LABELED |
| "/LABELED", |
| " VMS and OS/2 only: Specifies labeled transfer mode.", |
| " ", |
| #endif /* CK_LABELED */ |
| |
| "/MOVE-TO:directory-name", |
| " Specifies that each file that arrives should be moved to the specified", |
| " directory after, and only if, it has been received successfully.", |
| " ", |
| "/PATHNAMES:{OFF,ABSOLUTE,RELATIVE,AUTO}", |
| " Overrides the global SET RECEIVE PATHNAMES setting for this transfer.", |
| " ", |
| "/PIPES:{ON,OFF}", |
| " Overrides the TRANSFER PIPES setting for this command only. ON allows", |
| " reception of files with names like \"!tar xf -\" to be automatically", |
| " directed to a pipeline.", |
| " ", |
| "/QUIET", |
| " When sending in local mode, this suppresses the file-transfer display.", |
| " ", |
| "/RECOVER", |
| " Used to recover from a previously interrupted transfer; GET /RECOVER", |
| " is equivalent REGET. Works only in binary mode.", |
| " ", |
| "/RECURSIVE", |
| " Tells the server to descend through the directory tree when locating", |
| " the files to be sent.", |
| " ", |
| "/RENAME-TO:string", |
| " Specifies that each file that arrives should be renamed as specified", |
| " after, and only if, it has been received successfully. The string should", |
| " normally contain variables like \\v(filename) or \\v(filenum).", |
| " ", |
| "/TEXT", |
| " Performs this transfer in text mode without affecting the global", |
| " transfer mode.", |
| " ", |
| "/TRANSPARENT", |
| " Inhibits character-set translation of incoming text files for the duration", |
| " of the GET command without affecting subsequent commands.", |
| " ", |
| "Also see HELP MGET, HELP SEND, HELP RECEIVE, HELP SERVER, HELP REMOTE.", |
| ""}; |
| |
| static char *hmxxlg[] = { |
| "Syntax: LOG (or L) log-type [ filename [ { NEW, APPEND } ] ]", |
| " ", |
| "Record information in a log file:", |
| " ", |
| #ifdef CKLOGDIAL |
| "CX", |
| " Connections made with SET LINE, SET PORT, SET HOST, DIAL, TELNET, etc.", |
| " The default filename is CX.LOG in your home directory and APPEND is the", |
| " default mode for opening.", |
| " ", |
| #endif /* CKLOGDIAL */ |
| #ifdef DEBUG |
| "DEBUG", |
| " Debugging information, to help track down bugs in the C-Kermit program.", |
| " The default log name is debug.log in current directory.", |
| " ", |
| #endif /* DEBUG */ |
| "PACKETS", |
| " Kermit packets, to help with protocol problems. The default filename is", |
| " packet.log in current directory.", |
| " ", |
| #ifndef NOLOCAL |
| "SESSION", |
| " Records your CONNECT session (default: session.log in current directory).", |
| " ", |
| #endif /* NOLOCAL */ |
| #ifdef TLOG |
| "TRANSACTIONS", |
| " Names and statistics about files transferred (default: transact.log in", |
| " current directory; see HELP SET TRANSACTION-LOG for transaction-log format", |
| " options.)", |
| " ", |
| #endif /* TLOG */ |
| "If you include the APPEND keyword after the filename, the existing log file,", |
| "if any, is appended to; otherwise a new file is created (except APPEND is", |
| "the default for the connection log). Use CLOSE <keyword> to stop logging.", |
| #ifdef OS2ORUNIX |
| " ", |
| "Note: The filename can also be a pipe, e.g.:", |
| " ", |
| " log transactions |lpr", |
| " log debug {| grep \"^TELNET\" > debug.log}", |
| " ", |
| "Braces are required if the pipeline or filename contains spaces.", |
| #endif /* OS2ORUNIX */ |
| "" }; |
| |
| #ifndef NOSCRIPT |
| static char *hmxxlogi[] = { "\ |
| Syntax: SCRIPT text", |
| " A limited and cryptic \"login assistant\", carried over from old C-Kermit", |
| " releases for comptability, but not recommended for use. Instead, please", |
| " use the full script programming language described in chapters 17-19 of", |
| " \"Using C-Kermit\".", |
| " ", |
| " Login to a remote system using the text provided. The login script", |
| " is intended to operate similarly to UNIX uucp \"L.sys\" entries.", |
| " A login script is a sequence of the form:", |
| " ", |
| " expect send [expect send] . . .", |
| " ", |
| " where 'expect' is a prompt or message to be issued by the remote site, and", |
| " 'send' is the names, numbers, etc, to return. The send may also be the", |
| " keyword EOT to send Control-D, or BREAK (or \\\\b) to send a break signal.", |
| " Letters in send may be prefixed by ~ to send special characters:", |
| " ", |
| " ~b backspace, ~s space, ~q '?', ~n linefeed, ~r return, ~c don\'t", |
| " append a return, and ~o[o[o]] for octal of a character. As with some", |
| " UUCP systems, sent strings are followed by ~r unless they end with ~c.", |
| " ", |
| " Only the last 7 characters in each expect are matched. A null expect,", |
| " e.g. ~0 or two adjacent dashes, causes a short delay. If you expect", |
| " that a sequence might not arrive, as with uucp, conditional sequences", |
| " may be expressed in the form:", |
| " ", |
| " -send-expect[-send-expect[...]]", |
| " ", |
| " where dashed sequences are followed as long as previous expects fail.", |
| "" }; |
| #endif /* NOSCRIPT */ |
| |
| #ifndef NOFRILLS |
| static char * hmxxtyp[] = { |
| "Syntax: TYPE [ switches... ] file", |
| " Displays a file on the screen. Pauses automatically at end of each", |
| " screenful if COMMAND MORE-PROMPTING is ON. Optional switches:", |
| " ", |
| " /PAGE", |
| " Pause at the end of each screenful even if COMMAND MORE-PROMPTING OFF.", |
| " Synonym: /MORE", |
| " /NOPAGE", |
| " Don't pause at the end of each screen even if COMMAND MORE-PROMPTING ON." |
| , |
| " /HEAD:n", |
| " Only type the first 'n' lines of the file.", |
| " /TAIL:n", |
| " Only type the last 'n' lines of the file.", |
| " /MATCH:pattern", |
| " Only type lines that match the given pattern. HELP WILDCARDS for info", |
| " info about patterns. /HEAD and /TAIL apply after /MATCH.", |
| " /PREFIX:string", |
| " Print the given string at the beginning of each line.", |
| " /NUMBER", |
| " Add line numbers (conflicts with /PREFIX)", |
| " /WIDTH:number", |
| " Truncate each line at the given column number before printing.", |
| #ifdef KUI |
| " Or when combined with /GUI specifies the width of the dialog box.", |
| " /HEIGHT:number", |
| " When combined with /GUI specifies the height of the dialog box.", |
| " /GUI:string", |
| " Specifies the title to use for the dialog box.", |
| #endif /* KUI */ |
| " /COUNT", |
| " Count lines (and matches) and print the count(s) but not the lines.", |
| #ifdef UNICODE |
| " /CHARACTER-SET:name", |
| " Translates from the named character set.", |
| #ifndef OS2 |
| " /TRANSLATE-TO:name", |
| " Translates to the named character set (default = current file charset).", |
| #endif /* OS2 */ |
| " /TRANSPARENT", |
| " Inhibits character-set translation.", |
| #endif /* UNICODE */ |
| " /OUTPUT:name", |
| " Sends results to the given file. If this switch is omitted, the", |
| " results appear on your screen. This switch overrides any express or", |
| " implied /PAGE switch.", |
| " ", |
| "You can use SET OPTIONS TYPE to set the defaults for /PAGE or /NOPAGE and", |
| "/WIDTH. Use SHOW OPTIONS to see current TYPE options.", |
| "" |
| }; |
| |
| static char * hmxxcle[] = { |
| "Syntax: CLEAR [ item-name ]", |
| " ", |
| "Clears the named item. If no item is named, DEVICE-AND-INPUT is assumed.", |
| " ", |
| " ALARM Clears any pending alarm (see SET ALARM).", |
| #ifdef CK_APC |
| " APC-STATUS Clears Application Program Command status.", |
| #endif /* CK_APC */ |
| #ifdef PATTERNS |
| " BINARY-PATTERNS Clears the file binary-patterns list.", |
| #endif /* PATTERNS */ |
| #ifdef OS2 |
| " COMMAND-SCREEN Clears the current command screen.", |
| #endif /* OS2 */ |
| " DEVICE Clears the current port or network input buffer.", |
| " DEVICE-AND-INPUT Clears both the device and the INPUT buffer.", |
| " DIAL-STATUS Clears the \\v(dialstatus) variable.", |
| " \ |
| INPUT Clears the INPUT-command buffer and the \\v(input) variable.", |
| " KEYBOARD-BUFFER Clears the command terminal keyboard input buffer.", |
| #ifdef OS2 |
| " \ |
| SCROLLBACK empties the scrollback buffer including the current screen.", |
| #endif /* OS2 */ |
| " SEND-LIST Clears the current SEND list (see ADD).", |
| #ifdef OS2 |
| " \ |
| TERMINAL-SCREEN Clears the current screen a places it into the scrollback.", |
| " buffer.", |
| #endif /* OS2 */ |
| #ifdef PATTERNS |
| " TEXT-PATTERNS Clears the file text-patterns list.", |
| #endif /* PATTERNS */ |
| ""}; |
| #endif /* NOFRILLS */ |
| |
| static char * hmxxdate[] = { |
| "Syntax: DATE [ date-time [ timezone ] ] [ delta-time ]", |
| " Prints a date-time in standard format: yyyymmdd_hh:mm:ss.", |
| " Various date-time formats are accepted:", |
| " ", |
| " . The date, if given, must precede the time.", |
| " . The year must be four digits or else a 2-digit format dd mmm yy,", |
| " in which case if (yy < 50) yyyy = yy + 2000; else yyyy = yy + 1900.", |
| " . If the year comes first, the second field is the month.", |
| " . The day, month, and year may be separated by spaces, /, -, or underscore." |
| ," . The date and time may be separated by spaces or underscore.", |
| " . The month may be numeric (1 = January) or spelled out or abbreviated in", |
| " English.", |
| " . The time may be in 24-hour format or 12-hour format.", |
| " . If the hour is 12 or less, AM is assumed unless AM or PM is included.", |
| " . If the date is omitted but a time is given, the current date is supplied." |
| , |
| " . If the time is given but date omitted, 00:00:00 is supplied.", |
| " . If both the date and time are omitted, the current date and time are", |
| " supplied.", |
| " ", |
| " The following shortcuts can also be used in place of dates:", |
| " ", |
| " TODAY", |
| " Today's date, optionally followed by a time; 00:00:00 if no time given.", |
| " ", |
| " YESTERDAY", |
| " Yesterday's date, optionally followed by a time (default 00:00:00).", |
| " ", |
| " TOMORROW", |
| " Tomorrows's date, optionally followed by a time (default 00:00:00).", |
| " ", |
| " Timezone specifications are similar to those used in e-mail and HTTP", |
| " headers, either a USA timezone name, e.g. EST or a signed four-digit", |
| " timezone offset, {+,-}hhmm, e.g., -0500; it is used to convert date-time," |
| , |
| " a local time in that timezone, to GMT which is then converted to the", |
| " local time at the host. If no timezone is given, the date-time is local." |
| , |
| " ", |
| " Delta times are given as {+,-}[number date-units][hh[:mm[:ss]]]", |
| " A date in the future/past relative to the date-time; date-units may be", |
| " DAYS, WEEKS, MONTHS, YEARS: +3days, -7weeks, +3:00, +1month 8:00.", |
| " ", |
| "All the formats shown above are acceptable as arguments to date-time switches" |
| , |
| "such as /AFTER: or /BEFORE:, and to functions such as \\fcvtdate(),", |
| "\\fdiffdate(), and \\futcdate(), that take date-time strings as arguments.", |
| "" |
| }; |
| |
| |
| #ifndef NOXFER |
| static char * hmxxsen[] = { |
| "Syntax: SEND (or S) [ switches...] [ filespec [ as-name ] ]", |
| " Sends the file or files specified by filespec. If the filespec is omitted", |
| " the SEND-LIST is used (HELP ADD for more info). The filespec may contain", |
| " wildcard characters. An 'as-name' may be given to specify the name(s)", |
| " the files(s) are sent under; if the as-name is omitted, each file is", |
| " sent under its own name. Also see HELP MSEND, HELP WILDCARD.", |
| " Optional switches include:", |
| " ", |
| #ifndef NOSPL |
| "/ARRAY:<arrayname>", |
| " Specifies that the data to be sent comes from the given array, such as", |
| " \\&a[]. A range may be specified, e.g. SEND /ARRAY:&a[100:199]. Leave", |
| " the brackets empty or omit them altogether to send the whole 1-based array." |
| , |
| " Include /TEXT to have Kermit supply a line terminator at the end of each", |
| " array element (and translate character sets if character-set translations", |
| " are set up), or /BINARY to treat the array as one long string of characters" |
| , |
| " to be sent as-is. If an as-name is not specified, the array is sent with", |
| " the name _ARRAY_X_, where \"X\" is replaced by actual array letter.", |
| " ", |
| #endif /* NOSPL */ |
| |
| "/AS-NAME:<text>", |
| " Specifies <text> as the name to send the file under instead of its real", |
| " name. This is equivalent to giving an as-name after the filespec.", |
| " ", |
| "/BINARY", |
| " Performs this transfer in binary mode without affecting the global", |
| " transfer mode.", |
| " ", |
| "/TEXT", |
| " Performs this transfer in text mode without affecting the global", |
| " transfer mode.", |
| " ", |
| "/TRANSPARENT", |
| " Inhibits character-set translation for text files for the duration of", |
| " the SEND command without affecting subsequent commands.", |
| " ", |
| "/NOBACKUPFILES", |
| " Skip (don't send) Kermit or EMACS backup files (files with names that", |
| " end with .~n~, where n is a number).", |
| " ", |
| #ifdef UNIXOROSK |
| "/DOTFILES", |
| " Include (send) files whose names begin with \".\".", |
| " ", |
| "/NODOTFILES", |
| " Don't send files whose names begin with \".\".", |
| " ", |
| "/FOLLOWLINKS", |
| " Send files that are pointed to by symbolic links.", |
| " ", |
| "/NOFOLLOWLINKS", |
| " Skip over symbolic links (default).", |
| " ", |
| #endif /* UNIXOROSK */ |
| |
| #ifdef VMS |
| "/IMAGE", |
| " Performs this transfer in image mode without affecting the global", |
| " transfer mode.", |
| " ", |
| #endif /* VMS */ |
| #ifdef CK_LABELED |
| "/LABELED", |
| " Performs this transfer in labeled mode without affecting the global", |
| " transfer mode.", |
| " ", |
| #endif /* CK_LABELED */ |
| "/COMMAND", |
| " Sends the output from a command, rather than the contents of a file.", |
| " The first \"filename\" on the SEND command line is interpreted as the name", |
| " of a command; the second (if any) is the as-name.", |
| " ", |
| "/FILENAMES:{CONVERTED,LITERAL}", |
| " Overrides the global SET FILE NAMES setting for this transfer only.", |
| " ", |
| "/PATHNAMES:{OFF,ABSOLUTE,RELATIVE}", |
| " Overrides the global SET SEND PATHNAMES setting for this transfer.", |
| " ", |
| "/FILTER:command", |
| " Specifies a command \ |
| (standard input/output filter) to pass the file through", |
| " before sending it.", |
| " ", |
| "/DELETE", |
| " Deletes the file (or each file in the group) after it has been sent", |
| " successfully (applies only to real files).", |
| " ", |
| "/QUIET", |
| " When sending in local mode, this suppresses the file-transfer display.", |
| " ", |
| "/RECOVER", |
| " Used to recover from a previously interrupted transfer; SEND /RECOVER", |
| " is equivalent RESEND (use in binary mode only).", |
| " ", |
| "/RECURSIVE", |
| " Tells C-Kermit to look not only in the given or current directory for", |
| " files that match the filespec, but also in all its subdirectories, and", |
| " all their subdirectories, etc.", |
| " ", |
| "/RENAME-TO:name", |
| " Tells C-Kermit to rename each source file that is sent successfully to", |
| " the given name (usually you should include \\v(filename) in the new name,", |
| " which is replaced by the original filename.", |
| " ", |
| "/MOVE-TO:directory", |
| " Tells C-Kermit to move each source file that is sent successfully to", |
| " the given directory.", |
| " ", |
| "/STARTING:number", |
| " Starts sending the file from the given byte position.", |
| " SEND /STARTING:n filename is equivalent to PSEND filename n.", |
| " ", |
| "/SUBJECT:text", |
| " Specifies the subject of an email message, to be used with /MAIL. If the", |
| " text contains spaces, it must be enclosed in braces.", |
| " ", |
| "/MAIL:address", |
| " Sends the file as e-mail to the given address; use with /SUBJECT:.", |
| " ", |
| "/PRINT:options", |
| " Sends the file to be printed, with optional options for the printer.", |
| " ", |
| #ifdef CK_XYZ |
| "/PROTOCOL:name", |
| " Uses the given protocol to send the file (Kermit, Zmodem, etc) for this", |
| " transfer without changing global protocol.", |
| " ", |
| #endif /* CK_XYZ */ |
| "/AFTER:date-time", |
| #ifdef VMS |
| " Specifies that only those files created after the given date-time are", |
| #else |
| " Specifies that only those files modified after the given date-time are", |
| #endif /* VMS */ |
| " to be sent. HELP DATE for info about date-time formats.", |
| " ", |
| "/BEFORE:date-time", |
| #ifdef VMS |
| " Specifies that only those files modified before the given date-time", |
| #else |
| " Specifies that only those files modified before the given date-time", |
| #endif /* VMS */ |
| " are to be sent.", |
| " ", |
| "/NOT-AFTER:date-time", |
| #ifdef VMS |
| " Specifies that only those files modified at or before the given date-time", |
| #else |
| " Specifies that only those files modified at or before the given date-time", |
| #endif /* VMS */ |
| " are to be sent.", |
| " ", |
| "/NOT-BEFORE:date-time", |
| #ifdef VMS |
| " Specifies that only those files modified at or after the given date-time", |
| #else |
| " Specifies that only those files modified at or after the given date-time", |
| #endif /* VMS */ |
| " are to be sent.", |
| " ", |
| "/LARGER-THAN:number", |
| " Specifies that only those files longer than the given number of bytes are", |
| " to be sent.", |
| " ", |
| "/SMALLER-THAN:number", |
| " Specifies that only those files smaller than the given number of bytes are", |
| " to be sent.", |
| " ", |
| "/EXCEPT:pattern", |
| " Specifies that any files whose names match the pattern, which can be a", |
| " regular filename, or may contain \"*\" and/or \"?\" metacharacters,", |
| " are not to be sent. To specify multiple patterns (up to 8), use outer", |
| " braces around the group, and inner braces around each pattern:", |
| " ", |
| " /EXCEPT:{{pattern1}{pattern2}...}", |
| " ", |
| "/TYPE:{ALL,TEXT,BINARY}", |
| " Send only files of the given type (see SET FILE SCAN).", |
| " ", |
| "/LISTFILE:filename", |
| " Specifies the name of a file that contains the list of names of files", |
| " that are to be sent. The filenames should be listed one name per line", |
| " in this file (but a name can contain wildcards).", |
| " ", |
| "Also see HELP RECEIVE, HELP GET, HELP SERVER, HELP REMOTE.", |
| ""}; |
| |
| static char *hmxxrc[] = { |
| "Syntax: RECEIVE (or R) [ switches... ] [ as-name ]", |
| " Wait for a file to arrive from the other Kermit, which must be given a", |
| " SEND command. If the optional as-name is given, the incoming file or", |
| " files are stored under that name, otherwise it will be stored under", |
| #ifndef CK_TMPDIR |
| " the name it arrives with.", |
| #else |
| #ifdef OS2 |
| " the name it arrives with. If the filespec denotes a disk and/or", |
| " directory, the incoming file or files will be stored there.", |
| #else |
| " the name it arrives with. If the filespec denotes a directory, the", |
| " incoming file or files will be placed in that directory.", |
| #endif /* OS2 */ |
| #endif /* CK_TMPDIR */ |
| " ", |
| "Optional switches include:", |
| " ", |
| "/AS-NAME:text", |
| " Specifies \"text\" as the name to store the incoming file under.", |
| " You can also specify the as-name as a filename on the command line.", |
| " ", |
| "/BINARY", |
| " Skips text-mode conversions unless the incoming file arrives with binary", |
| " attribute", |
| " ", |
| "/COMMAND", |
| " Receives the file into the standard input of a command, rather than saving", |
| " it on disk. The /AS-NAME or the \"filename\" on the RECEIVE command line", |
| " is interpreted as the name of a command.", |
| " ", |
| "/EXCEPT:pattern", |
| " Specifies that any files whose names match the pattern, which can be a", |
| " regular filename, or may contain \"*\" and/or \"?\" metacharacters,", |
| " are to be refused. To specify multiple patterns (up to 8), use outer", |
| " braces around the group, and inner braces around each pattern:", |
| " ", |
| " /EXCEPT:{{pattern1}{pattern2}...}", |
| " ", |
| "/FILENAMES:{CONVERTED,LITERAL}", |
| " Overrides the global SET FILE NAMES setting for this transfer only.", |
| " ", |
| "/FILTER:command", |
| " Causes the incoming file to passed through the given command (standard", |
| " input/output filter) before being written to disk.", |
| " ", |
| #ifdef VMS |
| "/IMAGE", |
| " Receives the file in image mode.", |
| " ", |
| #endif /* VMS */ |
| #ifdef CK_LABELED |
| "/LABELED", |
| " Specifies labeled transfer mode.", |
| " ", |
| #endif /* CK_LABELED */ |
| |
| "/MOVE-TO:directory-name", |
| " Specifies that each file that arrives should be moved to the specified", |
| " directory after, and only if, it has been received successfully.", |
| " ", |
| "/PATHNAMES:{OFF,ABSOLUTE,RELATIVE,AUTO}", |
| " Overrides the global SET RECEIVE PATHNAMES setting for this transfer.", |
| " ", |
| "/PIPES:{ON,OFF}", |
| " Overrides the TRANSFER PIPES setting for this command only. ON allows", |
| " reception of files with names like \"!tar xf -\" to be automatically", |
| " directed to a pipeline.", |
| " ", |
| "/PROTOCOL:name", |
| " Use the given protocol to receive the incoming file(s).", |
| " ", |
| "/QUIET", |
| " When sending in local mode, this suppresses the file-transfer display.", |
| " ", |
| "/RECURSIVE", |
| " Equivalent to /PATHNAMES:RELATIVE.", |
| " ", |
| "/RENAME-TO:string", |
| " Specifies that each file that arrives should be renamed as specified", |
| " after, and only if, it has been received successfully. The string should", |
| " normally contain variables like \\v(filename) or \\v(filenum).", |
| " ", |
| "/TEXT", |
| " Forces text-mode conversions unless the incoming file has the binary", |
| " attribute", |
| " ", |
| "/TRANSPARENT", |
| " Inhibits character-set translation of incoming text files for the duration", |
| " of the RECEIVE command without affecting subsequent commands.", |
| " ", |
| "Also see HELP SEND, HELP GET, HELP SERVER, HELP REMOTE.", |
| "" }; |
| |
| #ifndef NORESEND |
| static char *hmxxrsen = "\ |
| Syntax: RESEND filespec [name]\n\n\ |
| Resend the file or files, whose previous transfer was interrupted.\n\ |
| Picks up from where previous transfer left off, IF the receiver was told\n\ |
| to SET FILE INCOMPLETE KEEP. Only works for binary-mode transfers.\n\ |
| Requires the other Kermit to have RESEND capability."; |
| |
| static char *hmxxrget = "\ |
| Syntax: REGET filespec\n\n\ |
| Ask a server to RESEND a file to C-Kermit."; |
| |
| static char *hmxxpsen = "\ |
| Syntax: PSEND filespec position [name]\n\n\ |
| Just like SEND, except sends the file starting at the given byte position."; |
| #endif /* NORESEND */ |
| |
| #ifndef NOMSEND |
| static char *hmxxmse[] = { |
| "Syntax: MSEND [ switches... ] filespec [ filespec [ ... ] ]", |
| " Sends the files specified by the filespecs. One or more filespecs may be", |
| " listed, separated by spaces. Any or all filespecs may contain wildcards", |
| " and they may be in different directories. Alternative names cannot be", |
| " given. Switches include /BINARY /DELETE /MAIL /PROTOCOL /QUIET /RECOVER", |
| " /TEXT /TYPE; see HELP SEND for descriptions.", |
| "" |
| }; |
| #endif /* NOMSEND */ |
| |
| static char *hmxxadd[] = { |
| #ifndef NOMSEND |
| "ADD SEND-LIST filespec [ <mode> [ <as-name> ] ]", |
| " Adds the specified file or files to the current SEND list. Use SHOW", |
| " SEND-LIST and CLEAR SEND-LIST to display and clear the list; use SEND", |
| " by itself to send the files from it.", |
| " ", |
| #endif /* NOMSEND */ |
| #ifdef PATTERNS |
| "ADD BINARY-PATTERNS [ <pattern> [ <pattern> ... ] ]", |
| " Adds the pattern(s), if any, to the SET FILE BINARY-PATTERNS list.", |
| " ", |
| "ADD TEXT-PATTERNS [ <pattern> [ <pattern> ... ] ]", |
| " Adds the pattern(s), if any, to the SET FILE TEXT-PATTERNS list.", |
| " Use SHOW PATTERNS to see the lists. See HELP SET FILE for further info.", |
| #endif /* PATTERNS */ |
| ""}; |
| |
| static char *hmxxremv[] = { |
| #ifdef PATTERNS |
| "REMOVE BINARY-PATTERNS [ <pattern> [ <pattern> ... ] ]", |
| " Removes the pattern(s), if any, from the SET FILE BINARY-PATTERNS list", |
| " ", |
| "REMOVE TEXT-PATTERNS [ <pattern> [ <pattern> ... ] ]", |
| " Removes the given patterns from the SET FILE TEXT-PATTERNS list.", |
| " Use SHOW PATTERNS to see the lists. See HELP SET FILE for further info.", |
| #endif /* PATTERNS */ |
| ""}; |
| #endif /* NOXFER */ |
| |
| #ifndef NOSERVER |
| static char *hmxxser = "Syntax: SERVER\n\ |
| Enter server mode on the current connection. All further commands\n\ |
| are taken in packet form from the other Kermit program. Use FINISH,\n\ |
| BYE, or REMOTE EXIT to get C-Kermit out of server mode."; |
| #endif /* NOSERVER */ |
| |
| static char *hmhset[] = { |
| " The SET command establishes communication, file, scripting, or other", |
| " parameters. The SHOW command can be used to display the values of", |
| " SET parameters. Help is available for each individual parameter;", |
| " type HELP SET ? to see what's available.", |
| "" }; |
| |
| #ifndef NOSETKEY |
| static char *hmhskey[] = { |
| "Syntax: SET KEY k text", |
| "Or: SET KEY CLEAR", |
| " Configure the key whose \"scan code\" is k to send the given text when", |
| " pressed during CONNECT mode. SET KEY CLEAR restores all the default", |
| " key mappings. If there is no text, the default key binding is restored", |
| #ifndef NOCSETS |
| " for the key k. SET KEY mappings take place before terminal character-set", |
| " translation.", |
| #else |
| " the key k.", |
| #endif /* NOCSETS */ |
| #ifdef OS2 |
| " ", |
| " The text may contain \"\\Kverbs\" to denote actions, to stand for DEC", |
| " keypad, function, or editing keys, etc. For a list of available keyboard", |
| " verbs, type SHOW KVERBS.", |
| #endif /* OS2 */ |
| " ", |
| " To find out the scan code and mapping for a particular key, use the", |
| " SHOW KEY command.", |
| ""}; |
| #endif /* NOSETKEY */ |
| |
| static char *hmxychkt[] = { "Syntax: SET BLOCK-CHECK type", |
| " ", |
| " Type of packet block check to be used for error detection, 1, 2, 3, or", |
| " BLANK-FREE-2. Type 1 is standard, and catches most errors. Types 2 and 3", |
| " specify more rigorous checking at the cost of higher overhead. The", |
| " BLANK-FREE-2 type is the same as Type 2, but is guaranteed to contain no", |
| " blanks.", |
| "" }; |
| |
| static char * hmxydeb[] = { |
| "Syntax: SET DEBUG { SESSION, ON, OFF, TIMESTAMP }", |
| " ", |
| "SET DEBUG ON", |
| #ifdef DEBUG |
| " Opens a debug log file named debug.log in the current directory.", |
| " Use LOG DEBUG if you want specify a different log file name or path.", |
| #else |
| " (Has no effect in this version of Kermit.)", |
| #endif /* DEBUG */ |
| " ", |
| "SET DEBUG OFF", |
| " Stops debug logging and session debugging.", |
| " ", |
| "SET DEBUG SESSION", |
| #ifndef NOLOCAL |
| " Displays control and 8-bit characters symbolically during CONNECT mode.", |
| " Equivalent to SET TERMINAL DEBUG ON.", |
| #else |
| " (Has no effect in this version of Kermit.)", |
| #endif /* NOLOCAL */ |
| " ", |
| "SET DEBUG TIMESTAMP { ON, OFF }", |
| " Enables/Disables timestamps on debug log entries.", |
| "" }; |
| |
| #ifdef CK_SPEED |
| static char *hmxyqctl[] = { |
| "Syntax: SET CONTROL-CHARACTER { PREFIXED, UNPREFIXED } { <code>..., ALL }", |
| " ", |
| " <code> is the numeric ASCII code for a control character 1-31,127-159,255." |
| , |
| " The word \"ALL\" means all characters in this range.", |
| " ", |
| " PREFIXED <code> means the given control character must be converted to a", |
| " printable character and prefixed, the default for all control characters.", |
| " ", |
| " UNPREFIXED <code> means you think it is safe to send the given control", |
| " character as-is, without a prefix. USE THIS OPTION AT YOUR OWN RISK!", |
| " ", |
| " SHOW CONTROL to see current settings. SET CONTROL PREFIXED ALL is", |
| " recommended for safety. You can include multiple <code> values in one", |
| " command, separated by spaces.", |
| "" }; |
| #endif /* CK_SPEED */ |
| |
| #ifndef NODIAL |
| static char *hxymodm[] = { |
| "Syntax: SET MODEM <parameter> <value> ...", |
| " ", |
| "Note: Many of the SET MODEM parameters are configured automatically when", |
| "you SET MODEM TYPE, according to the modem's capabilities. SHOW MODEM to", |
| "see them. Also see HELP DIAL and HELP SET DIAL.", |
| " ", |
| "SET MODEM TYPE <name>", |
| |
| " Tells Kermit which kind of modem you have, so it can issue the", |
| " appropriate modem-specific commands for configuration, dialing, and", |
| " hanging up. For a list of the modem types known to Kermit, type \"set", |
| " modem type ?\". The default modem type is GENERIC, which should work", |
| " with any AT command-set modem that is configured for error correction,", |
| " data compression, and hardware flow control. Use SET MODEM TYPE NONE", |
| " for direct serial, connections. Use SET MODEM TYPE USER-DEFINED to use", |
| " a type of modem that is not built in to Kermit, and then use SET MODEM", |
| " CAPABILITIES, SET MODEM, DIAL-COMMAND, and SET MODEM COMMAND to tell", |
| " Kermit how to configure and control it.", |
| |
| " ", |
| |
| "SET MODEM CAPABILITIES <list>", |
| " Use this command for changing Kermit's idea of your modem's capabilities,", |
| " for example, if your modem is supposed to have built-in error correction", |
| " but in fact does not. Also use this command to define the capabilities", |
| " of a USER-DEFINED modem. Capabilities are:", |
| " ", |
| " AT AT-commands", |
| " DC data-compression", |
| " EC error-correction", |
| " HWFC hardware-flow", |
| " ITU v25bis-commands", |
| " SWFC software-flow", |
| " KS kermit-spoof", |
| " SB speed-buffering", |
| " TB Telebit", |
| " ", |
| "SET MODEM CARRIER-WATCH { AUTO, ON, OFF }", |
| " Synonym for SET CARRIER-WATCH (q.v.)", |
| " ", |
| "SET MODEM COMPRESSION { ON, OFF }", |
| " Enables/disables the modem's data compression feature, if any.", |
| " ", |
| "SET MODEM DIAL-COMMAND <text>", |
| " The text replaces Kermit's built-in modem dialing command. It must", |
| " include '%s' (percent s) as a place-holder for the telephone numbers", |
| " given in your DIAL commands.", |
| " ", |
| "SET MODEM ERROR-CORRECTION { ON, OFF }", |
| " Enables/disables the modem's error-correction feature, if any.", |
| " ", |
| "SET MODEM ESCAPE-CHARACTER number", |
| " Numeric ASCII value of modem's escape character, e.g. 43 for '+'.", |
| " For Hayes-compatible modems, Kermit uses three copies, e.g. \"+++\".", |
| " ", |
| "SET MODEM FLOW-CONTROL {AUTO, NONE, RTS/CTS, XON/XOFF}", |
| " Selects the type of local flow control to be used by the modem.", |
| " ", |
| "SET MODEM HANGUP-METHOD { MODEM-COMMAND, RS232-SIGNAL, DTR }", |
| " How hangup operations should be done. MODEM-COMMAND means try to", |
| " escape back to the modem's command processor and give a modem-specific", |
| " hangup command. RS232-SIGNAL means turn off the DTR signal. DTR is a", |
| " synonym for RS232-SIGNAL.", |
| " ", |
| "SET MODEM KERMIT-SPOOF {ON, OFF}", |
| " If the selected modem type supports the Kermit protocol directly,", |
| " use this command to turn its Kermit protocol function on or off.", |
| " ", |
| "SET MODEM MAXIMUM-SPEED <number>", |
| " Specify the maximum interface speed for the modem.", |
| " ", |
| "SET MODEM NAME <text>", |
| " Descriptive name for a USER-DEFINED modem.", |
| " ", |
| "SET MODEM SPEAKER {ON, OFF}", |
| " Turns the modem's speaker on or off during dialing.", |
| " ", |
| "SET MODEM SPEED-MATCHING {ON, OFF}", |
| " ON means that C-Kermit changes its serial interface speed to agree with", |
| " the speed reported by the modem's CONNECT message, if any. OFF means", |
| " Kermit should not change its interface speed.", |
| " ", |
| "SET MODEM VOLUME {LOW, MEDIUM, HIGH}", |
| " Selects the desired modem speaker volume for when the speaker is ON.", |
| " ", |
| "SET MODEM COMMAND commands are used to override built-in modem commands for", |
| "each modem type, or to fill in commands for the USER-DEFINED modem type.", |
| "Omitting the optional [ text ] restores the built-in modem-specific command,", |
| "if any:", |
| " ", |
| "SET MODEM COMMAND AUTOANSWER {ON, OFF} [ text ]", |
| " Modem commands to turn autoanswer on and off.", |
| " ", |
| "SET MODEM COMMAND COMPRESSION {ON, OFF} [ text ]", |
| " Modem commands to turn data compression on and off.", |
| " ", |
| "SET MODEM COMMAND ERROR-CORRECTION {ON, OFF} [ text ]", |
| " Modem commands to turn error correction on and off.", |
| " ", |
| "SET MODEM COMMAND HANGUP [ text ]", |
| " Command that tells the modem to hang up the connection.", |
| " ", |
| "SET MODEM COMMAND IGNORE-DIALTONE [ text ]", |
| " Command that tells the modem not to wait for dialtone before dialing.", |
| " ", |
| "SET MODEM COMMAND INIT-STRING [ text ]", |
| " The 'text' is a replacement for C-Kermit's built-in initialization command", |
| " for the modem.", |
| " ", |
| "SET MODEM COMMAND PREDIAL-INIT [ text ]", |
| " A second INIT-STRING that is to be sent to the modem just prior to \ |
| dialing.", |
| " ", |
| "SET MODEM COMMAND HARDWARE-FLOW [ text ]", |
| " Modem command to enable hardware flow control (RTS/CTS) in the modem.", |
| " ", |
| "SET MODEM COMMAND SOFTWARE-FLOW [ text ]", |
| " Modem command to enable local software flow control (Xon/Xoff) in modem.", |
| " ", |
| "SET MODEM COMMAND SPEAKER { ON, OFF } [ text ]", |
| " Modem command to turn the modem's speaker on or off.", |
| " ", |
| "SET MODEM COMMAND NO-FLOW-CONTROL [ text ]", |
| " Modem command to disable local flow control in the modem.", |
| " ", |
| "SET MODEM COMMAND PULSE [ text ]", |
| " Modem command to select pulse dialing.", |
| " ", |
| "SET MODEM COMMAND TONE [ text ]", |
| " Modem command to select tone dialing.", |
| " ", |
| "SET MODEM COMMAND VOLUME { LOW, MEDIUM, HIGH } [ text ]", |
| " Modem command to set the modem's speaker volume.", |
| ""}; |
| |
| static char *hmxydial[] = { |
| "The SET DIAL command establishes or changes all parameters related to", |
| "dialing the telephone. Also see HELP DIAL and HELP SET MODEM. Use SHOW", |
| "DIAL to display all of the SET DIAL values.", |
| " ", |
| "SET DIAL COUNTRY-CODE <number>", |
| " Tells Kermit the telephonic country-code of the country you are dialing", |
| " from, so it can tell whether a portable-format phone number from your", |
| " dialing directory will result in a national or an international call.", |
| " Examples: 1 for USA, Canada, Puerto Rico, etc; 7 for Russia, 39 for Italy,", |
| " 351 for Portugal, 47 for Norway, 44 for the UK, 972 for Israel, 81 for", |
| " Japan, ...", |
| " ", |
| " If you have not already set your DIAL INTL-PREFIX and LD-PREFIX, then this", |
| " command sets default values for them: 011 and 1, respectively, for country", |
| " code 1; 00 and 0, respectively, for all other country codes. If these are", |
| " not your true international and long-distance dialing prefixes, then you", |
| " should follow this command by DIAL INTL-PREFIX and LD-PREFIX to let Kermit", |
| " know what they really are.", |
| " ", |
| "SET DIAL AREA-CODE [ <number> ]", |
| " Tells Kermit the area or city code that you are dialing from, so it can", |
| " tell whether a portable-format phone number from the dialing directory is", |
| " local or long distance. Be careful not to include your long-distance", |
| " dialing prefix as part of your area code; for example, the area code for", |
| " central London is 171, not 0171.", |
| " ", |
| "SET DIAL CONFIRMATION {ON, OFF}", |
| " Kermit does various transformations on a telephone number retrieved from", |
| " the dialing directory prior to dialing (use LOOKUP <name> to see them).", |
| " In case the result might be wrong, you can use SET DIAL CONFIRM ON to have", |
| " Kermit ask you if it is OK to dial the number, and if not, to let you type", |
| " in a replacement.", |
| " ", |
| "SET DIAL CONNECT { AUTO, ON, OFF }", |
| " Whether to CONNECT (enter terminal mode) automatically after successfully", |
| " dialing. ON means to do this; OFF means not to. AUTO (the default) means", |
| " do it if the DIAL command was given interactively, but don't do it if the", |
| " DIAL command was issued from a macro or command file. If you specify ON", |
| " or AUTO, you may follow this by one of the keywords VERBOSE or QUIET, to", |
| " indicate whether the verbose 4-line 'Connecting...' message is to be", |
| " displayed if DIAL succeeds and Kermit goes into CONNECT mode.", |
| " ", |
| "SET DIAL CONVERT-DIRECTORY {ASK, ON, OFF}", |
| " The format of Kermit's dialing directory changed in version 5A(192). This", |
| " command tells Kermit what to do when it encounters an old-style directory:", |
| " ASK you whether to convert it, or convert it automatically (ON), or leave", |
| " it alone (OFF). Old-style directories can still be used without", |
| " conversion, but the parity and speed fields are ignored.", |
| " ", |
| "SET DIAL DIRECTORY [ filename [ filename [ filename [ ... ] ] ] ]", |
| " The name(s) of your dialing directory file(s). If you do not supply any", |
| " filenames, the dialing directory feature is disabled and all numbers are", |
| " dialed literally as given in the DIAL command. If you supply more than", |
| " one directory, all of them are searched.", |
| " ", |
| "SET DIAL SORT {ON, OFF}", |
| " When multiple entries are obtained from your dialing directory, they are", |
| " sorted in \"cheapest-first\" order. If this does not produce the desired", |
| " effect, SET DIAL SORT OFF to disable sorting, and the numbers will be", |
| " dialed in the order in which they were found.", |
| " ", |
| "SET DIAL DISPLAY {ON, OFF}", |
| " Whether to display dialing progress on the screen; default is OFF.", |
| " ", |
| "SET DIAL HANGUP {ON, OFF}", |
| " Whether to hang up the phone prior to dialing; default is ON.", |
| " ", |
| "SET DIAL IGNORE-DIALTONE {ON, OFF}", |
| " Whether to ignore dialtone when dialing; default is OFF.", |
| " ", |
| #ifndef NOSPL |
| "SET DIAL MACRO [ name ]", |
| " Specify the name of a macro to execute on every phone number dialed, just", |
| " prior to dialing it, in order to perform any last-minute alterations.", |
| " ", |
| #endif /* NOSPL */ |
| "SET DIAL METHOD {AUTO, DEFAULT, TONE, PULSE}", |
| " Whether to use the modem's DEFAULT dialing method, or to force TONE or", |
| " PULSE dialing. AUTO (the default) means to choose tone or pulse dialing", |
| " based on the country code. (Also see SET DIAL TONE-COUNTRIES and SET DIAL", |
| " PULSE-COUNTRIES.)", |
| " ", |
| "SET DIAL PACING number", |
| " How many milli
|