18462SApril.Chin@Sun.COM 28462SApril.Chin@Sun.COM /* : : generated by proto : : */ 38462SApril.Chin@Sun.COM /*********************************************************************** 48462SApril.Chin@Sun.COM * * 58462SApril.Chin@Sun.COM * This software is part of the ast package * 6*12068SRoger.Faulkner@Oracle.COM * Copyright (c) 1985-2010 AT&T Intellectual Property * 78462SApril.Chin@Sun.COM * and is licensed under the * 88462SApril.Chin@Sun.COM * Common Public License, Version 1.0 * 98462SApril.Chin@Sun.COM * by AT&T Intellectual Property * 108462SApril.Chin@Sun.COM * * 118462SApril.Chin@Sun.COM * A copy of the License is available at * 128462SApril.Chin@Sun.COM * http://www.opensource.org/licenses/cpl1.0.txt * 138462SApril.Chin@Sun.COM * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 148462SApril.Chin@Sun.COM * * 158462SApril.Chin@Sun.COM * Information and Software Systems Research * 168462SApril.Chin@Sun.COM * AT&T Research * 178462SApril.Chin@Sun.COM * Florham Park NJ * 188462SApril.Chin@Sun.COM * * 198462SApril.Chin@Sun.COM * Glenn Fowler <gsf@research.att.com> * 208462SApril.Chin@Sun.COM * David Korn <dgk@research.att.com> * 218462SApril.Chin@Sun.COM * Phong Vo <kpv@research.att.com> * 228462SApril.Chin@Sun.COM * * 238462SApril.Chin@Sun.COM ***********************************************************************/ 248462SApril.Chin@Sun.COM 258462SApril.Chin@Sun.COM 268462SApril.Chin@Sun.COM /* 278462SApril.Chin@Sun.COM * ksh builtin command api 288462SApril.Chin@Sun.COM */ 298462SApril.Chin@Sun.COM 308462SApril.Chin@Sun.COM #ifndef _SHCMD_H 318462SApril.Chin@Sun.COM #if !defined(__PROTO__) 328462SApril.Chin@Sun.COM #include <prototyped.h> 338462SApril.Chin@Sun.COM #endif 348462SApril.Chin@Sun.COM #if !defined(__LINKAGE__) 358462SApril.Chin@Sun.COM #define __LINKAGE__ /* 2004-08-11 transition */ 368462SApril.Chin@Sun.COM #endif 378462SApril.Chin@Sun.COM 388462SApril.Chin@Sun.COM #define _SHCMD_H 1 398462SApril.Chin@Sun.COM 408462SApril.Chin@Sun.COM #ifndef SH_VERSION 418462SApril.Chin@Sun.COM # define Shell_t void 428462SApril.Chin@Sun.COM #endif 438462SApril.Chin@Sun.COM #ifndef NV_DEFAULT 448462SApril.Chin@Sun.COM # define Namval_t void 458462SApril.Chin@Sun.COM #endif 468462SApril.Chin@Sun.COM #ifndef ERROR_NOTIFY 478462SApril.Chin@Sun.COM # define ERROR_NOTIFY 1 488462SApril.Chin@Sun.COM #endif 498462SApril.Chin@Sun.COM 508462SApril.Chin@Sun.COM typedef int (*Shbltin_f) __PROTO__((int, char**, __V_*)); 518462SApril.Chin@Sun.COM 528462SApril.Chin@Sun.COM #undef Shbltin_t 538462SApril.Chin@Sun.COM typedef struct Shbltin_s 548462SApril.Chin@Sun.COM { 558462SApril.Chin@Sun.COM Shell_t *shp; 568462SApril.Chin@Sun.COM __V_ *ptr; 578462SApril.Chin@Sun.COM int version; 588462SApril.Chin@Sun.COM int (*shrun) __PROTO__((int, char**)); 598462SApril.Chin@Sun.COM int (*shtrap) __PROTO__((const char*, int)); 608462SApril.Chin@Sun.COM void (*shexit) __PROTO__((int)); 618462SApril.Chin@Sun.COM Namval_t *(*shbltin) __PROTO__((const char*, Shbltin_f, __V_*)); 628462SApril.Chin@Sun.COM unsigned char notify; 638462SApril.Chin@Sun.COM unsigned char sigset; 648462SApril.Chin@Sun.COM unsigned char nosfio; 658462SApril.Chin@Sun.COM Namval_t *bnode; 668462SApril.Chin@Sun.COM Namval_t *vnode; 678462SApril.Chin@Sun.COM char *data; 688462SApril.Chin@Sun.COM int flags; 698462SApril.Chin@Sun.COM char *(*shgetenv) __PROTO__((const char*)); 708462SApril.Chin@Sun.COM char *(*shsetenv) __PROTO__((const char*)); 718462SApril.Chin@Sun.COM int invariant; 728462SApril.Chin@Sun.COM } Shbltin_t; 738462SApril.Chin@Sun.COM 748462SApril.Chin@Sun.COM #if defined(SH_VERSION) || defined(_SH_PRIVATE) 758462SApril.Chin@Sun.COM # undef Shell_t 768462SApril.Chin@Sun.COM # undef Namval_t 778462SApril.Chin@Sun.COM #else 7810898Sroland.mainz@nrubsig.org # define sh_context(c) ((Shbltin_t*)(c)) 7910898Sroland.mainz@nrubsig.org # define sh_run(c, ac, av) ((c)?(*sh_context(c)->shrun)(ac,av):-1) 8010898Sroland.mainz@nrubsig.org # define sh_system(c,str) ((c)?(*sh_context(c)->shtrap)(str,0):system(str)) 8110898Sroland.mainz@nrubsig.org # define sh_exit(c,n) ((c)?(*sh_context(c)->shexit)(n):exit(n)) 8210898Sroland.mainz@nrubsig.org # define sh_checksig(c) ((c) && sh_context(c)->sigset) 838462SApril.Chin@Sun.COM # if defined(SFIO_VERSION) || defined(_AST_H) 848462SApril.Chin@Sun.COM # define LIB_INIT(c) 858462SApril.Chin@Sun.COM # else 8610898Sroland.mainz@nrubsig.org # define LIB_INIT(c) ((c) && (sh_context(c)->nosfio = 1)) 878462SApril.Chin@Sun.COM # endif 888462SApril.Chin@Sun.COM # ifndef _CMD_H 898462SApril.Chin@Sun.COM # define cmdinit(ac,av,c,cat,flg) do { if((ac)<=0) return(0); \ 9010898Sroland.mainz@nrubsig.org (sh_context(c)->notify = ((flg)&ERROR_NOTIFY)?1:0);} while(0) 918462SApril.Chin@Sun.COM # endif 928462SApril.Chin@Sun.COM #endif 938462SApril.Chin@Sun.COM 948462SApril.Chin@Sun.COM #if _BLD_ast && defined(__EXPORT__) 958462SApril.Chin@Sun.COM #undef __MANGLE__ 968462SApril.Chin@Sun.COM #define __MANGLE__ __LINKAGE__ __EXPORT__ 978462SApril.Chin@Sun.COM #endif 988462SApril.Chin@Sun.COM 998462SApril.Chin@Sun.COM extern __MANGLE__ int astintercept __PROTO__((Shbltin_t*, int)); 1008462SApril.Chin@Sun.COM 1018462SApril.Chin@Sun.COM #undef __MANGLE__ 1028462SApril.Chin@Sun.COM #define __MANGLE__ __LINKAGE__ 1038462SApril.Chin@Sun.COM 1048462SApril.Chin@Sun.COM #endif 105