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