14887Schin /*********************************************************************** 24887Schin * * 34887Schin * This software is part of the ast package * 4*8462SApril.Chin@Sun.COM * Copyright (c) 1982-2008 AT&T Intellectual Property * 54887Schin * and is licensed under the * 64887Schin * Common Public License, Version 1.0 * 7*8462SApril.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 #include <ast.h> 234887Schin #include "FEATURE/options" 244887Schin #include "FEATURE/dynamic" 254887Schin #include <shell.h> 264887Schin #include "shtable.h" 274887Schin #include "name.h" 284887Schin #include "defs.h" 29*8462SApril.Chin@Sun.COM #include "variables.h" 304887Schin 314887Schin /* 324887Schin * This is the list of built-in shell variables and default values 334887Schin * and default attributes. 344887Schin */ 354887Schin 364887Schin const struct shtable2 shtab_variables[] = 374887Schin { 384887Schin "PATH", 0, (char*)0, 394887Schin "PS1", 0, (char*)0, 404887Schin "PS2", NV_NOFREE, "> ", 414887Schin "IFS", NV_NOFREE, " \t\n", 424887Schin "PWD", 0, (char*)0, 434887Schin "HOME", 0, (char*)0, 444887Schin "MAIL", 0, (char*)0, 454887Schin "REPLY", 0, (char*)0, 464887Schin "SHELL", NV_NOFREE, "/bin/" SH_STD, 474887Schin "EDITOR", 0, (char*)0, 484887Schin "MAILCHECK", NV_NOFREE|NV_INTEGER, (char*)0, 494887Schin "RANDOM", NV_NOFREE|NV_INTEGER, (char*)0, 504887Schin "ENV", NV_NOFREE, "$HOME/.kshrc", 514887Schin "HISTFILE", 0, (char*)0, 524887Schin "HISTSIZE", 0, (char*)0, 534887Schin "HISTEDIT", NV_NOFREE, (char*)0, 544887Schin "HISTCMD", NV_NOFREE|NV_INTEGER, (char*)0, 554887Schin "FCEDIT", NV_NOFREE, "/bin/ed", 564887Schin "CDPATH", 0, (char*)0, 574887Schin "MAILPATH", 0, (char*)0, 584887Schin "PS3", NV_NOFREE, "#? ", 594887Schin "OLDPWD", 0, (char*)0, 604887Schin "VISUAL", 0, (char*)0, 614887Schin "COLUMNS", 0, (char*)0, 624887Schin "LINES", 0, (char*)0, 634887Schin "PPID", NV_NOFREE|NV_INTEGER, (char*)0, 644887Schin "_", NV_EXPORT, (char*)0, 654887Schin "TMOUT", NV_NOFREE|NV_INTEGER, (char*)0, 664887Schin "SECONDS", NV_NOFREE|NV_INTEGER|NV_DOUBLE, (char*)0, 674887Schin "LINENO", NV_NOFREE|NV_INTEGER, (char*)0, 684887Schin "OPTARG", 0, (char*)0, 694887Schin "OPTIND", NV_NOFREE|NV_INTEGER, (char*)0, 704887Schin "PS4", 0, (char*)0, 714887Schin "FPATH", 0, (char*)0, 724887Schin "LANG", 0, (char*)0, 734887Schin "LC_ALL", 0, (char*)0, 744887Schin "LC_COLLATE", 0, (char*)0, 754887Schin "LC_CTYPE", 0, (char*)0, 764887Schin "LC_MESSAGES", 0, (char*)0, 774887Schin "LC_NUMERIC", 0, (char*)0, 784887Schin "FIGNORE", 0, (char*)0, 79*8462SApril.Chin@Sun.COM "KSH_VERSION", 0, (char*)0, 804887Schin ".sh", NV_TABLE|NV_RDONLY|NV_NOFREE|NV_NOPRINT,(char*)0, 814887Schin ".sh.edchar", 0, (char*)0, 824887Schin ".sh.edcol", 0, (char*)0, 834887Schin ".sh.edtext", 0, (char*)0, 844887Schin ".sh.edmode", 0, (char*)0, 854887Schin ".sh.name", 0, (char*)0, 864887Schin ".sh.subscript",0, (char*)0, 874887Schin ".sh.value", 0, (char*)0, 884887Schin ".sh.version", NV_NOFREE, (char*)(&e_version[10]), 894887Schin ".sh.dollar", 0, (char*)0, 904887Schin ".sh.match", 0, (char*)0, 914887Schin ".sh.command", 0, (char*)0, 924887Schin ".sh.file", 0, (char*)0, 934887Schin ".sh.fun", 0, (char*)0, 944887Schin ".sh.subshell", NV_INTEGER|NV_SHORT|NV_NOFREE, (char*)0, 954887Schin ".sh.level", 0, (char*)0, 96*8462SApril.Chin@Sun.COM ".sh.lineno", NV_INTEGER|NV_RDONLY, (char*)0, 97*8462SApril.Chin@Sun.COM ".sh.stats", NV_RDONLY, (char*)0, 98*8462SApril.Chin@Sun.COM "SHLVL", NV_INTEGER|NV_NOFREE|NV_EXPORT, (char*)0, 994887Schin #if SHOPT_FS_3D 1004887Schin "VPATH", 0, (char*)0, 1014887Schin #endif /* SHOPT_FS_3D */ 1024887Schin #if SHOPT_MULTIBYTE 1034887Schin "CSWIDTH", 0, (char*)0, 1044887Schin #endif /* SHOPT_MULTIBYTE */ 1054887Schin #ifdef apollo 1064887Schin "SYSTYPE", 0, (char*)0, 1074887Schin #endif /* apollo */ 1084887Schin "", 0, (char*)0 1094887Schin }; 1104887Schin 111*8462SApril.Chin@Sun.COM const char *nv_discnames[] = { "get", "set", "append", "unset", 0 }; 112*8462SApril.Chin@Sun.COM 113*8462SApril.Chin@Sun.COM #ifdef SHOPT_STATS 114*8462SApril.Chin@Sun.COM const Shtable_t shtab_stats[] = 115*8462SApril.Chin@Sun.COM { 116*8462SApril.Chin@Sun.COM "arg_cachehits", STAT_ARGHITS, 117*8462SApril.Chin@Sun.COM "arg_expands", STAT_ARGEXPAND, 118*8462SApril.Chin@Sun.COM "comsubs", STAT_COMSUB, 119*8462SApril.Chin@Sun.COM "forks", STAT_FORKS, 120*8462SApril.Chin@Sun.COM "funcalls", STAT_FUNCT, 121*8462SApril.Chin@Sun.COM "globs", STAT_GLOBS, 122*8462SApril.Chin@Sun.COM "linesread", STAT_READS, 123*8462SApril.Chin@Sun.COM "nv_cachehit", STAT_NVHITS, 124*8462SApril.Chin@Sun.COM "nv_opens", STAT_NVOPEN, 125*8462SApril.Chin@Sun.COM "pathsearch", STAT_PATHS, 126*8462SApril.Chin@Sun.COM "posixfuncall", STAT_SVFUNCT, 127*8462SApril.Chin@Sun.COM "simplecmds", STAT_SCMDS, 128*8462SApril.Chin@Sun.COM "spawns", STAT_SPAWN, 129*8462SApril.Chin@Sun.COM "subshell", STAT_SUBSHELL 130*8462SApril.Chin@Sun.COM }; 131*8462SApril.Chin@Sun.COM #endif /* SHOPT_STATS */ 132*8462SApril.Chin@Sun.COM 133