/*
* Ostermann's shell header file
*/
#define MAX_ARGS 100
/* This is the definition of a command */
struct command {
char *command; /* nema of the command of this pipe */
int argc; /* number of the arguments for this pipe */
char *argv[MAX_ARGS]; /* content of the arguments for this pipe */
char *infile; /* infile name for this pipe, NULL for N/A, only valid for first pipe */
char *outfile; /* outfile name for this pipe, NULL for N/A, only valid for last pipe */
char *errfile; /* error outfile name for this pipe, NULL for N/A */
int output_append; /* boolean: append stdout? */
int error_append; /* boolean: append stderr? */
int is_back; /* boolean: background task? same valur for all pipe in one line*/
struct command *nextpipe; /* point point to next pipe */
};
/* externals */
extern int yydebug;
/* global routine decls */
void doline(struct command *pass);
int yyparse(void);