/* $Id: shell.h,v 1.6 1995/09/28 03:19:18 wilmesj Exp $ */
#ifndef _SHELL_H_
#define _SHELL_H_

/* includes */
#include <stdio.h>
#include <sys/types.h>
#include <sys/stream.h>

/* Stuff for run.C */
#define BG 1
#define NOBG 0
#define PIPE 2

/* mysh command defines */

#define MYSH_UNKNOWN_COMMAND 0
#define MYSH_QUIT 1
#define MYSH_HELP 2
#define MYSH_RUN  3
#define MYSH_BG   4
#define MYSH_PS   5
#define MYSH_KILL 6
#define MYSH_NIL 7

/* externs for help.C */
extern void do_help(char*);

/* externs for parse.C */
extern int parse_line(char*, char* &, char* &);

/* externs for readline.C */
extern char* rl_gets(char*);  // GNU Readline input c++ interface function.

/* externs for run.C */
int run (char*,unsigned char);
void trim (char*);

/* externs for ps.C */
#include <signal.h>
#include <unistd.h>

struct process
{
  char* name;
  pid_t pid;
//  unsigned char active;
  process* next;
};

extern void addproc (pid_t,char*);
extern void ps();
extern void kill_pid(char*);
extern void find_exit();
#endif
