home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume10 / screen / part01 / screen.h < prev   
Encoding:
C/C++ Source or Header  |  1987-08-06  |  1.5 KB  |  61 lines

  1. /* Copyright (c) 1987, Oliver Laumann, Technical University of Berlin.
  2.  * Not derived from licensed software.
  3.  *
  4.  * Permission is granted to freely use, copy, modify, and redistribute
  5.  * this software, provided that no attempt is made to gain profit from it,
  6.  * the author is not construed to be liable for any results of using the
  7.  * software, alterations are clearly marked as such, and this notice is
  8.  * not modified.
  9.  */
  10.  
  11. enum state_t {
  12.     LIT,         /* Literal input */
  13.     ESC,         /* Start of escape sequence */
  14.     STR,         /* Start of control string */
  15.     TERM,        /* ESC seen in control string */
  16.     CSI,         /* Reading arguments in "CSI Pn ; Pn ; ... ; XXX" */
  17. };
  18.  
  19. enum string_t {
  20.     NONE,
  21.     DCS,         /* Device control string */
  22.     OSC,         /* Operating system command */
  23.     APC,         /* Application program command */
  24.     PM,          /* Privacy message */
  25. };
  26.  
  27. #define MAXSTR       128
  28.  
  29. #define IOSIZE       80
  30.  
  31. struct win {
  32.     int wpid;
  33.     int ptyfd;
  34.     int aflag;
  35.     char outbuf[IOSIZE];
  36.     int outlen;
  37.     char cmd[MAXSTR];
  38.     char tty[MAXSTR];
  39.     int slot;
  40.     char **image;
  41.     char **attr;
  42.     int active;
  43.     int x, y;
  44.     char LocalAttr;
  45.     int saved;
  46.     int Saved_x, Saved_y;
  47.     char SavedLocalAttr;
  48.     int top, bot;
  49.     int wrap;
  50.     int origin;
  51.     int insert;
  52.     int keypad;
  53.     enum state_t state;
  54.     enum string_t StringType;
  55.     char string[MAXSTR];
  56.     char *stringp;
  57.     char *tabs;
  58.     int vbwait;
  59.     int bell;
  60. };
  61.