home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume4 / se / part1 / extern.h < prev    next >
Encoding:
C/C++ Source or Header  |  1986-11-30  |  4.8 KB  |  129 lines

  1. /*
  2. ** extern.h
  3. **
  4. ** external data definitions
  5. ** for the screen editor
  6. */
  7.  
  8. /* Concerning line numbers: */
  9. extern int Line1;        /* first line number on command */
  10. extern int Line2;        /* second line number on command */
  11. extern int Nlines;        /* number of line numbers specified */
  12. extern int Curln;        /* current line; value of dot */
  13. extern int Lastln;        /* last line; value of dollar */
  14.  
  15.  
  16. /* Concerning patterns: */
  17. extern char Pat[MAXPAT];    /* saved pattern */
  18.  
  19.  
  20. /* Concerning the text of lines: */
  21. extern char Txt[MAXLINE];    /* text of current line */
  22.  
  23.  
  24. /* Concerning file names: */
  25. extern char Savfil[MAXLINE];    /* remembered file name */
  26.  
  27.  
  28. /* Concerning line descriptors: */
  29. extern LINEDESC Buf[MAXBUF];
  30. #ifdef OLD_SCRATCH
  31. extern LINEDESC *Lastbf;    /* last pointer used in Buf */
  32. extern LINEDESC *Free;        /* head of free list */
  33. #endif
  34. extern LINEDESC *Line0;        /* head of list of line descriptors */
  35.  
  36.  
  37. /* Concerning the 'undo' command: */
  38. extern LINEDESC *Limbo;        /* head of limbo list for undo */
  39. extern int Limcnt;        /* number of lines in limbo list */
  40.  
  41.  
  42. /* Concerning the scratch file: */
  43. extern filedes Scr;        /* scratch file descriptor */
  44. extern unsigned Scrend;        /* end of info on scratch file */
  45. extern char Scrname[MAXLINE];    /* name of scratch file */
  46. extern int Lost_lines;        /* number of garbage lines in scratch file */
  47.  
  48.  
  49. /* Concerning miscellaneous variables */
  50. extern int Buffer_changed;    /* YES if buffer changed since last write */
  51. extern int Errcode;        /* cause of most recent error */
  52. extern int Saverrcode;        /* cause of previous error */
  53. extern int Probation;        /* YES if unsaved buffer can be destroyed */
  54. extern int Argno;        /* command line argument pointer */
  55. extern char Last_char_scanned;    /* last char scanned with ctl-s or -l */
  56. #ifdef HARD_TERMS
  57. extern int Tspeed;        /* terminal speed in characters/second */
  58. #endif
  59. extern char Peekc;        /* push a SKIP_RIGHT if adding delimiters */
  60. #ifdef BSD4_2
  61. extern int Reading;        /* are we doing terminal input? */
  62. #endif
  63.  
  64.  
  65. /* Concerning options: */
  66. extern int Tabstops[MAXLINE];    /* array of tab stops */
  67. extern char Unprintable;    /* char to print for unprintable chars */
  68. extern int Absnos;        /* use absolute numbers in margin */
  69. extern int Nchoise;        /* choice of line number for cont. display */
  70. extern int Overlay_col;        /* initial cursor column for 'v' command */
  71. extern int Warncol;        /* where to turn on column warning */
  72. extern int Firstcol;        /* leftmost column to display */
  73. extern int Indent;        /* indent col; 0=same as previous line */
  74. extern int Notify;        /* notify user if he has mail in mail file */
  75. extern int Globals;        /* substitutes in a global don't fail */
  76. extern int No_hardware;        /* never use hardware insert/delete */
  77.  
  78.  
  79. #ifdef HARD_TERMS
  80. /* Concerning the terminal type */
  81. extern int Term_type;          /* terminal type */
  82. #endif
  83.  
  84.  
  85. /* Concerning the screen format: */
  86. extern char Screen_image[MAXROWS][MAXCOLS];
  87. extern char Msgalloc[MAXCOLS];    /* column allocation of status line */
  88. extern int Nrows;        /* number of rows on screen */
  89. extern int Ncols;        /* number of columns on screen */
  90. extern int Currow;        /* vertical cursor coordinate */
  91. extern int Curcol;        /* horizontal cursor coordinate */
  92. extern int Toprow;        /* top row of window field on screen */
  93. extern int Botrow;        /* bottom row of window field on screen */
  94. extern int Cmdrow;        /* row number of command line */
  95. extern int Topln;        /* line number of first line on screen */
  96. extern int Insert_mode;        /* flag to specify character insertion */
  97. extern int Invert_case;        /* flag to specify case mapping on input */
  98. extern int First_affected;    /* number of first line affected by cmd */
  99. extern int Rel_a;        /* char to use for first alpha line number */
  100. extern int Rel_z;        /* char to use for last alpha line number */
  101. extern int Scline[MAXROWS];    /* lines currently on screen (rel to Sctop) */
  102. extern int Sctop;        /* first line currently on screen */
  103. extern int Sclen;        /* number of lines currently on screen */
  104. extern char Blanks[MAXCOLS];    /* all blanks for filling in lines on screen */
  105. extern char Tobuf[MAXTOBUF];    /* buffer for collecting terminal output */
  106. extern char *Tobp;        /* pointer to last used part of Tobuf */
  107.  
  108.  
  109. /* Concerning interrupts: */
  110. extern int Int_caught;        /* caught a SIGINT from user */
  111. extern int Hup_caught;        /* caught a SIGHUP when phone line dropped */
  112. #ifdef SIGTSTP
  113. extern int Catching_stops;    /* catching or ignoring SIGTSTP's? */
  114. #endif
  115.  
  116. /* Concerning Unix and SWT compatiblity: */
  117. extern int Unix_mode;        /* behaving like Unix editors? */
  118. extern char BACKSCAN;        /* back scan character */
  119. extern char NOTINCCL;        /* class negation character */
  120. extern char XMARK;        /* global exclude on mark name */
  121. extern char ESCAPE;        /* escape character */
  122.  
  123. /* Concerning Georgia Tech I.C.S. specific code: */
  124. extern int At_gtics;        /* are we at Georgia Tech ICS? */
  125.  
  126. /* Concerning file encryption: */
  127. extern int Crypting;        /* doing file encryption? */
  128. extern char Key[KEYSIZE];    /* encryption key */
  129.