1*4887Schin/*
2*4887Schin * CDDL HEADER START
3*4887Schin *
4*4887Schin * The contents of this file are subject to the terms of the
5*4887Schin * Common Development and Distribution License (the "License").
6*4887Schin * You may not use this file except in compliance with the License.
7*4887Schin *
8*4887Schin * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*4887Schin * or http://www.opensolaris.org/os/licensing.
10*4887Schin * See the License for the specific language governing permissions
11*4887Schin * and limitations under the License.
12*4887Schin *
13*4887Schin * When distributing Covered Code, include this CDDL HEADER in each
14*4887Schin * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*4887Schin * If applicable, add the following below this CDDL HEADER, with the
16*4887Schin * fields enclosed by brackets "[]" replaced with your own identifying
17*4887Schin * information: Portions Copyright [yyyy] [name of copyright owner]
18*4887Schin *
19*4887Schin * CDDL HEADER END
20*4887Schin */
21*4887Schin/*
22*4887Schin * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
23*4887Schin * Use is subject to license terms.
24*4887Schin *
25*4887Schin * lib/libshell/common/llib-lshell
26*4887Schin *
27*4887Schin */
28*4887Schin
29*4887Schin#pragma ident	"%Z%%M%	%I%	%E% SMI"
30*4887Schin
31*4887Schin/*LINTLIBRARY*/
32*4887Schin/*PROTOLIB1*/
33*4887Schin
34*4887Schin#include <shell.h>
35*4887Schin#include <nval.h>
36*4887Schin
37*4887Schin/* automatically generated data start here */
38*4887Schinextern const char e_defpath[];
39*4887Schinextern const char e_found[];
40*4887Schinextern const char e_nospace[];
41*4887Schinextern const char e_format[];
42*4887Schinextern const char e_number[];
43*4887Schinextern const char e_restricted[];
44*4887Schinextern const char e_recursive[];
45*4887Schinextern char e_version[];
46*4887Schinextern Dt_t *sh_bltin_tree (void);
47*4887Schinextern void sh_subfork (void);
48*4887Schinextern Shell_t *sh_init (int,char*[],Shinit_f);
49*4887Schinextern int sh_reinit (char*[]);
50*4887Schinextern int sh_eval (Sfio_t*,int);
51*4887Schinextern void sh_delay (double);
52*4887Schinextern void *sh_parse (Shell_t*, Sfio_t*,int);
53*4887Schinextern int sh_trap (const char*,int);
54*4887Schinextern int sh_fun (Namval_t*,Namval_t*, char*[]);
55*4887Schinextern int sh_funscope (int,char*[],int(*)(void*),void*,int);
56*4887Schinextern Sfio_t *sh_iogetiop (int,int);
57*4887Schinextern int sh_main (int, char*[], void(*)(int));
58*4887Schinextern void sh_menu (Sfio_t*, int, char*[]);
59*4887Schinextern Namval_t *sh_addbuiltin (const char*, int(*)(int, char*[],void*), void*);
60*4887Schinextern char *sh_fmtq (const char*);
61*4887Schinextern char *sh_fmtqf (const char*, int, int);
62*4887Schinextern Sfdouble_t sh_strnum (const char*, char**, int);
63*4887Schinextern int sh_access (const char*,int);
64*4887Schinextern int sh_close (int);
65*4887Schinextern int sh_dup (int);
66*4887Schinextern void sh_exit (int);
67*4887Schinextern int sh_fcntl (int, int, ...);
68*4887Schinextern Sfio_t *sh_fd2sfio (int);
69*4887Schinextern Shell_t *sh_getinterp (void);
70*4887Schinextern int sh_open (const char*, int, ...);
71*4887Schinextern int sh_openmax (void);
72*4887Schinextern Sfio_t *sh_pathopen (const char*);
73*4887Schinextern ssize_t sh_read (int, void*, size_t);
74*4887Schinextern ssize_t sh_write (int, const void*, size_t);
75*4887Schinextern off_t sh_seek (int, off_t, int);
76*4887Schinextern int sh_pipe (int[]);
77*4887Schinextern mode_t sh_umask (mode_t);
78*4887Schinextern void *sh_waitnotify (Shwait_f);
79*4887Schinextern Shscope_t *sh_getscope (int,int);
80*4887Schinextern Shscope_t *sh_setscope (Shscope_t*);
81*4887Schinextern void sh_sigcheck (void);
82*4887Schinextern unsigned long sh_isoption (int);
83*4887Schinextern unsigned long sh_onoption (int);
84*4887Schinextern unsigned long sh_offoption (int);
85*4887Schinextern int sh_waitsafe (void);
86*4887Schinextern int sh_exec (const Shnode_t*,int);
87*4887Schinextern int sh_waitsafe(void);
88*4887Schinextern int sh_exec(const Shnode_t*,int);
89*4887Schinextern void **sh_getliblist(void);
90*4887Schinextern Shell_t sh;
91*4887Schinextern Namarr_t *nv_setarray (Namval_t*,void*(*)(Namval_t*,const char*,int));
92*4887Schinextern void *nv_associative (Namval_t*,const char*,int);
93*4887Schinextern int nv_aindex (Namval_t*);
94*4887Schinextern int nv_nextsub (Namval_t*);
95*4887Schinextern char *nv_getsub (Namval_t*);
96*4887Schinextern Namval_t *nv_putsub (Namval_t*, char*, long);
97*4887Schinextern Namval_t *nv_opensub (Namval_t*);
98*4887Schinextern int nv_adddisc (Namval_t*, const char**, Namval_t**);
99*4887Schinextern int nv_clone (Namval_t*, Namval_t*, int);
100*4887Schinextern void nv_close (Namval_t*);
101*4887Schinextern void *nv_context (Namval_t*);
102*4887Schinextern Namval_t *nv_create (const char*, Dt_t*, int,Namfun_t*);
103*4887Schinextern Dt_t *nv_dict (Namval_t*);
104*4887Schinextern Sfdouble_t nv_getn (Namval_t*, Namfun_t*);
105*4887Schinextern Sfdouble_t nv_getnum (Namval_t*);
106*4887Schinextern char *nv_getv (Namval_t*, Namfun_t*);
107*4887Schinextern char *nv_getval (Namval_t*);
108*4887Schinextern Namfun_t *nv_hasdisc (Namval_t*, const Namdisc_t*);
109*4887Schinextern int nv_isnull (Namval_t*);
110*4887Schinextern Namval_t *nv_lastdict (void);
111*4887Schinextern void nv_newattr (Namval_t*,unsigned,int);
112*4887Schinextern Namval_t *nv_open (const char*,Dt_t*,int);
113*4887Schinextern void nv_putval (Namval_t*,const char*,int);
114*4887Schinextern void nv_putv (Namval_t*,const char*,int,Namfun_t*);
115*4887Schinextern int nv_scan (Dt_t*,void(*)(Namval_t*,void*),void*,int,int);
116*4887Schinextern Namval_t *nv_scoped (Namval_t*);
117*4887Schinextern char *nv_setdisc (Namval_t*,const char*,Namval_t*,Namfun_t*);
118*4887Schinextern void nv_setref (Namval_t*, Dt_t*,int);
119*4887Schinextern int nv_settype (Namval_t*, Namval_t*, int);
120*4887Schinextern void nv_setvec (Namval_t*,int,int,char*[]);
121*4887Schinextern void nv_setvtree (Namval_t*);
122*4887Schinextern int nv_setsize (Namval_t*,int);
123*4887Schinextern Namfun_t *nv_disc (Namval_t*,Namfun_t*,int);
124*4887Schinextern void nv_unset (Namval_t*);
125*4887Schinextern Namval_t *nv_search (const char *, Dt_t*, int);
126*4887Schinextern void nv_unscope (void);
127*4887Schinextern char *nv_name (Namval_t*);
128*4887Schinextern Namval_t *nv_type (Namval_t*);
129*4887Schinextern const Namdisc_t *nv_discfun (int);
130*4887Schin/* end of automatically generated data */
131*4887Schin
132*4887Schin/* Manually added based on libshell/common/include/builtins.h */
133*4887Schinextern int b_printf(int, char*[],void*);
134*4887Schinextern int B_echo(int, char*[],void*);
135*4887Schinextern int b_print(int, char*[],void*);
136*4887Schinextern int b_pwd(int, char*[],void*);
137*4887Schinextern int b_sleep(int, char*[],void*);
138*4887Schinextern int b_test(int, char*[],void*);
139