xref: /original-bsd/old/sh/msg.c (revision b288febc)
1 #ifndef lint
2 static char sccsid[] = "@(#)msg.c	4.6 05/08/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 };
156