xref: /onnv-gate/usr/src/lib/libshell/common/include/builtins.h (revision 12068:08a39a083754)
14887Schin /***********************************************************************
24887Schin *                                                                      *
34887Schin *               This software is part of the ast package               *
4*12068SRoger.Faulkner@Oracle.COM *          Copyright (c) 1982-2010 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 SYSDECLARE
234887Schin 
244887Schin #include	<option.h>
254887Schin #include	"FEATURE/options"
264887Schin #include	"FEATURE/dynamic"
274887Schin #include	"shtable.h"
284887Schin 
294887Schin #define	SYSLOGIN	(sh.bltin_cmds)
304887Schin #define SYSEXEC		(sh.bltin_cmds+1)
314887Schin #define SYSSET		(sh.bltin_cmds+2)
324887Schin #define SYSTRUE		(sh.bltin_cmds+4)
334887Schin #define SYSCOMMAND	(sh.bltin_cmds+5)
344887Schin #define SYSCD		(sh.bltin_cmds+6)
354887Schin #define SYSBREAK	(sh.bltin_cmds+7)
364887Schin #define SYSCONT		(sh.bltin_cmds+8)
374887Schin #define SYSTYPESET	(sh.bltin_cmds+9)
384887Schin #define SYSTEST		(sh.bltin_cmds+10)
394887Schin #define SYSBRACKET	(sh.bltin_cmds+11)
404887Schin #define SYSLET		(sh.bltin_cmds+12)
414887Schin #define SYSEXPORT	(sh.bltin_cmds+13)
428462SApril.Chin@Sun.COM #define SYSDOT		(sh.bltin_cmds+14)
438462SApril.Chin@Sun.COM #define SYSRETURN	(sh.bltin_cmds+15)
444887Schin #if SHOPT_BASH
458462SApril.Chin@Sun.COM #   define SYSLOCAL	(sh.bltin_cmds+16)
464887Schin #else
474887Schin #   define SYSLOCAL	0
484887Schin #endif
494887Schin 
504887Schin /* entry point for shell special builtins */
514887Schin 
524887Schin #if _BLD_shell && defined(__EXPORT__)
534887Schin #	define extern	__EXPORT__
544887Schin #endif
554887Schin 
564887Schin extern int b_alias(int, char*[],void*);
574887Schin extern int b_break(int, char*[],void*);
584887Schin extern int b_dot_cmd(int, char*[],void*);
598462SApril.Chin@Sun.COM extern int b_enum(int, char*[],void*);
604887Schin extern int b_exec(int, char*[],void*);
614887Schin extern int b_eval(int, char*[],void*);
624887Schin extern int b_return(int, char*[],void*);
634887Schin extern int B_login(int, char*[],void*);
644887Schin extern int b_true(int, char*[],void*);
654887Schin extern int b_false(int, char*[],void*);
664887Schin extern int b_readonly(int, char*[],void*);
674887Schin extern int b_set(int, char*[],void*);
684887Schin extern int b_shift(int, char*[],void*);
694887Schin extern int b_trap(int, char*[],void*);
704887Schin extern int b_typeset(int, char*[],void*);
714887Schin extern int b_unset(int, char*[],void*);
724887Schin extern int b_unalias(int, char*[],void*);
734887Schin 
744887Schin /* The following are for job control */
754887Schin #if defined(SIGCLD) || defined(SIGCHLD)
764887Schin     extern int b_jobs(int, char*[],void*);
774887Schin     extern int b_kill(int, char*[],void*);
784887Schin #   ifdef SIGTSTP
794887Schin 	extern int b_bg(int, char*[],void*);
804887Schin #   endif	/* SIGTSTP */
814887Schin #endif
824887Schin 
834887Schin /* The following utilities are built-in because of side-effects */
844887Schin extern int b_builtin(int, char*[],void*);
854887Schin extern int b_cd(int, char*[],void*);
864887Schin extern int b_command(int, char*[],void*);
874887Schin extern int b_getopts(int, char*[],void*);
884887Schin extern int b_hist(int, char*[],void*);
894887Schin extern int b_let(int, char*[],void*);
904887Schin extern int b_read(int, char*[],void*);
914887Schin extern int b_ulimit(int, char*[],void*);
924887Schin extern int b_umask(int, char*[],void*);
934887Schin #ifdef _cmd_universe
944887Schin     extern int b_universe(int, char*[],void*);
954887Schin #endif /* _cmd_universe */
964887Schin #if SHOPT_FS_3D
974887Schin     extern int b_vpath(int, char*[],void*);
984887Schin #endif /* SHOPT_FS_3D */
994887Schin extern int b_wait(int, char*[],void*);
1004887Schin extern int b_whence(int, char*[],void*);
1014887Schin 
1024887Schin extern int b_alarm(int, char*[],void*);
1034887Schin extern int b_print(int, char*[],void*);
1044887Schin extern int b_printf(int, char*[],void*);
1054887Schin extern int b_pwd(int, char*[],void*);
1064887Schin extern int b_sleep(int, char*[],void*);
1074887Schin extern int b_test(int, char*[],void*);
1084887Schin #if !SHOPT_ECHOPRINT
1094887Schin     extern int B_echo(int, char*[],void*);
1104887Schin #endif /* SHOPT_ECHOPRINT */
1114887Schin 
1124887Schin #undef	extern
1134887Schin 
1144887Schin extern const char	e_alrm1[];
1154887Schin extern const char	e_alrm2[];
1164887Schin extern const char	e_badfun[];
1174887Schin extern const char	e_baddisc[];
1184887Schin extern const char	e_nofork[];
1194887Schin extern const char	e_nosignal[];
1204887Schin extern const char	e_nolabels[];
1214887Schin extern const char	e_notimp[];
1224887Schin extern const char	e_nosupport[];
1234887Schin extern const char	e_badbase[];
1244887Schin extern const char	e_overlimit[];
1254887Schin 
1264887Schin extern const char	e_eneedsarg[];
12710898Sroland.mainz@nrubsig.org extern const char	e_oneoperand[];
1284887Schin extern const char	e_toodeep[];
1294887Schin extern const char	e_badname[];
1304887Schin extern const char	e_badsyntax[];
1314887Schin #ifdef _cmd_universe
1324887Schin     extern const char	e_nouniverse[];
1334887Schin #endif /* _cmd_universe */
1344887Schin extern const char	e_histopen[];
1354887Schin extern const char	e_condition[];
1364887Schin extern const char	e_badrange[];
1374887Schin extern const char	e_trap[];
1384887Schin extern const char	e_direct[];
1394887Schin extern const char	e_defedit[];
1404887Schin extern const char	e_cneedsarg[];
1414887Schin extern const char	e_defined[];
1424887Schin #if SHOPT_FS_3D
1434887Schin     extern const char	e_cantset[];
1444887Schin     extern const char	e_cantget[];
1454887Schin     extern const char	e_mapping[];
1464887Schin     extern const char	e_versions[];
1474887Schin #endif /* SHOPT_FS_3D */
1484887Schin 
1494887Schin /* for option parsing */
1504887Schin extern const char sh_set[];
1514887Schin extern const char sh_optalarm[];
1524887Schin extern const char sh_optalias[];
1534887Schin extern const char sh_optbreak[];
1544887Schin extern const char sh_optbuiltin[];
1554887Schin extern const char sh_optcd[];
1564887Schin extern const char sh_optcommand[];
1574887Schin extern const char sh_optcont[];
1584887Schin extern const char sh_optdot[];
1594887Schin #ifndef ECHOPRINT
1604887Schin     extern const char sh_optecho[];
1614887Schin #endif /* !ECHOPRINT */
1624887Schin extern const char sh_opteval[];
1634887Schin extern const char sh_optexec[];
1644887Schin extern const char sh_optexit[];
1654887Schin extern const char sh_optexport[];
1664887Schin extern const char sh_optgetopts[];
1674887Schin extern const char sh_optbg[];
1684887Schin extern const char sh_optdisown[];
1694887Schin extern const char sh_optfg[];
1704887Schin extern const char sh_opthist[];
1714887Schin extern const char sh_optjobs[];
1724887Schin extern const char sh_optkill[];
1734887Schin extern const char sh_optksh[];
1744887Schin extern const char sh_optlet[];
1754887Schin extern const char sh_optprint[];
1764887Schin extern const char sh_optprintf[];
1774887Schin extern const char sh_optpwd[];
1784887Schin extern const char sh_optread[];
1794887Schin extern const char sh_optreadonly[];
1804887Schin extern const char sh_optreturn[];
1814887Schin extern const char sh_optset[];
1824887Schin extern const char sh_optshift[];
1834887Schin extern const char sh_optsleep[];
1844887Schin extern const char sh_opttrap[];
1854887Schin extern const char sh_opttypeset[];
1864887Schin extern const char sh_optulimit[];
1874887Schin extern const char sh_optumask[];
1884887Schin extern const char sh_optunalias[];
1894887Schin extern const char sh_optwait[];
1904887Schin #ifdef _cmd_universe
1914887Schin     extern const char sh_optuniverse[];
1924887Schin #endif /* _cmd_universe */
1934887Schin extern const char sh_optunset[];
1944887Schin #if SHOPT_FS_3D
1954887Schin     extern const char sh_optvpath[];
1964887Schin     extern const char sh_optvmap[];
1974887Schin #endif /* SHOPT_FS_3D */
1984887Schin extern const char sh_optwhence[];
1994887Schin #endif /* SYSDECLARE */
2004887Schin 
2014887Schin extern const char e_dict[];
2024887Schin 
203