180753333Ssam #ifndef lint 2*b288febcSbostic static char sccsid[] = "@(#)msg.c 4.6 05/08/89"; 380753333Ssam #endif 4e764ce5eSmckusick 5e764ce5eSmckusick # 6e764ce5eSmckusick /* 7e764ce5eSmckusick * UNIX shell 8e764ce5eSmckusick * 9e764ce5eSmckusick * S. R. Bourne 10e764ce5eSmckusick * Bell Telephone Laboratories 11e764ce5eSmckusick * 12e764ce5eSmckusick */ 13e764ce5eSmckusick 14e764ce5eSmckusick 15e764ce5eSmckusick #include "defs.h" 16e764ce5eSmckusick #include "sym.h" 17e764ce5eSmckusick 18e764ce5eSmckusick MSG version = "\nVERSION sys137 DATE 1978 Nov 6 14:29:22\n"; 19e764ce5eSmckusick 20e764ce5eSmckusick /* error messages */ 21e764ce5eSmckusick MSG badopt = "bad option(s)"; 22e764ce5eSmckusick MSG mailmsg = "you have mail\n"; 23e764ce5eSmckusick MSG nospace = "no space"; 24e764ce5eSmckusick MSG synmsg = "syntax error"; 25e764ce5eSmckusick 26e764ce5eSmckusick MSG badnum = "bad number"; 27e764ce5eSmckusick MSG badparam = "parameter not set"; 28e764ce5eSmckusick MSG badsub = "bad substitution"; 29e764ce5eSmckusick MSG badcreate = "cannot create"; 30e764ce5eSmckusick MSG illegal = "illegal io"; 31e764ce5eSmckusick MSG restricted = "restricted"; 32e764ce5eSmckusick MSG piperr = "cannot make pipe"; 33e764ce5eSmckusick MSG badopen = "cannot open"; 34e764ce5eSmckusick MSG coredump = " - core dumped"; 35e764ce5eSmckusick MSG arglist = "arg list too long"; 36e764ce5eSmckusick MSG txtbsy = "text busy"; 37e764ce5eSmckusick MSG toobig = "too big"; 38e764ce5eSmckusick MSG badexec = "cannot execute"; 39e764ce5eSmckusick MSG notfound = "not found"; 40e764ce5eSmckusick MSG badfile = "bad file number"; 41e764ce5eSmckusick MSG badshift = "cannot shift"; 42e764ce5eSmckusick MSG baddir = "bad directory"; 43e764ce5eSmckusick MSG badtrap = "bad trap"; 44e764ce5eSmckusick MSG wtfailed = "is read only"; 45e764ce5eSmckusick MSG notid = "is not an identifier"; 46e764ce5eSmckusick 47e764ce5eSmckusick /* built in names */ 48e764ce5eSmckusick MSG pathname = "PATH"; 49e764ce5eSmckusick MSG homename = "HOME"; 50e764ce5eSmckusick MSG mailname = "MAIL"; 51e764ce5eSmckusick MSG fngname = "FILEMATCH"; 52e764ce5eSmckusick MSG ifsname = "IFS"; 53e764ce5eSmckusick MSG ps1name = "PS1"; 54e764ce5eSmckusick MSG ps2name = "PS2"; 55e764ce5eSmckusick 56e764ce5eSmckusick /* string constants */ 57e764ce5eSmckusick MSG nullstr = ""; 58e764ce5eSmckusick MSG sptbnl = " \t\n"; 59e764ce5eSmckusick MSG colon = ": "; 60e764ce5eSmckusick MSG minus = "-"; 61e764ce5eSmckusick MSG endoffile = "end of file"; 62e764ce5eSmckusick MSG unexpected = " unexpected"; 63e764ce5eSmckusick MSG atline = " at line "; 64e764ce5eSmckusick MSG devnull = "/dev/null"; 65e764ce5eSmckusick MSG execpmsg = "+ "; 66e764ce5eSmckusick MSG readmsg = "> "; 67e764ce5eSmckusick MSG stdprompt = "$ "; 68e764ce5eSmckusick MSG supprompt = "# "; 69e764ce5eSmckusick MSG profile = ".profile"; 70e764ce5eSmckusick 71e764ce5eSmckusick 72e764ce5eSmckusick /* tables */ 73819c8a2cSsam SYSTAB reserved = { 74e764ce5eSmckusick {"in", INSYM}, 75e764ce5eSmckusick {"esac", ESSYM}, 76e764ce5eSmckusick {"case", CASYM}, 77e764ce5eSmckusick {"for", FORSYM}, 78e764ce5eSmckusick {"done", ODSYM}, 79e764ce5eSmckusick {"if", IFSYM}, 80e764ce5eSmckusick {"while", WHSYM}, 81e764ce5eSmckusick {"do", DOSYM}, 82e764ce5eSmckusick {"then", THSYM}, 83e764ce5eSmckusick {"else", ELSYM}, 84e764ce5eSmckusick {"elif", EFSYM}, 85e764ce5eSmckusick {"fi", FISYM}, 86e764ce5eSmckusick {"until", UNSYM}, 87e764ce5eSmckusick { "{", BRSYM}, 88e764ce5eSmckusick { "}", KTSYM}, 89e764ce5eSmckusick {0, 0}, 90e764ce5eSmckusick }; 91e764ce5eSmckusick 92819c8a2cSsam STRING sysmsg[] = { 93e764ce5eSmckusick 0, 94e764ce5eSmckusick "Hangup", 95e764ce5eSmckusick 0, /* Interrupt */ 96e764ce5eSmckusick "Quit", 97e764ce5eSmckusick "Illegal instruction", 98e764ce5eSmckusick "Trace/BPT trap", 99e764ce5eSmckusick "IOT trap", 100e764ce5eSmckusick "EMT trap", 101e764ce5eSmckusick "Floating exception", 102e764ce5eSmckusick "Killed", 103e764ce5eSmckusick "Bus error", 104e764ce5eSmckusick "Memory fault", 105e764ce5eSmckusick "Bad system call", 106e764ce5eSmckusick 0, /* Broken pipe */ 107e764ce5eSmckusick "Alarm call", 108e764ce5eSmckusick "Terminated", 109eb2fe4aeSmckusick "Urgent condition", 110eb2fe4aeSmckusick "Stopped", 111eb2fe4aeSmckusick "Stopped from terminal", 112eb2fe4aeSmckusick "Continued", 113eb2fe4aeSmckusick "Child terminated", 114eb2fe4aeSmckusick "Stopped on terminal input", 115eb2fe4aeSmckusick "Stopped on terminal output", 116eb2fe4aeSmckusick "Asynchronous I/O", 117eb2fe4aeSmckusick "Exceeded cpu time limit", 118eb2fe4aeSmckusick "Exceeded file size limit", 119eb2fe4aeSmckusick "Virtual time alarm", 120eb2fe4aeSmckusick "Profiling time alarm", 121eb2fe4aeSmckusick "Window changed", 122eb2fe4aeSmckusick "Signal 29", 123a897f822Smckusick "User defined signal 1", 124a897f822Smckusick "User defined signal 2", 125eb2fe4aeSmckusick "Signal 32", 126e764ce5eSmckusick }; 127eb2fe4aeSmckusick INT num_sysmsg = (sizeof sysmsg / sizeof sysmsg[0]); 128e764ce5eSmckusick 129e764ce5eSmckusick MSG export = "export"; 130e764ce5eSmckusick MSG readonly = "readonly"; 131819c8a2cSsam SYSTAB commands = { 132e764ce5eSmckusick {"cd", SYSCD}, 133e764ce5eSmckusick {"read", SYSREAD}, 134e764ce5eSmckusick /* 135e764ce5eSmckusick {"[", SYSTST}, 136e764ce5eSmckusick */ 137e764ce5eSmckusick {"set", SYSSET}, 138e764ce5eSmckusick {":", SYSNULL}, 139e764ce5eSmckusick {"trap", SYSTRAP}, 140e764ce5eSmckusick {"login", SYSLOGIN}, 141e764ce5eSmckusick {"wait", SYSWAIT}, 142e764ce5eSmckusick {"eval", SYSEVAL}, 143e764ce5eSmckusick {".", SYSDOT}, 144e764ce5eSmckusick {readonly, SYSRDONLY}, 145e764ce5eSmckusick {export, SYSXPORT}, 146e764ce5eSmckusick {"chdir", SYSCD}, 147e764ce5eSmckusick {"break", SYSBREAK}, 148e764ce5eSmckusick {"continue", SYSCONT}, 149e764ce5eSmckusick {"shift", SYSSHFT}, 150e764ce5eSmckusick {"exit", SYSEXIT}, 151e764ce5eSmckusick {"exec", SYSEXEC}, 152e764ce5eSmckusick {"times", SYSTIMES}, 153e764ce5eSmckusick {"umask", SYSUMASK}, 154e764ce5eSmckusick {0, 0}, 155e764ce5eSmckusick }; 156