1 /*********************************************************************** 2 * * 3 * This software is part of the ast package * 4 * Copyright (c) 1982-2014 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 <dgkorn@gmail.com> * 18 * * 19 ***********************************************************************/ 20 #pragma prototyped 21 22 #ifndef SYSDECLARE 23 24 #include <option.h> 25 #include "FEATURE/options" 26 #include "FEATURE/dynamic" 27 #include "shtable.h" 28 29 #define SYSLOGIN (shgd->bltin_cmds) 30 #define SYSEXEC (shgd->bltin_cmds+1) 31 #define SYSSET (shgd->bltin_cmds+2) 32 #define SYSTRUE (shgd->bltin_cmds+4) 33 #define SYSCOMMAND (shgd->bltin_cmds+5) 34 #define SYSCD (shgd->bltin_cmds+6) 35 #define SYSBREAK (shgd->bltin_cmds+7) 36 #define SYSCONT (shgd->bltin_cmds+8) 37 #define SYSTYPESET (shgd->bltin_cmds+9) 38 #define SYSTEST (shgd->bltin_cmds+10) 39 #define SYSBRACKET (shgd->bltin_cmds+11) 40 #define SYSLET (shgd->bltin_cmds+12) 41 #define SYSEXPORT (shgd->bltin_cmds+13) 42 #define SYSDOT (shgd->bltin_cmds+14) 43 #define SYSRETURN (shgd->bltin_cmds+15) 44 #define SYSENUM (shgd->bltin_cmds+16) 45 #if SHOPT_BASH 46 # define SYSLOCAL (shgd->bltin_cmds+17) 47 #else 48 # define SYSLOCAL 0 49 #endif 50 51 /* entry point for shell special builtins */ 52 53 #if _BLD_shell && defined(__EXPORT__) 54 # define extern __EXPORT__ 55 #endif 56 57 extern int b_alias(int, char*[],Shbltin_t*); 58 extern int b_break(int, char*[],Shbltin_t*); 59 extern int b_dot_cmd(int, char*[],Shbltin_t*); 60 extern int b_enum(int, char*[],Shbltin_t*); 61 extern int b_exec(int, char*[],Shbltin_t*); 62 extern int b_eval(int, char*[],Shbltin_t*); 63 extern int b_return(int, char*[],Shbltin_t*); 64 extern int B_login(int, char*[],Shbltin_t*); 65 extern int b_true(int, char*[],Shbltin_t*); 66 extern int b_false(int, char*[],Shbltin_t*); 67 extern int b_readonly(int, char*[],Shbltin_t*); 68 extern int b_set(int, char*[],Shbltin_t*); 69 extern int b_shift(int, char*[],Shbltin_t*); 70 extern int b_trap(int, char*[],Shbltin_t*); 71 extern int b_typeset(int, char*[],Shbltin_t*); 72 extern int b_unset(int, char*[],Shbltin_t*); 73 extern int b_unalias(int, char*[],Shbltin_t*); 74 75 /* The following are for job control */ 76 #if defined(SIGCLD) || defined(SIGCHLD) 77 extern int b_jobs(int, char*[],Shbltin_t*); 78 extern int b_kill(int, char*[],Shbltin_t*); 79 # ifdef SIGTSTP 80 extern int b_bg(int, char*[],Shbltin_t*); 81 # endif /* SIGTSTP */ 82 #endif 83 84 /* The following utilities are built-in because of side-effects */ 85 extern int b_builtin(int, char*[],Shbltin_t*); 86 extern int b_cd(int, char*[],Shbltin_t*); 87 extern int b_command(int, char*[],Shbltin_t*); 88 extern int b_getopts(int, char*[],Shbltin_t*); 89 extern int b_hist(int, char*[],Shbltin_t*); 90 extern int b_let(int, char*[],Shbltin_t*); 91 extern int b_read(int, char*[],Shbltin_t*); 92 extern int b_ulimit(int, char*[],Shbltin_t*); 93 extern int b_umask(int, char*[],Shbltin_t*); 94 #ifdef _cmd_universe 95 extern int b_universe(int, char*[],Shbltin_t*); 96 #endif /* _cmd_universe */ 97 #if SHOPT_FS_3D 98 extern int b_vpath(int, char*[],Shbltin_t*); 99 #endif /* SHOPT_FS_3D */ 100 extern int b_wait(int, char*[],Shbltin_t*); 101 extern int b_whence(int, char*[],Shbltin_t*); 102 103 extern int b_alarm(int, char*[],Shbltin_t*); 104 extern int b_print(int, char*[],Shbltin_t*); 105 extern int b_printf(int, char*[],Shbltin_t*); 106 extern int b_pwd(int, char*[],Shbltin_t*); 107 extern int b_sleep(int, char*[],Shbltin_t*); 108 extern int b_test(int, char*[],Shbltin_t*); 109 extern int B_echo(int, char*[],Shbltin_t*); 110 #if SHOPT_POLL 111 extern int b_poll(int, char*[],Shbltin_t*); 112 #endif 113 #if 0 114 extern int b_mkservice(int, char*[],Shbltin_t*); 115 extern int b_eloop(int, char*[],Shbltin_t*); 116 #endif 117 #if SHOPT_COMPLETE 118 extern int b_complete(int, char*[],Shbltin_t*); 119 #endif /* SHOPT_COMPLETE */ 120 121 #undef extern 122 123 extern const char e_alrm1[]; 124 extern const char e_alrm2[]; 125 extern const char e_badfun[]; 126 extern const char e_baddisc[]; 127 extern const char e_nofork[]; 128 extern const char e_nosignal[]; 129 extern const char e_nolabels[]; 130 extern const char e_notimp[]; 131 extern const char e_nosupport[]; 132 extern const char e_badbase[]; 133 extern const char e_overlimit[]; 134 135 extern const char e_eneedsarg[]; 136 extern const char e_oneoperand[]; 137 extern const char e_toodeep[]; 138 extern const char e_badname[]; 139 extern const char e_badsyntax[]; 140 #ifdef _cmd_universe 141 extern const char e_nouniverse[]; 142 #endif /* _cmd_universe */ 143 extern const char e_histopen[]; 144 extern const char e_condition[]; 145 extern const char e_badrange[]; 146 extern const char e_trap[]; 147 extern const char e_direct[]; 148 extern const char e_defedit[]; 149 extern const char e_cneedsarg[]; 150 extern const char e_defined[]; 151 #if SHOPT_FS_3D 152 extern const char e_cantset[]; 153 extern const char e_cantget[]; 154 extern const char e_mapping[]; 155 extern const char e_versions[]; 156 #endif /* SHOPT_FS_3D */ 157 158 /* for option parsing */ 159 extern const char sh_set[]; 160 extern const char sh_optalarm[]; 161 extern const char sh_optalias[]; 162 extern const char sh_optbreak[]; 163 extern const char sh_optbuiltin[]; 164 extern const char sh_optcd[]; 165 extern const char sh_optcommand[]; 166 extern const char sh_optcont[]; 167 extern const char sh_optdot[]; 168 #ifndef ECHOPRINT 169 extern const char sh_optecho[]; 170 #endif /* !ECHOPRINT */ 171 extern const char sh_opteval[]; 172 extern const char sh_optexec[]; 173 extern const char sh_optexit[]; 174 extern const char sh_optexport[]; 175 extern const char sh_optgetopts[]; 176 extern const char sh_optbg[]; 177 extern const char sh_optdisown[]; 178 extern const char sh_optfg[]; 179 extern const char sh_opthist[]; 180 extern const char sh_optjobs[]; 181 extern const char sh_optkill[]; 182 extern const char sh_optksh[]; 183 extern const char sh_optlet[]; 184 extern const char sh_optprint[]; 185 extern const char sh_optprintf[]; 186 extern const char sh_optpwd[]; 187 extern const char sh_optread[]; 188 extern const char sh_optreadonly[]; 189 extern const char sh_optreturn[]; 190 extern const char sh_optset[]; 191 extern const char sh_optshift[]; 192 extern const char sh_optsleep[]; 193 extern const char sh_opttrap[]; 194 extern const char sh_opttypeset[]; 195 extern const char sh_optulimit[]; 196 extern const char sh_optumask[]; 197 extern const char sh_optunalias[]; 198 extern const char sh_optwait[]; 199 #ifdef _cmd_universe 200 extern const char sh_optuniverse[]; 201 #endif /* _cmd_universe */ 202 extern const char sh_optunset[]; 203 #if SHOPT_FS_3D 204 extern const char sh_optvpath[]; 205 extern const char sh_optvmap[]; 206 #endif /* SHOPT_FS_3D */ 207 extern const char sh_optwhence[]; 208 #endif /* SYSDECLARE */ 209 210 extern const char e_dict[]; 211 212