1da2e3ebdSchin /*********************************************************************** 2da2e3ebdSchin * * 3da2e3ebdSchin * This software is part of the ast package * 4*b30d1939SAndy Fiddaman * Copyright (c) 1982-2012 AT&T Intellectual Property * 5da2e3ebdSchin * and is licensed under the * 6*b30d1939SAndy Fiddaman * Eclipse Public License, Version 1.0 * 77c2fbfb3SApril Chin * by AT&T Intellectual Property * 8da2e3ebdSchin * * 9da2e3ebdSchin * A copy of the License is available at * 10*b30d1939SAndy Fiddaman * http://www.eclipse.org/org/documents/epl-v10.html * 11*b30d1939SAndy Fiddaman * (with md5 checksum b35adb5213ca9657e911e9befb180842) * 12da2e3ebdSchin * * 13da2e3ebdSchin * Information and Software Systems Research * 14da2e3ebdSchin * AT&T Research * 15da2e3ebdSchin * Florham Park NJ * 16da2e3ebdSchin * * 17da2e3ebdSchin * David Korn <dgk@research.att.com> * 18da2e3ebdSchin * * 19da2e3ebdSchin ***********************************************************************/ 20da2e3ebdSchin #pragma prototyped 21da2e3ebdSchin 22da2e3ebdSchin #include <ast.h> 23da2e3ebdSchin #include "FEATURE/options" 24da2e3ebdSchin #include "FEATURE/dynamic" 25da2e3ebdSchin #include <shell.h> 26da2e3ebdSchin #include "shtable.h" 27da2e3ebdSchin #include "name.h" 28da2e3ebdSchin #include "defs.h" 297c2fbfb3SApril Chin #include "variables.h" 30*b30d1939SAndy Fiddaman #include "builtins.h" 31da2e3ebdSchin 32da2e3ebdSchin /* 33da2e3ebdSchin * This is the list of built-in shell variables and default values 34da2e3ebdSchin * and default attributes. 35da2e3ebdSchin */ 36da2e3ebdSchin 37da2e3ebdSchin const struct shtable2 shtab_variables[] = 38da2e3ebdSchin { 39da2e3ebdSchin "PATH", 0, (char*)0, 40da2e3ebdSchin "PS1", 0, (char*)0, 41da2e3ebdSchin "PS2", NV_NOFREE, "> ", 42da2e3ebdSchin "IFS", NV_NOFREE, " \t\n", 43da2e3ebdSchin "PWD", 0, (char*)0, 44da2e3ebdSchin "HOME", 0, (char*)0, 45da2e3ebdSchin "MAIL", 0, (char*)0, 46da2e3ebdSchin "REPLY", 0, (char*)0, 47da2e3ebdSchin "SHELL", NV_NOFREE, "/bin/" SH_STD, 48da2e3ebdSchin "EDITOR", 0, (char*)0, 49da2e3ebdSchin "MAILCHECK", NV_NOFREE|NV_INTEGER, (char*)0, 50da2e3ebdSchin "RANDOM", NV_NOFREE|NV_INTEGER, (char*)0, 5134f9b3eeSRoland Mainz "ENV", NV_NOFREE, (char*)0, 52da2e3ebdSchin "HISTFILE", 0, (char*)0, 53da2e3ebdSchin "HISTSIZE", 0, (char*)0, 54da2e3ebdSchin "HISTEDIT", NV_NOFREE, (char*)0, 55da2e3ebdSchin "HISTCMD", NV_NOFREE|NV_INTEGER, (char*)0, 56*b30d1939SAndy Fiddaman "FCEDIT", NV_NOFREE, &e_defedit[0], 57da2e3ebdSchin "CDPATH", 0, (char*)0, 58da2e3ebdSchin "MAILPATH", 0, (char*)0, 59da2e3ebdSchin "PS3", NV_NOFREE, "#? ", 60da2e3ebdSchin "OLDPWD", 0, (char*)0, 61da2e3ebdSchin "VISUAL", 0, (char*)0, 62da2e3ebdSchin "COLUMNS", 0, (char*)0, 63da2e3ebdSchin "LINES", 0, (char*)0, 64da2e3ebdSchin "PPID", NV_NOFREE|NV_INTEGER, (char*)0, 65da2e3ebdSchin "_", NV_EXPORT, (char*)0, 66da2e3ebdSchin "TMOUT", NV_NOFREE|NV_INTEGER, (char*)0, 67da2e3ebdSchin "SECONDS", NV_NOFREE|NV_INTEGER|NV_DOUBLE, (char*)0, 68da2e3ebdSchin "LINENO", NV_NOFREE|NV_INTEGER, (char*)0, 69da2e3ebdSchin "OPTARG", 0, (char*)0, 70da2e3ebdSchin "OPTIND", NV_NOFREE|NV_INTEGER, (char*)0, 71da2e3ebdSchin "PS4", 0, (char*)0, 72da2e3ebdSchin "FPATH", 0, (char*)0, 73da2e3ebdSchin "LANG", 0, (char*)0, 74da2e3ebdSchin "LC_ALL", 0, (char*)0, 75da2e3ebdSchin "LC_COLLATE", 0, (char*)0, 76da2e3ebdSchin "LC_CTYPE", 0, (char*)0, 77da2e3ebdSchin "LC_MESSAGES", 0, (char*)0, 78da2e3ebdSchin "LC_NUMERIC", 0, (char*)0, 79da2e3ebdSchin "FIGNORE", 0, (char*)0, 807c2fbfb3SApril Chin "KSH_VERSION", 0, (char*)0, 8134f9b3eeSRoland Mainz "JOBMAX", NV_NOFREE|NV_INTEGER, (char*)0, 82*b30d1939SAndy Fiddaman ".sh", NV_TABLE|NV_NOFREE|NV_NOPRINT, (char*)0, 83da2e3ebdSchin ".sh.edchar", 0, (char*)0, 84da2e3ebdSchin ".sh.edcol", 0, (char*)0, 85da2e3ebdSchin ".sh.edtext", 0, (char*)0, 86da2e3ebdSchin ".sh.edmode", 0, (char*)0, 87da2e3ebdSchin ".sh.name", 0, (char*)0, 88da2e3ebdSchin ".sh.subscript",0, (char*)0, 89da2e3ebdSchin ".sh.value", 0, (char*)0, 90da2e3ebdSchin ".sh.version", NV_NOFREE, (char*)(&e_version[10]), 91da2e3ebdSchin ".sh.dollar", 0, (char*)0, 92da2e3ebdSchin ".sh.match", 0, (char*)0, 93da2e3ebdSchin ".sh.command", 0, (char*)0, 94da2e3ebdSchin ".sh.file", 0, (char*)0, 95da2e3ebdSchin ".sh.fun", 0, (char*)0, 96da2e3ebdSchin ".sh.subshell", NV_INTEGER|NV_SHORT|NV_NOFREE, (char*)0, 97da2e3ebdSchin ".sh.level", 0, (char*)0, 98*b30d1939SAndy Fiddaman ".sh.lineno", NV_INTEGER, (char*)0, 99*b30d1939SAndy Fiddaman ".sh.stats", 0, (char*)0, 100*b30d1939SAndy Fiddaman ".sh.math", 0, (char*)0, 101*b30d1939SAndy Fiddaman ".sh.pool", 0, (char*)0, 1027c2fbfb3SApril Chin "SHLVL", NV_INTEGER|NV_NOFREE|NV_EXPORT, (char*)0, 103da2e3ebdSchin #if SHOPT_FS_3D 104da2e3ebdSchin "VPATH", 0, (char*)0, 105da2e3ebdSchin #endif /* SHOPT_FS_3D */ 106da2e3ebdSchin #if SHOPT_MULTIBYTE 107da2e3ebdSchin "CSWIDTH", 0, (char*)0, 108da2e3ebdSchin #endif /* SHOPT_MULTIBYTE */ 109da2e3ebdSchin #ifdef apollo 110da2e3ebdSchin "SYSTYPE", 0, (char*)0, 111da2e3ebdSchin #endif /* apollo */ 112da2e3ebdSchin "", 0, (char*)0 113da2e3ebdSchin }; 114da2e3ebdSchin 11534f9b3eeSRoland Mainz const char *nv_discnames[] = { "get", "set", "append", "unset", "getn", 0 }; 1167c2fbfb3SApril Chin 1177c2fbfb3SApril Chin #ifdef SHOPT_STATS 1187c2fbfb3SApril Chin const Shtable_t shtab_stats[] = 1197c2fbfb3SApril Chin { 1207c2fbfb3SApril Chin "arg_cachehits", STAT_ARGHITS, 1217c2fbfb3SApril Chin "arg_expands", STAT_ARGEXPAND, 1227c2fbfb3SApril Chin "comsubs", STAT_COMSUB, 1237c2fbfb3SApril Chin "forks", STAT_FORKS, 1247c2fbfb3SApril Chin "funcalls", STAT_FUNCT, 1257c2fbfb3SApril Chin "globs", STAT_GLOBS, 1267c2fbfb3SApril Chin "linesread", STAT_READS, 1277c2fbfb3SApril Chin "nv_cachehit", STAT_NVHITS, 1287c2fbfb3SApril Chin "nv_opens", STAT_NVOPEN, 1297c2fbfb3SApril Chin "pathsearch", STAT_PATHS, 1307c2fbfb3SApril Chin "posixfuncall", STAT_SVFUNCT, 1317c2fbfb3SApril Chin "simplecmds", STAT_SCMDS, 1327c2fbfb3SApril Chin "spawns", STAT_SPAWN, 1337c2fbfb3SApril Chin "subshell", STAT_SUBSHELL 1347c2fbfb3SApril Chin }; 1357c2fbfb3SApril Chin #endif /* SHOPT_STATS */ 1367c2fbfb3SApril Chin 137