home *** CD-ROM | disk | FTP | other *** search
/ GRIPS 2: Government Rast…rocessing Software & Data / GRIPS_2.cdr / dos / ncsa_tel / contribu / byu_tel2.hqx / vs / vsdata.h < prev    next >
Text File  |  1989-06-30  |  4KB  |  88 lines

  1. /*
  2.  *        %W%    (NCSA)    %G%
  3.  *
  4.  *      Virtual Screen Kernel Data/Structure Definitions
  5.  *                          (vsdata.h)
  6.  *  
  7.  *    National Center for Supercomputing Applications
  8.  *      by Gaige B. Paulsen
  9.  *
  10.  *    This file contains the control and interface calls for the NCSA
  11.  *  Virtual Screen Kernel.
  12.  *
  13.  *      Version Date    Notes
  14.  *      ------- ------  ---------------------------------------------------
  15.  *      0.01    861102  Initial coding -GBP
  16.  *        2.1        871130    NCSA Telnet 2.1 -GBP
  17.  *        2.2     880715    NCSA Telnet 2.2 -GBP
  18.  *
  19.  */
  20.  
  21. #define MAXWID 132      /* The absolute maximum number of chars/line */
  22.  
  23. struct VSline {
  24.     struct VSline   *next,          /* Pointer to next line */
  25.                     *prev;          /* Pointer to previous line */
  26.     char            *text;          /* Text for the line */
  27.     int                mem;            /* flag for memory allocation coordination */
  28.     };
  29.  
  30. typedef struct VSline VSline;
  31.  
  32. struct VSscrn {
  33.     VSline
  34.          *scrntop,          /* top of the current screen                     */
  35.          *buftop,           /* top of the current buffer                     */
  36.          *vistop,            /* top of the visible area of screen             */
  37.         **attrst,            /* pointer the array of attribute lines         */
  38.         **linest;           /* pointer the array of  real screen lines      */
  39.     int  lines,                /* How many lines are in the arrays above....   */
  40.          maxlines,          /* maximum number of lines to save off top      */
  41.          numlines,          /* number of lines currently saved off top      */
  42.          allwidth,          /* real maximum width for this window           */
  43.          maxwidth,          /* current maximum width for this window        */
  44.          savelines,         /* save lines off top? 0=no                     */
  45.          ESscroll,            /* Scroll screen when ES received                */
  46.          attrib,            /* current attibute                             */
  47.          x,y,               /* current cursor positon                       */
  48.          Px,Py,Pattrib,     /* saved cursor position and attribute          */
  49.          VSIDC,             /* Insert/delete character mode 0=draw line     */
  50.          DECAWM,            /* Auto Wrap Mode 0=off                         */
  51.          DECCKM,            /* Cursor Key Mode                              */
  52.          DECPAM,            /* keyPad Application Mode                        */
  53.          DECORG,            /* origin mode                                  */
  54.          G0,G1,                /* Character set identifiers                     */
  55.          charset,            /* Character set mode                             */
  56.          IRM,               /* Insert/Replace Mode                          */
  57.          escflg,            /* Current Escape level                            */
  58.          top, bottom,       /* Vertical bounds of the screen                 */
  59.          Rtop,Rbottom,        /* Vertical bounds of Region                     */
  60.          Rleft,Rright,        /* Horizontal bounds of Region                     */
  61.          parmptr;           /* pointer to current parm                         */
  62.     int  parms[16];          /* Ansi Parameters                             */
  63.     char *tabs;             /* pointer to array for tab settings             */
  64.     };
  65.  
  66. typedef struct VSscrn VSscrn;
  67.  
  68. struct VSscrndata {
  69.     VSscrn *loc;            /* Location of the Screen record for this scrn */
  70.     int     stat;           /* status of this screen (0=Uninitialized,     */
  71.                             /*                        1=In Use             */
  72.                             /*                        2=Inited, but not IU */
  73.     };
  74.  
  75. typedef struct VSscrndata VSscrndata;
  76.  
  77. #ifdef VSMASTER
  78. VSscrn  *VSIw;
  79. int      VSIwn;
  80. #else
  81. extern VSscrn   *VSIw;
  82. extern int       VSIwn;
  83. #endif
  84.  
  85. #define    VSPBOTTOM    (VSIw->lines)
  86.  
  87. #include <stdio.h>
  88.