aboutsummaryrefslogtreecommitdiff
path: root/bin/csh/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'bin/csh/init.c')
-rw-r--r--bin/csh/init.c168
1 files changed, 168 insertions, 0 deletions
diff --git a/bin/csh/init.c b/bin/csh/init.c
new file mode 100644
index 000000000000..de076a4149e5
--- /dev/null
+++ b/bin/csh/init.c
@@ -0,0 +1,168 @@
+/*-
+ * Copyright (c) 1980, 1991 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef lint
+static char sccsid[] = "@(#)init.c 5.12 (Berkeley) 6/27/91";
+#endif /* not lint */
+
+#if __STDC__
+# include <stdarg.h>
+#else
+# include <varargs.h>
+#endif
+
+#include "csh.h"
+#include "extern.h"
+
+#define INF 1000
+
+struct biltins bfunc[] =
+{
+ "@", dolet, 0, INF,
+ "alias", doalias, 0, INF,
+ "alloc", showall, 0, 1,
+ "bg", dobg, 0, INF,
+ "break", dobreak, 0, 0,
+ "breaksw", doswbrk, 0, 0,
+ "case", dozip, 0, 1,
+ "cd", dochngd, 0, INF,
+ "chdir", dochngd, 0, INF,
+ "continue", docontin, 0, 0,
+ "default", dozip, 0, 0,
+ "dirs", dodirs, 0, INF,
+ "echo", doecho, 0, INF,
+ "else", doelse, 0, INF,
+ "end", doend, 0, 0,
+ "endif", dozip, 0, 0,
+ "endsw", dozip, 0, 0,
+ "eval", doeval, 0, INF,
+ "exec", execash, 1, INF,
+ "exit", doexit, 0, INF,
+ "fg", dofg, 0, INF,
+ "foreach", doforeach, 3, INF,
+ "glob", doglob, 0, INF,
+ "goto", dogoto, 1, 1,
+ "hashstat", hashstat, 0, 0,
+ "history", dohist, 0, 2,
+ "if", doif, 1, INF,
+ "jobs", dojobs, 0, 1,
+ "kill", dokill, 1, INF,
+ "limit", dolimit, 0, 3,
+ "linedit", doecho, 0, INF,
+ "login", dologin, 0, 1,
+ "logout", dologout, 0, 0,
+ "nice", donice, 0, INF,
+ "nohup", donohup, 0, INF,
+ "notify", donotify, 0, INF,
+ "onintr", doonintr, 0, 2,
+ "popd", dopopd, 0, INF,
+ "pushd", dopushd, 0, INF,
+ "rehash", dohash, 0, 0,
+ "repeat", dorepeat, 2, INF,
+ "set", doset, 0, INF,
+ "setenv", dosetenv, 0, 2,
+ "shift", shift, 0, 1,
+ "source", dosource, 1, 2,
+ "stop", dostop, 1, INF,
+ "suspend", dosuspend, 0, 0,
+ "switch", doswitch, 1, INF,
+ "time", dotime, 0, INF,
+ "umask", doumask, 0, 1,
+ "unalias", unalias, 1, INF,
+ "unhash", dounhash, 0, 0,
+ "unlimit", dounlimit, 0, INF,
+ "unset", unset, 1, INF,
+ "unsetenv", dounsetenv, 1, INF,
+ "wait", dowait, 0, 0,
+ "while", dowhile, 1, INF,
+};
+int nbfunc = sizeof bfunc / sizeof *bfunc;
+
+struct srch srchn[] =
+{
+ "@", T_LET,
+ "break", T_BREAK,
+ "breaksw", T_BRKSW,
+ "case", T_CASE,
+ "default", T_DEFAULT,
+ "else", T_ELSE,
+ "end", T_END,
+ "endif", T_ENDIF,
+ "endsw", T_ENDSW,
+ "exit", T_EXIT,
+ "foreach", T_FOREACH,
+ "goto", T_GOTO,
+ "if", T_IF,
+ "label", T_LABEL,
+ "set", T_SET,
+ "switch", T_SWITCH,
+ "while", T_WHILE,
+};
+int nsrchn = sizeof srchn / sizeof *srchn;
+
+struct mesg mesg[] =
+{
+ /* 0 */ 0, "",
+ /* 1 */ "HUP", "Hangup",
+ /* 2 */ "INT", "Interrupt",
+ /* 3 */ "QUIT", "Quit",
+ /* 4 */ "ILL", "Illegal instruction",
+ /* 5 */ "TRAP", "Trace/BPT trap",
+ /* 6 */ "IOT", "IOT trap",
+ /* 7 */ "EMT", "EMT trap",
+ /* 8 */ "FPE", "Floating exception",
+ /* 9 */ "KILL", "Killed",
+ /* 10 */ "BUS", "Bus error",
+ /* 11 */ "SEGV", "Segmentation fault",
+ /* 12 */ "SYS", "Bad system call",
+ /* 13 */ "PIPE", "Broken pipe",
+ /* 14 */ "ALRM", "Alarm clock",
+ /* 15 */ "TERM", "Terminated",
+ /* 16 */ "URG", "Urgent condition on IO channel",
+ /* 17 */ "STOP", "Suspended (signal)",
+ /* 18 */ "TSTP", "Suspended",
+ /* 19 */ "CONT", "Continued",
+ /* 20 */ "CHLD", "Child exited",
+ /* 21 */ "TTIN", "Suspended (tty input)",
+ /* 22 */ "TTOU", "Suspended (tty output)",
+ /* 23 */ "IO", "IO possible interrupt",
+ /* 24 */ "XCPU", "Cputime limit exceeded",
+ /* 25 */ "XFSZ", "Filesize limit exceeded",
+ /* 26 */ "VTALRM", "Virtual time alarm",
+ /* 27 */ "PROF", "Profiling time alarm",
+ /* 28 */ "WINCH", "Window changed",
+ /* 29 */ "INFO", "Information request",
+ /* 30 */ "USR1", "User signal 1",
+ /* 31 */ "USR2", "User signal 2",
+ /* 32 */ 0, "Signal 32",
+};