home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d1xx / d107 / csh.lha / Csh / shell.h < prev    next >
C/C++ Source or Header  |  1987-10-31  |  4KB  |  125 lines

  1.  
  2. /*
  3.  * SHELL.H
  4.  *
  5.  * (c)1986 Matthew Dillon     9 October 1986
  6.  *
  7.  *
  8.  * SHELL include file.. contains shell parameters and extern's
  9.  *
  10.  * Version 2.07M by Steve Drew 10-Sep-87
  11.  *
  12.  */
  13.  
  14. #define RAW_CONSOLE 1    /* Set to 0 to compile out Cmd Line Editing */
  15.  
  16. #include <stdio.h>
  17. #include <time.h> 
  18. #include <exec/types.h>
  19. #include <exec/exec.h>
  20. #include <libraries/dos.h>
  21. #include <libraries/dosextens.h>
  22. #include <exec/memory.h>
  23. #include <exec/tasks.h>
  24. #include <exec/ports.h>
  25. #include <exec/io.h>
  26. #include <functions.h>
  27. #include <fcntl.h>
  28.  
  29. #define bmov   movmem
  30.  
  31. #define MAXAV        256            /* Max. # arguments             */
  32. #define MAXSRC       5              /* Max. # of source file levels */
  33. #define MAXIF        10             /* Max. # of if levels          */
  34. #define MAXALIAS     20             /* Max. # of alias levels       */
  35.  
  36. #define LEVEL_SET    0              /* which variable list to use   */
  37. #define LEVEL_ALIAS  1
  38. #define LEVEL_LABEL  2
  39.  
  40. #define V_PROMPT     "_prompt"      /* your prompt (ascii command)   */
  41. #define V_HIST       "_history"     /* set history depth (value)     */
  42. #define V_HISTNUM    "_histnum"     /* set history numbering var     */
  43. #define V_DEBUG      "_debug"       /* set debug mode                */
  44. #define V_VERBOSE    "_verbose"     /* set verbose for source files  */
  45. #define V_STAT       "_maxerr"      /* worst return value to date    */
  46. #define V_LASTERR    "_lasterr"     /* return value from last comm.  */
  47. #define V_CWD        "_cwd"         /* current directory             */
  48. #define V_EXCEPT     "_except"      /* "nnn;command"                 */
  49. #define V_PASSED     "_passed"      /* passed arguments to source fle*/
  50. #define V_PATH       "_path"        /* search path for external cmds */
  51. #define V_GOTOFWD    "_gtf"        /* set name for fwd goto name    */
  52.  
  53.             /* EXECOM.C defines */
  54.  
  55. #define FL_DOLLAR    0x01  /* One of the following */
  56. #define FL_BANG      0x02
  57. #define FL_PERCENT   0x04
  58. #define FL_QUOTE     0x08
  59. #define FL_IDOLLAR   0x10  /* Any or all of the following may be set */
  60. #define FL_EOC       0x20
  61. #define FL_EOL       0x40
  62. #define FL_OVERIDE   0x80
  63. #define FL_WILD      0x100
  64. #define FL_MASK      (FL_DOLLAR|FL_BANG|FL_PERCENT|FL_QUOTE)
  65.  
  66.  
  67. #define VERSION   "V2.07M (c)1986 Matthew Dillon. Manx (M) versions by Steve Drew"
  68.  
  69. #ifndef NULL
  70. #define NULL 0L
  71. #endif
  72.  
  73. /* #define CHECKBREAK() ( breakcheck() ? (printf("^C\n"),1) : 0) */
  74. #define CHECKBREAK() dobreak()
  75.  
  76. #ifndef AZTEC_C
  77. struct _dev     {
  78.         long  fd;
  79.         short mode;
  80.     };
  81. #endif
  82.  
  83. struct HIST {
  84.    struct HIST *next, *prev;     /* doubly linked list */
  85.    char *line;                   /* line in history    */
  86. };
  87.  
  88. struct PERROR {
  89.    int errnum;                   /* Format of global error lookup */
  90.    char *errstr;
  91. };
  92.  
  93. struct DPTR {                    /* Format of directory fetch pointer */
  94.    struct FileLock *lock;        /* lock on directory   */
  95.    struct FileInfoBlock *fib;    /* mod'd fib for entry */
  96. };
  97.  
  98. extern struct HIST *H_head, *H_tail;
  99. extern struct PERROR Perror[];
  100. extern struct DPTR *dopen();
  101. extern char *set_var(), *get_var(), *next_word();
  102. extern char *get_history(), *compile_av();
  103. extern char *malloc(), *strcpy(), *strcat();
  104. extern char **expand();
  105. extern char *av[];
  106. extern char *Current;
  107. extern int  H_len, H_tail_base, H_stack;
  108. extern int  E_stack;
  109. extern int  Src_stack, If_stack, forward_goto;
  110. extern int  ac;
  111. extern int  debug, Rval, Verbose, disable, Quit;
  112. extern int  Lastresult;
  113. extern int  Exec_abortline;
  114. extern int   S_histlen;
  115. extern long  Uniq;
  116. extern long  Cin, Cout, Cout_append;
  117. extern char *Cin_name, *Cout_name;
  118. extern char  Cin_type,  Cout_type;  /* these variables are in transition */
  119. extern char *Pipe1, *Pipe2;
  120.  
  121. extern long Src_base[MAXSRC];
  122. extern long Src_pos[MAXSRC];
  123. extern char If_base[MAXIF];
  124. extern struct Process *Myprocess;
  125.