#pragma prototyped
#ifdef SH_VERSION
#define NEWKSH
# if SH_VERSION >= 19961101
# define KSH93F
# endif
#endif
#define NIL(t) ((t)0)
#ifndef SH_SUBSHARE
#define SH_SUBSHARE (1L<<27)
#endif
#ifndef KSH93F
typedef struct _fcin
{
Sfio_t *_fcfile;
unsigned char *fcbuff;
unsigned char *fclast;
unsigned char *fcptr;
unsigned char fcchar;
void (*fcfun) __PROTO__((Sfio_t*,const char*,int));
} Fcin_t;
extern __MANGLE__ Fcin_t _Fcin;
#define fcsave(x) (*(x) = _Fcin)
#define fcrestore(x) (_Fcin = *(x))
int _nv_scan(Hashtab_t *root, void (*fn)(Namval_t *,void*), void *data,
int mask, int flags);
#define nv_scan _nv_scan
#else
typedef struct _fcin
{
char data[256];
} Fcin_t;
extern void fcsave(Fcin_t*);
extern void fcrestore(Fcin_t*);
#endif
Namval_t * nv_move(Namval_t *src, Namval_t *dst);
extern int TkshUpVar(Tcl_Interp *interp,char *,char *,char *,
Hashtab_t *scope);
extern Namval_t * TkshAccessVar(Tcl_Interp *interp, char *part1,
char *part2);
Hashtab_t* nv_globalscope(void);
void * nv_currentscope(void);
typedef Shscope_t CallFrame;
typedef int (*ShellProc_t)(int, char**, void*);
typedef int (*ShellNote_t)(int, long, int);