14887Schin /***********************************************************************
24887Schin *                                                                      *
34887Schin *               This software is part of the ast package               *
4*10898Sroland.mainz@nrubsig.org *          Copyright (c) 1982-2009 AT&T Intellectual Property          *
54887Schin *                      and is licensed under the                       *
64887Schin *                  Common Public License, Version 1.0                  *
78462SApril.Chin@Sun.COM *                    by AT&T Intellectual Property                     *
84887Schin *                                                                      *
94887Schin *                A copy of the License is available at                 *
104887Schin *            http://www.opensource.org/licenses/cpl1.0.txt             *
114887Schin *         (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9)         *
124887Schin *                                                                      *
134887Schin *              Information and Software Systems Research               *
144887Schin *                            AT&T Research                             *
154887Schin *                           Florham Park NJ                            *
164887Schin *                                                                      *
174887Schin *                  David Korn <dgk@research.att.com>                   *
184887Schin *                                                                      *
194887Schin ***********************************************************************/
204887Schin #pragma prototyped
214887Schin 
224887Schin #ifndef SH_VALNOD
234887Schin 
244887Schin #include        <option.h>
254887Schin #include        "FEATURE/options"
264887Schin #include        "FEATURE/dynamic"
274887Schin 
284887Schin /* The following defines are coordinated with data in data/variables.c */
294887Schin 
304887Schin #define	PATHNOD		(sh.bltin_nodes)
314887Schin #define PS1NOD		(sh.bltin_nodes+1)
324887Schin #define PS2NOD		(sh.bltin_nodes+2)
334887Schin #define IFSNOD		(sh.bltin_nodes+3)
344887Schin #define PWDNOD		(sh.bltin_nodes+4)
354887Schin #define HOME		(sh.bltin_nodes+5)
364887Schin #define MAILNOD		(sh.bltin_nodes+6)
374887Schin #define REPLYNOD	(sh.bltin_nodes+7)
384887Schin #define SHELLNOD	(sh.bltin_nodes+8)
394887Schin #define EDITNOD		(sh.bltin_nodes+9)
404887Schin #define MCHKNOD		(sh.bltin_nodes+10)
414887Schin #define RANDNOD		(sh.bltin_nodes+11)
424887Schin #define ENVNOD		(sh.bltin_nodes+12)
434887Schin #define HISTFILE	(sh.bltin_nodes+13)
444887Schin #define HISTSIZE	(sh.bltin_nodes+14)
454887Schin #define HISTEDIT	(sh.bltin_nodes+15)
464887Schin #define HISTCUR		(sh.bltin_nodes+16)
474887Schin #define FCEDNOD		(sh.bltin_nodes+17)
484887Schin #define CDPNOD		(sh.bltin_nodes+18)
494887Schin #define MAILPNOD	(sh.bltin_nodes+19)
504887Schin #define PS3NOD		(sh.bltin_nodes+20)
514887Schin #define OLDPWDNOD	(sh.bltin_nodes+21)
524887Schin #define VISINOD		(sh.bltin_nodes+22)
534887Schin #define COLUMNS		(sh.bltin_nodes+23)
544887Schin #define LINES		(sh.bltin_nodes+24)
554887Schin #define PPIDNOD		(sh.bltin_nodes+25)
564887Schin #define L_ARGNOD	(sh.bltin_nodes+26)
574887Schin #define TMOUTNOD	(sh.bltin_nodes+27)
584887Schin #define SECONDS		(sh.bltin_nodes+28)
594887Schin #define LINENO		(sh.bltin_nodes+29)
604887Schin #define OPTARGNOD	(sh.bltin_nodes+30)
614887Schin #define OPTINDNOD	(sh.bltin_nodes+31)
624887Schin #define PS4NOD		(sh.bltin_nodes+32)
634887Schin #define FPATHNOD	(sh.bltin_nodes+33)
644887Schin #define LANGNOD		(sh.bltin_nodes+34)
654887Schin #define LCALLNOD	(sh.bltin_nodes+35)
664887Schin #define LCCOLLNOD	(sh.bltin_nodes+36)
674887Schin #define LCTYPENOD	(sh.bltin_nodes+37)
684887Schin #define LCMSGNOD	(sh.bltin_nodes+38)
694887Schin #define LCNUMNOD	(sh.bltin_nodes+39)
704887Schin #define FIGNORENOD	(sh.bltin_nodes+40)
718462SApril.Chin@Sun.COM #define VERSIONNOD	(sh.bltin_nodes+41)
72*10898Sroland.mainz@nrubsig.org #define JOBMAXNOD	(sh.bltin_nodes+42)
73*10898Sroland.mainz@nrubsig.org #define DOTSHNOD	(sh.bltin_nodes+43)
74*10898Sroland.mainz@nrubsig.org #define ED_CHRNOD	(sh.bltin_nodes+44)
75*10898Sroland.mainz@nrubsig.org #define ED_COLNOD	(sh.bltin_nodes+45)
76*10898Sroland.mainz@nrubsig.org #define ED_TXTNOD	(sh.bltin_nodes+46)
77*10898Sroland.mainz@nrubsig.org #define ED_MODENOD	(sh.bltin_nodes+47)
78*10898Sroland.mainz@nrubsig.org #define SH_NAMENOD	(sh.bltin_nodes+48)
79*10898Sroland.mainz@nrubsig.org #define SH_SUBSCRNOD	(sh.bltin_nodes+49)
80*10898Sroland.mainz@nrubsig.org #define SH_VALNOD	(sh.bltin_nodes+50)
81*10898Sroland.mainz@nrubsig.org #define SH_VERSIONNOD	(sh.bltin_nodes+51)
82*10898Sroland.mainz@nrubsig.org #define SH_DOLLARNOD	(sh.bltin_nodes+52)
83*10898Sroland.mainz@nrubsig.org #define SH_MATCHNOD	(sh.bltin_nodes+53)
84*10898Sroland.mainz@nrubsig.org #define SH_COMMANDNOD	(sh.bltin_nodes+54)
85*10898Sroland.mainz@nrubsig.org #define SH_PATHNAMENOD	(sh.bltin_nodes+55)
86*10898Sroland.mainz@nrubsig.org #define SH_FUNNAMENOD	(sh.bltin_nodes+56)
87*10898Sroland.mainz@nrubsig.org #define SH_SUBSHELLNOD	(sh.bltin_nodes+57)
88*10898Sroland.mainz@nrubsig.org #define SH_LEVELNOD	(sh.bltin_nodes+58)
89*10898Sroland.mainz@nrubsig.org #define SH_LINENO	(sh.bltin_nodes+59)
90*10898Sroland.mainz@nrubsig.org #define SH_STATS	(sh.bltin_nodes+60)
91*10898Sroland.mainz@nrubsig.org #define SHLVL		(sh.bltin_nodes+61)
924887Schin #if SHOPT_FS_3D
93*10898Sroland.mainz@nrubsig.org #   define VPATHNOD	(sh.bltin_nodes+62)
944887Schin #   define NFS_3D	1
954887Schin #else
964887Schin #   define NFS_3D	0
974887Schin #endif /* SHOPT_FS_3D */
984887Schin #if SHOPT_VPIX
99*10898Sroland.mainz@nrubsig.org #   define DOSPATHNOD	(sh.bltin_nodes+62+NFS_3D)
100*10898Sroland.mainz@nrubsig.org #   define VPIXNOD	(sh.bltin_nodes+63+NFS_3D)
1014887Schin #   define NVPIX	(NFS_3D+2)
1024887Schin #else
1034887Schin #   define NVPIX	NFS_3D
1044887Schin #endif /* SHOPT_VPIX */
1054887Schin #ifdef apollo
106*10898Sroland.mainz@nrubsig.org #   define SYSTYPENOD	(sh.bltin_nodes+62+NVPIX)
1074887Schin #endif /* apollo */
1084887Schin 
1094887Schin #endif /* SH_VALNOD */
110