1 /***********************************************************************
2 *                                                                      *
3 *               This software is part of the ast package               *
4 *          Copyright (c) 1982-2011 AT&T Intellectual Property          *
5 *                      and is licensed under the                       *
6 *                 Eclipse Public License, Version 1.0                  *
7 *                    by AT&T Intellectual Property                     *
8 *                                                                      *
9 *                A copy of the License is available at                 *
10 *          http://www.eclipse.org/org/documents/epl-v10.html           *
11 *         (with md5 checksum b35adb5213ca9657e911e9befb180842)         *
12 *                                                                      *
13 *              Information and Software Systems Research               *
14 *                            AT&T Research                             *
15 *                           Florham Park NJ                            *
16 *                                                                      *
17 *                  David Korn <dgk@research.att.com>                   *
18 *                                                                      *
19 ***********************************************************************/
20 #pragma prototyped
21 
22 #ifndef SH_VALNOD
23 
24 #include        <option.h>
25 #include        "FEATURE/options"
26 #include        "FEATURE/dynamic"
27 
28 /* The following defines are coordinated with data in data/variables.c */
29 
30 #define	PATHNOD		(shgd->bltin_nodes)
31 #define PS1NOD		(shgd->bltin_nodes+1)
32 #define PS2NOD		(shgd->bltin_nodes+2)
33 #define IFSNOD		(shgd->bltin_nodes+3)
34 #define PWDNOD		(shgd->bltin_nodes+4)
35 #define HOME		(shgd->bltin_nodes+5)
36 #define MAILNOD		(shgd->bltin_nodes+6)
37 #define REPLYNOD	(shgd->bltin_nodes+7)
38 #define SHELLNOD	(shgd->bltin_nodes+8)
39 #define EDITNOD		(shgd->bltin_nodes+9)
40 #define MCHKNOD		(shgd->bltin_nodes+10)
41 #define RANDNOD		(shgd->bltin_nodes+11)
42 #define ENVNOD		(shgd->bltin_nodes+12)
43 #define HISTFILE	(shgd->bltin_nodes+13)
44 #define HISTSIZE	(shgd->bltin_nodes+14)
45 #define HISTEDIT	(shgd->bltin_nodes+15)
46 #define HISTCUR		(shgd->bltin_nodes+16)
47 #define FCEDNOD		(shgd->bltin_nodes+17)
48 #define CDPNOD		(shgd->bltin_nodes+18)
49 #define MAILPNOD	(shgd->bltin_nodes+19)
50 #define PS3NOD		(shgd->bltin_nodes+20)
51 #define OLDPWDNOD	(shgd->bltin_nodes+21)
52 #define VISINOD		(shgd->bltin_nodes+22)
53 #define COLUMNS		(shgd->bltin_nodes+23)
54 #define LINES		(shgd->bltin_nodes+24)
55 #define PPIDNOD		(shgd->bltin_nodes+25)
56 #define L_ARGNOD	(shgd->bltin_nodes+26)
57 #define TMOUTNOD	(shgd->bltin_nodes+27)
58 #define SECONDS		(shgd->bltin_nodes+28)
59 #define LINENO		(shgd->bltin_nodes+29)
60 #define OPTARGNOD	(shgd->bltin_nodes+30)
61 #define OPTINDNOD	(shgd->bltin_nodes+31)
62 #define PS4NOD		(shgd->bltin_nodes+32)
63 #define FPATHNOD	(shgd->bltin_nodes+33)
64 #define LANGNOD		(shgd->bltin_nodes+34)
65 #define LCALLNOD	(shgd->bltin_nodes+35)
66 #define LCCOLLNOD	(shgd->bltin_nodes+36)
67 #define LCTYPENOD	(shgd->bltin_nodes+37)
68 #define LCMSGNOD	(shgd->bltin_nodes+38)
69 #define LCNUMNOD	(shgd->bltin_nodes+39)
70 #define FIGNORENOD	(shgd->bltin_nodes+40)
71 #define VERSIONNOD	(shgd->bltin_nodes+41)
72 #define JOBMAXNOD	(shgd->bltin_nodes+42)
73 #define DOTSHNOD	(shgd->bltin_nodes+43)
74 #define ED_CHRNOD	(shgd->bltin_nodes+44)
75 #define ED_COLNOD	(shgd->bltin_nodes+45)
76 #define ED_TXTNOD	(shgd->bltin_nodes+46)
77 #define ED_MODENOD	(shgd->bltin_nodes+47)
78 #define SH_NAMENOD	(shgd->bltin_nodes+48)
79 #define SH_SUBSCRNOD	(shgd->bltin_nodes+49)
80 #define SH_VALNOD	(shgd->bltin_nodes+50)
81 #define SH_VERSIONNOD	(shgd->bltin_nodes+51)
82 #define SH_DOLLARNOD	(shgd->bltin_nodes+52)
83 #define SH_MATCHNOD	(shgd->bltin_nodes+53)
84 #define SH_COMMANDNOD	(shgd->bltin_nodes+54)
85 #define SH_PATHNAMENOD	(shgd->bltin_nodes+55)
86 #define SH_FUNNAMENOD	(shgd->bltin_nodes+56)
87 #define SH_SUBSHELLNOD	(shgd->bltin_nodes+57)
88 #define SH_LEVELNOD	(shgd->bltin_nodes+58)
89 #define SH_LINENO	(shgd->bltin_nodes+59)
90 #define SH_STATS	(shgd->bltin_nodes+60)
91 #define SH_MATHNOD	(shgd->bltin_nodes+61)
92 #define SH_JOBPOOL	(shgd->bltin_nodes+62)
93 #define SHLVL		(shgd->bltin_nodes+63)
94 #if SHOPT_FS_3D
95 #   define VPATHNOD	(shgd->bltin_nodes+64)
96 #   define NFS_3D	1
97 #else
98 #   define NFS_3D	0
99 #endif /* SHOPT_FS_3D */
100 #if SHOPT_VPIX
101 #   define DOSPATHNOD	(shgd->bltin_nodes+64+NFS_3D)
102 #   define VPIXNOD	(shgd->bltin_nodes+65+NFS_3D)
103 #   define NVPIX	(NFS_3D+2)
104 #else
105 #   define NVPIX	NFS_3D
106 #endif /* SHOPT_VPIX */
107 #ifdef apollo
108 #   define SYSTYPENOD	(shgd->bltin_nodes+63+NVPIX)
109 #endif /* apollo */
110 
111 #endif /* SH_VALNOD */
112