make '' default to file beginning if no large movements yet
[unix-history] / usr / src / usr.bin / ftp / cmdtab.c
CommitLineData
edf71f48 1/*
9069f68e 2 * Copyright (c) 1985 Regents of the University of California.
11c5f0a3
KB
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms are permitted
b36fc510
KB
6 * provided that the above copyright notice and this paragraph are
7 * duplicated in all such forms and that any documentation,
8 * advertising materials, and other materials related to such
9 * distribution and use acknowledge that the software was developed
10 * by the University of California, Berkeley. The name of the
11 * University may not be used to endorse or promote products derived
12 * from this software without specific prior written permission.
13 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
edf71f48
DF
16 */
17
53f01c40 18#ifndef lint
b36fc510 19static char sccsid[] = "@(#)cmdtab.c 5.6 (Berkeley) %G%";
11c5f0a3 20#endif /* not lint */
5ac6fc46 21
53f01c40
SL
22#include "ftp_var.h"
23
24/*
25 * User FTP -- Command Tables.
26 */
27int setascii(), setbell(), setbinary(), setdebug(), setform();
7136ef0a 28int setglob(), sethash(), setmode(), setpeer(), setport();
5ac6fc46 29int setprompt(), setstruct();
9248b609 30int settenex(), settrace(), settype(), setverbose();
53f01c40 31int disconnect();
5ac6fc46 32int cd(), lcd(), delete(), mdelete(), user();
9072bd8a 33int ls(), mls(), get(), mget(), help(), append(), put(), mput();
53f01c40
SL
34int quit(), renamefile(), status();
35int quote(), rmthelp(), shell();
9069f68e
GM
36int pwd(), makedir(), removedir(), setcr();
37int account(), doproxy(), reset(), setcase(), setntrans(), setnmap();
38int setsunique(), setrunique(), cdup(), macdef(), domacro();
53f01c40 39
9069f68e 40char accounthelp[] = "send account command to remote server";
5ac6fc46 41char appendhelp[] = "append to a file";
53f01c40
SL
42char asciihelp[] = "set ascii transfer type";
43char beephelp[] = "beep when command completed";
44char binaryhelp[] = "set binary transfer type";
9069f68e 45char casehelp[] = "toggle mget upper/lower case id mapping";
53f01c40 46char cdhelp[] = "change remote working directory";
9069f68e 47char cduphelp[] = "change remote working directory to parent directory";
53f01c40 48char connecthelp[] = "connect to remote tftp";
9069f68e 49char crhelp[] = "toggle carriage return stripping on ascii gets";
53f01c40
SL
50char deletehelp[] = "delete remote file";
51char debughelp[] = "toggle/set debugging mode";
52char dirhelp[] = "list contents of remote directory";
53char disconhelp[] = "terminate ftp session";
9069f68e 54char domachelp[] = "execute macro";
53f01c40 55char formhelp[] = "set file transfer format";
9248b609 56char globhelp[] = "toggle metacharacter expansion of local file names";
5ac6fc46 57char hashhelp[] = "toggle printing `#' for each buffer transferred";
53f01c40
SL
58char helphelp[] = "print local help information";
59char lcdhelp[] = "change local working directory";
60char lshelp[] = "nlist contents of remote directory";
9069f68e 61char macdefhelp[] = "define a macro";
5ac6fc46 62char mdeletehelp[] = "delete multiple files";
9072bd8a 63char mdirhelp[] = "list contents of multiple remote directories";
9248b609 64char mgethelp[] = "get multiple files";
53f01c40 65char mkdirhelp[] = "make directory on the remote machine";
9072bd8a 66char mlshelp[] = "nlist contents of multiple remote directories";
53f01c40 67char modehelp[] = "set file transfer mode";
9248b609 68char mputhelp[] = "send multiple files";
9069f68e
GM
69char nmaphelp[] = "set templates for default file name mapping";
70char ntranshelp[] = "set translation table for default file name mapping";
5ac6fc46 71char porthelp[] = "toggle use of PORT cmd for each data connection";
53f01c40 72char prompthelp[] = "force interactive prompting on multiple commands";
9069f68e 73char proxyhelp[] = "issue command on alternate connection";
53f01c40
SL
74char pwdhelp[] = "print working directory on remote machine";
75char quithelp[] = "terminate ftp session and exit";
76char quotehelp[] = "send arbitrary ftp command";
77char receivehelp[] = "receive file";
78char remotehelp[] = "get help from remote server";
79char renamehelp[] = "rename file";
80char rmdirhelp[] = "remove directory on the remote machine";
9069f68e
GM
81char runiquehelp[] = "toggle store unique for local files";
82char resethelp[] = "clear queued command replies";
9248b609 83char sendhelp[] = "send one file";
53f01c40
SL
84char shellhelp[] = "escape to the shell";
85char statushelp[] = "show current status";
86char structhelp[] = "set file transfer structure";
9069f68e 87char suniquehelp[] = "toggle store unique on remote machine";
53f01c40
SL
88char tenexhelp[] = "set tenex file transfer type";
89char tracehelp[] = "toggle packet tracing";
90char typehelp[] = "set file transfer type";
91char userhelp[] = "send new user information";
92char verbosehelp[] = "toggle verbose mode";
93
94struct cmd cmdtab[] = {
9069f68e
GM
95 { "!", shellhelp, 0, 0, 0, shell },
96 { "$", domachelp, 1, 0, 0, domacro },
97 { "account", accounthelp, 0, 1, 1, account},
98 { "append", appendhelp, 1, 1, 1, put },
99 { "ascii", asciihelp, 0, 1, 1, setascii },
100 { "bell", beephelp, 0, 0, 0, setbell },
101 { "binary", binaryhelp, 0, 1, 1, setbinary },
102 { "bye", quithelp, 0, 0, 0, quit },
103 { "case", casehelp, 0, 0, 1, setcase },
104 { "cd", cdhelp, 0, 1, 1, cd },
105 { "cdup", cduphelp, 0, 1, 1, cdup },
106 { "close", disconhelp, 0, 1, 1, disconnect },
107 { "cr", crhelp, 0, 0, 0, setcr },
108 { "delete", deletehelp, 0, 1, 1, delete },
109 { "debug", debughelp, 0, 0, 0, setdebug },
110 { "dir", dirhelp, 1, 1, 1, ls },
111 { "disconnect", disconhelp, 0, 1, 1, disconnect },
112 { "form", formhelp, 0, 1, 1, setform },
113 { "get", receivehelp, 1, 1, 1, get },
114 { "glob", globhelp, 0, 0, 0, setglob },
115 { "hash", hashhelp, 0, 0, 0, sethash },
116 { "help", helphelp, 0, 0, 1, help },
a2d52b81 117 { "image", binaryhelp, 0, 1, 1, setbinary },
9069f68e
GM
118 { "lcd", lcdhelp, 0, 0, 0, lcd },
119 { "ls", lshelp, 1, 1, 1, ls },
120 { "macdef", macdefhelp, 0, 0, 0, macdef },
121 { "mdelete", mdeletehelp, 1, 1, 1, mdelete },
122 { "mdir", mdirhelp, 1, 1, 1, mls },
123 { "mget", mgethelp, 1, 1, 1, mget },
124 { "mkdir", mkdirhelp, 0, 1, 1, makedir },
125 { "mls", mlshelp, 1, 1, 1, mls },
126 { "mode", modehelp, 0, 1, 1, setmode },
127 { "mput", mputhelp, 1, 1, 1, mput },
128 { "nmap", nmaphelp, 0, 0, 1, setnmap },
129 { "ntrans", ntranshelp, 0, 0, 1, setntrans },
130 { "open", connecthelp, 0, 0, 1, setpeer },
131 { "prompt", prompthelp, 0, 0, 0, setprompt },
132 { "proxy", proxyhelp, 0, 0, 1, doproxy },
133 { "sendport", porthelp, 0, 0, 0, setport },
134 { "put", sendhelp, 1, 1, 1, put },
135 { "pwd", pwdhelp, 0, 1, 1, pwd },
136 { "quit", quithelp, 0, 0, 0, quit },
137 { "quote", quotehelp, 1, 1, 1, quote },
138 { "recv", receivehelp, 1, 1, 1, get },
139 { "remotehelp", remotehelp, 0, 1, 1, rmthelp },
140 { "rename", renamehelp, 0, 1, 1, renamefile },
141 { "reset", resethelp, 0, 1, 1, reset },
142 { "rmdir", rmdirhelp, 0, 1, 1, removedir },
143 { "runique", runiquehelp, 0, 0, 1, setrunique },
144 { "send", sendhelp, 1, 1, 1, put },
145 { "status", statushelp, 0, 0, 1, status },
146 { "struct", structhelp, 0, 1, 1, setstruct },
147 { "sunique", suniquehelp, 0, 0, 1, setsunique },
148 { "tenex", tenexhelp, 0, 1, 1, settenex },
149 { "trace", tracehelp, 0, 0, 0, settrace },
150 { "type", typehelp, 0, 1, 1, settype },
151 { "user", userhelp, 0, 1, 1, user },
152 { "verbose", verbosehelp, 0, 0, 0, setverbose },
153 { "?", helphelp, 0, 0, 1, help },
5ac6fc46 154 { 0 },
53f01c40
SL
155};
156
71a655cd 157int NCMDS = (sizeof (cmdtab) / sizeof (cmdtab[0])) - 1;