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