home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d1xx / d199 / csh.lha / Csh / shell.h < prev    next >
C/C++ Source or Header  |  1989-03-31  |  3KB  |  116 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.  * Version 3.02A by Carlo Borreo & Cesare Dieni 20-Dec-88
  13.  *
  14.  */
  15.  
  16. #define RAW_CONSOLE 1   /* Set to 0 to compile out Cmd Line Editing */
  17.  
  18. #include <stdio.h>
  19. #include <exec/exec.h>
  20. #include <time.h>
  21. #include <libraries/dos.h>
  22. #include <libraries/dosextens.h>
  23. #include <intuition/intuition.h>
  24. #include <intuition/intuitionbase.h>
  25. #include "shellfunctions.h"
  26. #include <fcntl.h>
  27. #include <libraries/arpbase.h>
  28. #include <arpfunctions.h>
  29.  
  30. typedef struct FileInfoBlock FIB;
  31.  
  32. #define bmov movmem
  33.  
  34. #define MAXAV        256        /* Max. # arguments        */
  35. #define MAXSRC        5        /* Max. # of source file levels */
  36. #define MAXIF        10        /* Max. # of if levels        */
  37. #define MAXALIAS    20        /* Max. # of alias levels    */
  38. #define MAXMYFILES    9        /* Max. # of internal files    */
  39.  
  40. #define LEVEL_SET    0        /* which variable list to use   */
  41. #define LEVEL_ALIAS    1
  42. #define LEVEL_LABEL    2
  43.  
  44.     /* EXECOM.C defines */
  45.  
  46. #define FL_DOLLAR    0x01  /* One of the following */
  47. #define FL_BANG        0x02
  48. #define FL_PERCENT    0x04
  49. #define FL_QUOTE    0x08
  50. #define FL_IDOLLAR    0x10  /* Any or all of the following may be set */
  51. #define FL_EOC        0x20
  52. #define FL_EOL        0x40
  53. #define FL_OVERIDE    0x80
  54. #define FL_WILD        0x100
  55. #define FL_MASK        (FL_DOLLAR|FL_BANG|FL_PERCENT|FL_QUOTE)
  56.  
  57. #ifndef NULL
  58. #define NULL 0L
  59. #endif
  60.  
  61. #define CHECKBREAK() dobreak()
  62.  
  63. #ifndef AZTEC_C
  64. struct _dev {
  65.     long  fd;
  66.     short mode;
  67.     };
  68. #endif
  69.  
  70. struct HIST {
  71.     struct HIST *next, *prev;    /* doubly linked list */
  72.     char *line;            /* line in history    */
  73. };
  74.  
  75. struct PERROR {
  76.     int errnum;            /* Format of global error lookup */
  77.     char *errstr;
  78. };
  79.  
  80. struct DPTR {                /* Format of directory fetch pointer */
  81.     BPTR lock;            /* lock on directory   */
  82.     FIB *fib;            /* mod'd fib for entry */
  83.     };
  84.  
  85. extern struct HIST *H_head, *H_tail;
  86. extern struct PERROR Perror[];
  87. extern struct DPTR *dopen();
  88. extern char *set_var(), *get_var(), *next_word();
  89. extern char *get_history(), *compile_av(), *get_pwd();
  90. extern char *malloc(), *strcpy(), *strcat(), *index();
  91. extern char **expand();
  92. extern char *av[];
  93. extern char *Current;
  94. extern int  H_len, H_tail_base, H_stack;
  95. extern int  E_stack;
  96. extern int  Src_stack, If_stack, forward_goto;
  97. extern int  ac;
  98. extern int  debug, Rval, Verbose, disable, Quit;
  99. extern int  Lastresult;
  100. extern int  Exec_abortline;
  101. extern int   S_histlen;
  102. extern unsigned int options;
  103. extern long  Cin, Cout, Cout_append;
  104. extern char *Cin_name, *Cout_name;
  105. extern char  Cin_type,  Cout_type;  /* these variables are in transition */
  106. extern char *Pipe1, *Pipe2;
  107.  
  108. extern long Errno;
  109. extern long Src_base[MAXSRC];
  110. extern long Src_pos[MAXSRC];
  111. extern char If_base[MAXIF];
  112. extern struct Process *Myprocess;
  113. extern struct CommandLineInterface *Mycli;
  114.  
  115. extern long atol(), Atol(), myatol();
  116.