|
|
1.1 ! root 1: static char *sccsid = "@(#)sh.init.c 4.3 6/11/83"; ! 2: ! 3: #include "sh.local.h" ! 4: ! 5: /* ! 6: * C shell ! 7: */ ! 8: ! 9: extern int doalias(); ! 10: extern int dobg(); ! 11: extern int dobreak(); ! 12: extern int dochngd(); ! 13: extern int docontin(); ! 14: extern int dodirs(); ! 15: extern int doecho(); ! 16: extern int doelse(); ! 17: extern int doend(); ! 18: extern int doendif(); ! 19: extern int doendsw(); ! 20: extern int doeval(); ! 21: extern int doexit(); ! 22: extern int dofg(); ! 23: extern int doforeach(); ! 24: extern int doglob(); ! 25: extern int dogoto(); ! 26: extern int dohash(); ! 27: extern int dohist(); ! 28: extern int doif(); ! 29: extern int dojobs(); ! 30: extern int dokill(); ! 31: extern int dolet(); ! 32: extern int dolimit(); ! 33: extern int dologin(); ! 34: extern int dologout(); ! 35: #ifdef NEWGRP ! 36: extern int donewgrp(); ! 37: #endif ! 38: extern int donice(); ! 39: extern int donotify(); ! 40: extern int donohup(); ! 41: extern int doonintr(); ! 42: extern int dopopd(); ! 43: extern int dopushd(); ! 44: extern int dorepeat(); ! 45: extern int doset(); ! 46: extern int dosetenv(); ! 47: extern int dosource(); ! 48: extern int dostop(); ! 49: extern int dosuspend(); ! 50: extern int doswbrk(); ! 51: extern int doswitch(); ! 52: extern int dotime(); ! 53: extern int dounlimit(); ! 54: extern int doumask(); ! 55: extern int dowait(); ! 56: extern int dowhile(); ! 57: extern int dozip(); ! 58: extern int execash(); ! 59: extern int goodbye(); ! 60: #ifdef VFORK ! 61: extern int hashstat(); ! 62: #endif ! 63: extern int shift(); ! 64: extern int showall(); ! 65: extern int unalias(); ! 66: extern int dounhash(); ! 67: extern int unset(); ! 68: extern int dounsetenv(); ! 69: ! 70: #define INF 1000 ! 71: ! 72: struct biltins { ! 73: char *bname; ! 74: int (*bfunct)(); ! 75: short minargs, maxargs; ! 76: } bfunc[] = { ! 77: "@", dolet, 0, INF, ! 78: "alias", doalias, 0, INF, ! 79: #ifdef debug ! 80: "alloc", showall, 0, 1, ! 81: #endif ! 82: "bg", dobg, 0, INF, ! 83: "break", dobreak, 0, 0, ! 84: "breaksw", doswbrk, 0, 0, ! 85: #ifdef IIASA ! 86: "bye", goodbye, 0, 0, ! 87: #endif ! 88: "case", dozip, 0, 1, ! 89: "cd", dochngd, 0, 1, ! 90: "chdir", dochngd, 0, 1, ! 91: "continue", docontin, 0, 0, ! 92: "default", dozip, 0, 0, ! 93: "dirs", dodirs, 0, 1, ! 94: "echo", doecho, 0, INF, ! 95: "else", doelse, 0, INF, ! 96: "end", doend, 0, 0, ! 97: "endif", dozip, 0, 0, ! 98: "endsw", dozip, 0, 0, ! 99: "eval", doeval, 0, INF, ! 100: "exec", execash, 1, INF, ! 101: "exit", doexit, 0, INF, ! 102: "fg", dofg, 0, INF, ! 103: "foreach", doforeach, 3, INF, ! 104: #ifdef IIASA ! 105: "gd", dopushd, 0, 1, ! 106: #endif ! 107: "glob", doglob, 0, INF, ! 108: "goto", dogoto, 1, 1, ! 109: #ifdef VFORK ! 110: "hashstat", hashstat, 0, 0, ! 111: #endif ! 112: "history", dohist, 0, 2, ! 113: "if", doif, 1, INF, ! 114: "jobs", dojobs, 0, 1, ! 115: "kill", dokill, 1, INF, ! 116: "limit", dolimit, 0, 3, ! 117: "login", dologin, 0, 1, ! 118: "logout", dologout, 0, 0, ! 119: #ifdef NEWGRP ! 120: "newgrp", donewgrp, 1, 1, ! 121: #endif ! 122: "nice", donice, 0, INF, ! 123: "nohup", donohup, 0, INF, ! 124: "notify", donotify, 0, INF, ! 125: "onintr", doonintr, 0, 2, ! 126: "popd", dopopd, 0, 1, ! 127: "pushd", dopushd, 0, 1, ! 128: #ifdef IIASA ! 129: "rd", dopopd, 0, 1, ! 130: #endif ! 131: "rehash", dohash, 0, 0, ! 132: "repeat", dorepeat, 2, INF, ! 133: "set", doset, 0, INF, ! 134: "setenv", dosetenv, 2, 2, ! 135: "shift", shift, 0, 1, ! 136: "source", dosource, 1, 2, ! 137: "stop", dostop, 1, INF, ! 138: "suspend", dosuspend, 0, 0, ! 139: "switch", doswitch, 1, INF, ! 140: "time", dotime, 0, INF, ! 141: "umask", doumask, 0, 1, ! 142: "unalias", unalias, 1, INF, ! 143: "unhash", dounhash, 0, 0, ! 144: "unlimit", dounlimit, 0, INF, ! 145: "unset", unset, 1, INF, ! 146: "unsetenv", dounsetenv, 1, INF, ! 147: "wait", dowait, 0, 0, ! 148: "while", dowhile, 1, INF, ! 149: 0, 0, 0, 0, ! 150: }; ! 151: ! 152: #define ZBREAK 0 ! 153: #define ZBRKSW 1 ! 154: #define ZCASE 2 ! 155: #define ZDEFAULT 3 ! 156: #define ZELSE 4 ! 157: #define ZEND 5 ! 158: #define ZENDIF 6 ! 159: #define ZENDSW 7 ! 160: #define ZEXIT 8 ! 161: #define ZFOREACH 9 ! 162: #define ZGOTO 10 ! 163: #define ZIF 11 ! 164: #define ZLABEL 12 ! 165: #define ZLET 13 ! 166: #define ZSET 14 ! 167: #define ZSWITCH 15 ! 168: #define ZTEST 16 ! 169: #define ZTHEN 17 ! 170: #define ZWHILE 18 ! 171: ! 172: struct srch { ! 173: char *s_name; ! 174: short s_value; ! 175: } srchn[] = { ! 176: "@", ZLET, ! 177: "break", ZBREAK, ! 178: "breaksw", ZBRKSW, ! 179: "case", ZCASE, ! 180: "default", ZDEFAULT, ! 181: "else", ZELSE, ! 182: "end", ZEND, ! 183: "endif", ZENDIF, ! 184: "endsw", ZENDSW, ! 185: "exit", ZEXIT, ! 186: "foreach", ZFOREACH, ! 187: "goto", ZGOTO, ! 188: "if", ZIF, ! 189: "label", ZLABEL, ! 190: "set", ZSET, ! 191: "switch", ZSWITCH, ! 192: "while", ZWHILE, ! 193: 0, 0, ! 194: }; ! 195: ! 196: struct mesg { ! 197: char *iname; ! 198: char *pname; ! 199: } mesg[] = { ! 200: 0, 0, ! 201: "HUP", "Hangup", ! 202: "INT", "Interrupt", ! 203: "QUIT", "Quit", ! 204: "ILL", "Illegal instruction", ! 205: "TRAP", "Trace/BPT trap", ! 206: "IOT", "IOT trap", ! 207: "EMT", "EMT trap", ! 208: "FPE", "Floating exception", ! 209: "KILL", "Killed", ! 210: "BUS", "Bus error", ! 211: "SEGV", "Segmentation fault", ! 212: "SYS", "Bad system call", ! 213: "PIPE", "Broken pipe", ! 214: "ALRM", "Alarm clock", ! 215: "TERM", "Terminated", ! 216: 0, "Signal 16", ! 217: "STOP", "Stopped (signal)", ! 218: "TSTP", "Stopped", ! 219: "CONT", "Continued", ! 220: "CHLD", "Child exited", ! 221: "TTIN", "Stopped (tty input)", ! 222: "TTOU", "Stopped (tty output)", ! 223: "TINT", "Tty input interrupt", ! 224: "XCPU", "Cputime limit exceeded", ! 225: "XFSZ", "Filesize limit exceeded", ! 226: 0, "Signal 26", ! 227: 0, "Signal 27", ! 228: 0, "Signal 28", ! 229: 0, "Signal 29", ! 230: 0, "Signal 30", ! 231: 0, "Signal 31", ! 232: 0, "Signal 32" ! 233: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.