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