xref: /original-bsd/local/toolchest/ksh/sh/builtins.h (revision e1db577d)
1 /*
2 
3  *      Copyright (c) 1984, 1985, 1986 AT&T
4  *      All Rights Reserved
5 
6  *      THIS IS UNPUBLISHED PROPRIETARY SOURCE
7  *      CODE OF AT&T.
8  *      The copyright notice above does not
9  *      evidence any actual or intended
10  *      publication of such source code.
11 
12  */
13 /* @(#)builtins.h	1.1 */
14 
15 /* table of shell builtins */
16 /* currently can not be more than SYSMAX */
17 
18 #define SYSMAX		255
19 /* The following commands up to SYSSPECIAL treat parameter lists specially */
20 /* They do not evaluate in-line with command substitution */
21 /* Also, commands below SYSNULL cause a script to abort on errors */
22 #define SYSEXEC		1
23 #define SYSLOGIN	2
24 #define SYSFC		3
25 #define SYSEVAL		4
26 #define SYSDOT 		5
27 #define SYSRETURN	6
28 #define SYSRDONLY	7
29 #define SYSXPORT 	8
30 #define SYSTYPESET	9
31 #define SYSNULL 	10
32 #define	SYSSHFT		11
33 #define SYSCD 		12
34 #define SYSSPECIAL	12	/* end of special commands */
35 #define SYSEXIT		13
36 #define SYSULIMIT	14
37 #define SYSCONT 	15
38 #define SYSBREAK 	16
39 #define SYSTRAP 	17
40 #define SYSTIMES 	18
41 #define SYSUMASK	19
42 #define SYSWAIT		20
43 #define SYSREAD		21
44 #define SYSSET		22
45 #define SYSUNSET 	23
46 #define SYSLET		24
47 #define SYSALIAS	25
48 #define SYSUNALIAS	26
49 #define SYSWHENCE	27
50 #define SYSTEST		28
51 #define SYSPRINT	29
52 #define SYSECHO		30
53 #define SYSPWD		31
54 #define SYSFG		32
55 #define SYSBG		33
56 #define	SYSJOBS		34
57 #define SYSKILL		35
58 #ifdef apollo
59 #define	SYSINLIB	36
60 #define	SYSINPROCESS	37
61 #endif	/* apollo */
62 
63 /* structure for builtin shell variable names and aliases */
64 struct name_value
65 {
66 #ifdef apollo
67 	/* you can't readonly pointers */
68 	char	nv_name[12];
69 	char	nv_value[20];
70 #else
71 	char	*nv_name;
72 	char	*nv_value;
73 #endif	/* apollo */
74 };
75 
76 /* The following defines are coordinated with data in msg.c */
77 
78 #define	PATHNOD		(bltin_nodes)
79 #define PS1NOD		(bltin_nodes+1)
80 #define PS2NOD		(bltin_nodes+2)
81 #define IFSNOD		(bltin_nodes+3)
82 #define PWDNOD		(bltin_nodes+4)
83 #define HOME		(bltin_nodes+5)
84 #define MAILNOD		(bltin_nodes+6)
85 #define REPLYNOD	(bltin_nodes+7)
86 #define SHELLNOD	(bltin_nodes+8)
87 #define EDITNOD		(bltin_nodes+9)
88 #define MCHKNOD		(bltin_nodes+10)
89 #define RANDNOD		(bltin_nodes+11)
90 #define ENVNOD		(bltin_nodes+12)
91 #define HISTFILE	(bltin_nodes+13)
92 #define HISTSIZE	(bltin_nodes+14)
93 #define FCEDNOD		(bltin_nodes+15)
94 #define CDPNOD		(bltin_nodes+16)
95 #define MAILPNOD	(bltin_nodes+17)
96 #define PS3NOD		(bltin_nodes+18)
97 #define OLDPWDNOD	(bltin_nodes+19)
98 #define VISINOD		(bltin_nodes+20)
99 #define COLUMNS		(bltin_nodes+21)
100 #define LINES		(bltin_nodes+22)
101 #define PPIDNOD		(bltin_nodes+23)
102 #define L_ARGNOD	(bltin_nodes+24)
103 #define TMOUTNOD	(bltin_nodes+25)
104 #define SECONDS		(bltin_nodes+26)
105 #ifdef ACCT
106 #define ACCTNOD 	(bltin_nodes+27)
107 #define NNODES	28
108 #else
109 #define NNODES	27
110 #endif	/* ACCT */
111 #ifdef BSD
112 #define NALIAS	29
113 #else
114 #define NALIAS	28
115 #endif	/* BSD */
116 extern struct Namnod *bltin_nodes;
117 extern struct name_value node_names[];
118 extern struct name_value alias_names[];
119 #ifdef BSD
120 extern char	*limit_names[];
121 #endif	/* BSD */
122 
123