diff options
Diffstat (limited to 'usr/src/cmd/csh/sh.init.c')
| -rw-r--r-- | usr/src/cmd/csh/sh.init.c | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/usr/src/cmd/csh/sh.init.c b/usr/src/cmd/csh/sh.init.c new file mode 100644 index 0000000000..0f6d5e5c22 --- /dev/null +++ b/usr/src/cmd/csh/sh.init.c @@ -0,0 +1,206 @@ +/* + * Copyright 1997 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +/* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ +/* All Rights Reserved */ + +/* + * Copyright (c) 1980 Regents of the University of California. + * All rights reserved. The Berkeley Software License Agreement + * specifies the terms and conditions for redistribution. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +#include "sh.h" +#include "sh.tconst.h" + +/* + * C shell + */ + +extern int doalias(); +extern int dobg(); +extern int dobreak(); +extern int dochngd(); +extern int docontin(); +extern int dodirs(); +extern int doecho(); +extern int doelse(); +extern int doend(); +extern int doendif(); +extern int doendsw(); +extern int doeval(); +extern int doexit(); +extern int dofg(); +extern int doforeach(); +extern int doglob(); +extern int dogoto(); +extern int dohash(); +extern int dorehash(); +extern int dohist(); +extern int doif(); +extern int dojobs(); +extern int dokill(); +extern int dolet(); +extern int dolimit(); +extern int dologin(); +extern int dologout(); +#ifdef NEWGRP +extern int donewgrp(); +#endif +extern int donice(); +extern int donotify(); +extern int donohup(); +extern int doonintr(); +extern int dopopd(); +extern int dopushd(); +extern int dorepeat(); +extern int doset(); +extern int dosetenv(); +extern int dosource(); +extern int dostop(); +extern int dosuspend(); +extern int doswbrk(); +extern int doswitch(); +extern int dotime(); +extern int dounlimit(); +extern int doumask(); +extern int dowait(); +extern int dowhile(); +extern int dozip(); +extern int execash(); +extern int goodbye(); +#ifdef VFORK +extern int hashstat(); +#endif +extern int shift(); +#ifdef OLDMALLOC +extern int showall(); +#endif +extern int unalias(); +extern int dounhash(); +extern int unset(); +extern int dounsetenv(); + +#define INF 1000 + +struct biltins bfunc[] = { + S_AT, dolet, 0, INF, + S_alias, doalias, 0, INF, +#ifdef OLDMALLOC + S_alloc, showall, 0, 1, +#endif + S_bg, dobg, 0, INF, + S_break, dobreak, 0, 0, + S_breaksw, doswbrk, 0, 0, +#ifdef IIASA + S_bye, goodbye, 0, 0, +#endif + S_case, dozip, 0, 1, + S_cd, dochngd, 0, 1, + S_chdir, dochngd, 0, 1, + S_continue, docontin, 0, 0, + S_default, dozip, 0, 0, + S_dirs, dodirs, 0, 1, + S_echo, doecho, 0, INF, + S_else, doelse, 0, INF, + S_end, doend, 0, 0, + S_endif, dozip, 0, 0, + S_endsw, dozip, 0, 0, + S_eval, doeval, 0, INF, + S_exec, execash, 1, INF, + S_exit, doexit, 0, INF, + S_fg, dofg, 0, INF, + S_foreach, doforeach, 3, INF, +#ifdef IIASA + S_gd, dopushd, 0, 1, +#endif + S_glob, doglob, 0, INF, + S_goto, dogoto, 1, 1, +#ifdef VFORK + S_hashstat, hashstat, 0, 0, +#endif + S_history, dohist, 0, 2, + S_if, doif, 1, INF, + S_jobs, dojobs, 0, 1, + S_kill, dokill, 1, INF, + S_limit, dolimit, 0, 3, + S_login, dologin, 0, 1, + S_logout, dologout, 0, 0, +#ifdef NEWGRP + S_newgrp, donewgrp, 1, 1, +#endif + S_nice, donice, 0, INF, + S_nohup, donohup, 0, INF, + S_notify, donotify, 0, INF, + S_onintr, doonintr, 0, 2, + S_popd, dopopd, 0, 1, + S_pushd, dopushd, 0, 1, +#ifdef IIASA + S_rd, dopopd, 0, 1, +#endif + S_rehash, dorehash, 0, 0, + S_repeat, dorepeat, 2, INF, + S_set, doset, 0, INF, + S_setenv, dosetenv, 0, 2, + S_shift, shift, 0, 1, + S_source, dosource, 1, 2, + S_stop, dostop, 1, INF, + S_suspend, dosuspend, 0, 0, + S_switch, doswitch, 1, INF, + S_time, dotime, 0, INF, + S_umask, doumask, 0, 1, + S_unalias, unalias, 1, INF, + S_unhash, dounhash, 0, 0, + S_unlimit, dounlimit, 0, INF, + S_unset, unset, 1, INF, + S_unsetenv, dounsetenv, 1, INF, + S_wait, dowait, 0, 0, + S_while, dowhile, 1, INF, +}; +int nbfunc = sizeof bfunc / sizeof *bfunc; + +#define ZBREAK 0 +#define ZBRKSW 1 +#define ZCASE 2 +#define ZDEFAULT 3 +#define ZELSE 4 +#define ZEND 5 +#define ZENDIF 6 +#define ZENDSW 7 +#define ZEXIT 8 +#define ZFOREACH 9 +#define ZGOTO 10 +#define ZIF 11 +#define ZLABEL 12 +#define ZLET 13 +#define ZSET 14 +#define ZSWITCH 15 +#define ZTEST 16 +#define ZTHEN 17 +#define ZWHILE 18 + +struct srch srchn[] = { + S_AT, ZLET, + S_break, ZBREAK, + S_breaksw, ZBRKSW, + S_case, ZCASE, + S_default, ZDEFAULT, + S_else, ZELSE, + S_end, ZEND, + S_endif, ZENDIF, + S_endsw, ZENDSW, + S_exit, ZEXIT, + S_foreach, ZFOREACH, + S_goto, ZGOTO, + S_if, ZIF, + S_label, ZLABEL, + S_set, ZSET, + S_switch, ZSWITCH, + S_while, ZWHILE +}; +int nsrchn = sizeof srchn / sizeof *srchn; + |
