114478Ssam #ifndef lint 2*18428Smckusick static char sccsid[] = "@(#)msg.c 4.3 03/19/85"; 314478Ssam #endif 46698Smckusick 56698Smckusick # 66698Smckusick /* 76698Smckusick * UNIX shell 86698Smckusick * 96698Smckusick * S. R. Bourne 106698Smckusick * Bell Telephone Laboratories 116698Smckusick * 126698Smckusick */ 136698Smckusick 146698Smckusick 156698Smckusick #include "defs.h" 166698Smckusick #include "sym.h" 176698Smckusick 186698Smckusick MSG version = "\nVERSION sys137 DATE 1978 Nov 6 14:29:22\n"; 196698Smckusick 206698Smckusick /* error messages */ 216698Smckusick MSG badopt = "bad option(s)"; 226698Smckusick MSG mailmsg = "you have mail\n"; 236698Smckusick MSG nospace = "no space"; 246698Smckusick MSG synmsg = "syntax error"; 256698Smckusick 266698Smckusick MSG badnum = "bad number"; 276698Smckusick MSG badparam = "parameter not set"; 286698Smckusick MSG badsub = "bad substitution"; 296698Smckusick MSG badcreate = "cannot create"; 306698Smckusick MSG illegal = "illegal io"; 316698Smckusick MSG restricted = "restricted"; 326698Smckusick MSG piperr = "cannot make pipe"; 336698Smckusick MSG badopen = "cannot open"; 346698Smckusick MSG coredump = " - core dumped"; 356698Smckusick MSG arglist = "arg list too long"; 366698Smckusick MSG txtbsy = "text busy"; 376698Smckusick MSG toobig = "too big"; 386698Smckusick MSG badexec = "cannot execute"; 396698Smckusick MSG notfound = "not found"; 406698Smckusick MSG badfile = "bad file number"; 416698Smckusick MSG badshift = "cannot shift"; 426698Smckusick MSG baddir = "bad directory"; 436698Smckusick MSG badtrap = "bad trap"; 446698Smckusick MSG wtfailed = "is read only"; 456698Smckusick MSG notid = "is not an identifier"; 466698Smckusick 476698Smckusick /* built in names */ 486698Smckusick MSG pathname = "PATH"; 496698Smckusick MSG homename = "HOME"; 506698Smckusick MSG mailname = "MAIL"; 516698Smckusick MSG fngname = "FILEMATCH"; 526698Smckusick MSG ifsname = "IFS"; 536698Smckusick MSG ps1name = "PS1"; 546698Smckusick MSG ps2name = "PS2"; 556698Smckusick 566698Smckusick /* string constants */ 576698Smckusick MSG nullstr = ""; 586698Smckusick MSG sptbnl = " \t\n"; 596698Smckusick MSG defpath = ":/bin:/usr/bin"; 606698Smckusick MSG colon = ": "; 616698Smckusick MSG minus = "-"; 626698Smckusick MSG endoffile = "end of file"; 636698Smckusick MSG unexpected = " unexpected"; 646698Smckusick MSG atline = " at line "; 656698Smckusick MSG devnull = "/dev/null"; 666698Smckusick MSG execpmsg = "+ "; 676698Smckusick MSG readmsg = "> "; 686698Smckusick MSG stdprompt = "$ "; 696698Smckusick MSG supprompt = "# "; 706698Smckusick MSG profile = ".profile"; 716698Smckusick 726698Smckusick 736698Smckusick /* tables */ 746698Smckusick SYSTAB reserved { 756698Smckusick {"in", INSYM}, 766698Smckusick {"esac", ESSYM}, 776698Smckusick {"case", CASYM}, 786698Smckusick {"for", FORSYM}, 796698Smckusick {"done", ODSYM}, 806698Smckusick {"if", IFSYM}, 816698Smckusick {"while", WHSYM}, 826698Smckusick {"do", DOSYM}, 836698Smckusick {"then", THSYM}, 846698Smckusick {"else", ELSYM}, 856698Smckusick {"elif", EFSYM}, 866698Smckusick {"fi", FISYM}, 876698Smckusick {"until", UNSYM}, 886698Smckusick { "{", BRSYM}, 896698Smckusick { "}", KTSYM}, 906698Smckusick {0, 0}, 916698Smckusick }; 926698Smckusick 936698Smckusick STRING sysmsg[] { 946698Smckusick 0, 956698Smckusick "Hangup", 966698Smckusick 0, /* Interrupt */ 976698Smckusick "Quit", 986698Smckusick "Illegal instruction", 996698Smckusick "Trace/BPT trap", 1006698Smckusick "IOT trap", 1016698Smckusick "EMT trap", 1026698Smckusick "Floating exception", 1036698Smckusick "Killed", 1046698Smckusick "Bus error", 1056698Smckusick "Memory fault", 1066698Smckusick "Bad system call", 1076698Smckusick 0, /* Broken pipe */ 1086698Smckusick "Alarm call", 1096698Smckusick "Terminated", 110*18428Smckusick "Urgent condition", 111*18428Smckusick "Stopped", 112*18428Smckusick "Stopped from terminal", 113*18428Smckusick "Continued", 114*18428Smckusick "Child terminated", 115*18428Smckusick "Stopped on terminal input", 116*18428Smckusick "Stopped on terminal output", 117*18428Smckusick "Asynchronous I/O", 118*18428Smckusick "Exceeded cpu time limit", 119*18428Smckusick "Exceeded file size limit", 120*18428Smckusick "Virtual time alarm", 121*18428Smckusick "Profiling time alarm", 122*18428Smckusick "Window changed", 123*18428Smckusick "Signal 29", 124*18428Smckusick "Signal 30", 125*18428Smckusick "Signal 31", 126*18428Smckusick "Signal 32", 1276698Smckusick }; 128*18428Smckusick INT num_sysmsg = (sizeof sysmsg / sizeof sysmsg[0]); 1296698Smckusick 1306698Smckusick MSG export = "export"; 1316698Smckusick MSG readonly = "readonly"; 1326698Smckusick SYSTAB commands { 1336698Smckusick {"cd", SYSCD}, 1346698Smckusick {"read", SYSREAD}, 1356698Smckusick /* 1366698Smckusick {"[", SYSTST}, 1376698Smckusick */ 1386698Smckusick {"set", SYSSET}, 1396698Smckusick {":", SYSNULL}, 1406698Smckusick {"trap", SYSTRAP}, 1416698Smckusick {"login", SYSLOGIN}, 1426698Smckusick {"wait", SYSWAIT}, 1436698Smckusick {"eval", SYSEVAL}, 1446698Smckusick {".", SYSDOT}, 1456698Smckusick {readonly, SYSRDONLY}, 1466698Smckusick {export, SYSXPORT}, 1476698Smckusick {"chdir", SYSCD}, 1486698Smckusick {"break", SYSBREAK}, 1496698Smckusick {"continue", SYSCONT}, 1506698Smckusick {"shift", SYSSHFT}, 1516698Smckusick {"exit", SYSEXIT}, 1526698Smckusick {"exec", SYSEXEC}, 1536698Smckusick {"times", SYSTIMES}, 1546698Smckusick {"umask", SYSUMASK}, 1556698Smckusick {0, 0}, 1566698Smckusick }; 157