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