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