xref: /csrg-svn/old/sh/msg.c (revision 37678)
114478Ssam #ifndef lint
2*37678Sbostic static char sccsid[] = "@(#)msg.c	4.6 05/08/89";
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	colon		= ": ";
606698Smckusick MSG	minus		= "-";
616698Smckusick MSG	endoffile	= "end of file";
626698Smckusick MSG	unexpected 	= " unexpected";
636698Smckusick MSG	atline		= " at line ";
646698Smckusick MSG	devnull		= "/dev/null";
656698Smckusick MSG	execpmsg	= "+ ";
666698Smckusick MSG	readmsg		= "> ";
676698Smckusick MSG	stdprompt	= "$ ";
686698Smckusick MSG	supprompt	= "# ";
696698Smckusick MSG	profile		= ".profile";
706698Smckusick 
716698Smckusick 
726698Smckusick /* tables */
7330367Ssam SYSTAB reserved = {
746698Smckusick 		{"in",		INSYM},
756698Smckusick 		{"esac",	ESSYM},
766698Smckusick 		{"case",	CASYM},
776698Smckusick 		{"for",		FORSYM},
786698Smckusick 		{"done",	ODSYM},
796698Smckusick 		{"if",		IFSYM},
806698Smckusick 		{"while",	WHSYM},
816698Smckusick 		{"do",		DOSYM},
826698Smckusick 		{"then",	THSYM},
836698Smckusick 		{"else",	ELSYM},
846698Smckusick 		{"elif",	EFSYM},
856698Smckusick 		{"fi",		FISYM},
866698Smckusick 		{"until",	UNSYM},
876698Smckusick 		{ "{",		BRSYM},
886698Smckusick 		{ "}",		KTSYM},
896698Smckusick 		{0,	0},
906698Smckusick };
916698Smckusick 
9230367Ssam STRING	sysmsg[] = {
936698Smckusick 		0,
946698Smckusick 		"Hangup",
956698Smckusick 		0,	/* Interrupt */
966698Smckusick 		"Quit",
976698Smckusick 		"Illegal instruction",
986698Smckusick 		"Trace/BPT trap",
996698Smckusick 		"IOT trap",
1006698Smckusick 		"EMT trap",
1016698Smckusick 		"Floating exception",
1026698Smckusick 		"Killed",
1036698Smckusick 		"Bus error",
1046698Smckusick 		"Memory fault",
1056698Smckusick 		"Bad system call",
1066698Smckusick 		0,	/* Broken pipe */
1076698Smckusick 		"Alarm call",
1086698Smckusick 		"Terminated",
10918428Smckusick 		"Urgent condition",
11018428Smckusick 		"Stopped",
11118428Smckusick 		"Stopped from terminal",
11218428Smckusick 		"Continued",
11318428Smckusick 		"Child terminated",
11418428Smckusick 		"Stopped on terminal input",
11518428Smckusick 		"Stopped on terminal output",
11618428Smckusick 		"Asynchronous I/O",
11718428Smckusick 		"Exceeded cpu time limit",
11818428Smckusick 		"Exceeded file size limit",
11918428Smckusick 		"Virtual time alarm",
12018428Smckusick 		"Profiling time alarm",
12118428Smckusick 		"Window changed",
12218428Smckusick 		"Signal 29",
12321008Smckusick 		"User defined signal 1",
12421008Smckusick 		"User defined signal 2",
12518428Smckusick 		"Signal 32",
1266698Smckusick };
12718428Smckusick INT		num_sysmsg = (sizeof sysmsg / sizeof sysmsg[0]);
1286698Smckusick 
1296698Smckusick MSG		export = "export";
1306698Smckusick MSG		readonly = "readonly";
13130367Ssam SYSTAB	commands = {
1326698Smckusick 		{"cd",		SYSCD},
1336698Smckusick 		{"read",	SYSREAD},
1346698Smckusick /*
1356698Smckusick 		{"[",		SYSTST},
1366698Smckusick */
1376698Smckusick 		{"set",		SYSSET},
1386698Smckusick 		{":",		SYSNULL},
1396698Smckusick 		{"trap",	SYSTRAP},
1406698Smckusick 		{"login",	SYSLOGIN},
1416698Smckusick 		{"wait",	SYSWAIT},
1426698Smckusick 		{"eval",	SYSEVAL},
1436698Smckusick 		{".",		SYSDOT},
1446698Smckusick 		{readonly,	SYSRDONLY},
1456698Smckusick 		{export,	SYSXPORT},
1466698Smckusick 		{"chdir",	SYSCD},
1476698Smckusick 		{"break",	SYSBREAK},
1486698Smckusick 		{"continue",	SYSCONT},
1496698Smckusick 		{"shift",	SYSSHFT},
1506698Smckusick 		{"exit",	SYSEXIT},
1516698Smckusick 		{"exec",	SYSEXEC},
1526698Smckusick 		{"times",	SYSTIMES},
1536698Smckusick 		{"umask",	SYSUMASK},
1546698Smckusick 		{0,	0},
1556698Smckusick };
156