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