home *** CD-ROM | disk | FTP | other *** search
/ vsiftp.vmssoftware.com / VSIPUBLIC@vsiftp.vmssoftware.com.tar / FREEWARE / FREEWARE40.ZIP / pine / pico / edef.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-06  |  7.6 KB  |  171 lines

  1. /*
  2.  * $Id: edef.h,v 4.2 1993/04/15 00:23:41 mikes Exp $
  3.  *
  4.  * Program:    Global definitions and initializations
  5.  *
  6.  *
  7.  * Michael Seibel
  8.  * Networks and Distributed Computing
  9.  * Computing and Communications
  10.  * University of Washington
  11.  * Administration Builiding, AG-44
  12.  * Seattle, Washington, 98195, USA
  13.  * Internet: mikes@cac.washington.edu
  14.  *
  15.  * Please address all bugs and comments to "pine-bugs@cac.washington.edu"
  16.  *
  17.  * Copyright 1991-1993  University of Washington
  18.  *
  19.  *  Permission to use, copy, modify, and distribute this software and its
  20.  * documentation for any purpose and without fee to the University of
  21.  * Washington is hereby granted, provided that the above copyright notice
  22.  * appears in all copies and that both the above copyright notice and this
  23.  * permission notice appear in supporting documentation, and that the name
  24.  * of the University of Washington not be used in advertising or publicity
  25.  * pertaining to distribution of the software without specific, written
  26.  * prior permission.  This software is made available "as is", and
  27.  * THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
  28.  * WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED
  29.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN
  30.  * NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL,
  31.  * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  32.  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT
  33.  * (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION
  34.  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  35.  *
  36.  * Pine and Pico are trademarks of the University of Washington.
  37.  * No commercial use of these trademarks may be made without prior
  38.  * written permission of the University of Washington.
  39.  *
  40.  */
  41. /*    EDEF:        Global variable definitions for
  42.             MicroEMACS 3.2
  43.  
  44.             written by Dave G. Conroy
  45.             modified by Steve Wilhite, George Jones
  46.             greatly modified by Daniel Lawrence
  47. */
  48.  
  49. #ifndef    EDEF_H
  50. #define    EDEF_H
  51.  
  52. #ifdef    maindef
  53.  
  54. /* for MAIN.C */
  55.  
  56. /* initialized global definitions */
  57.  
  58. int     fillcol = 72;                   /* Current fill column          */
  59. short   kbdm[NKBDM] = {CTLX|')'};       /* Macro                        */
  60. char    pat[NPAT];                      /* Search pattern        */
  61. char    rpat[NPAT];            /* replacement pattern        */
  62. char    sarg[NSTRING] = "";        /* string argument for line exec*/
  63. int    eolexist = TRUE;        /* does clear to EOL exist    */
  64. int    optimize = FALSE;        /* optimize flag(cf line speed)    */
  65. int    scrollexist = TRUE;        /* does insert line exist    */
  66. int    inschar = TRUE;            /* does insert character exist    */
  67. int    delchar = TRUE;            /* does delete character exist    */
  68. int     sgarbk = TRUE;                  /* TRUE if keyhelp garbaged     */
  69. char    s[16384];            /* global temporary string    */
  70. int     mline_open = FALSE;             /* TRUE if message line is open */
  71. int    ComposerTopLine = 2;        /* TRUE if message line is open */
  72. int    ComposerEditing = FALSE;    /* TRUE if message line is open */
  73. int    revexist = FALSE;        /* does reverse video exist?    */
  74. char    *modename[] = {            /* name of modes        */
  75.     "WRAP", "CMODE", "SPELL", "EXACT", "VIEW", "OVER"};
  76. char    modecode[] = "WCSEVO";        /* letters to represent modes    */
  77. int    gmode = MDWRAP;            /* global editor mode        */
  78. int     sgarbf  = TRUE;                 /* TRUE if screen is garbage    */
  79. int     mpresf  = FALSE;                /* TRUE if message in last line */
  80. int    clexec    = FALSE;        /* command line execution flag    */
  81.  
  82. /* uninitialized global definitions */
  83. int     currow;                 /* Cursor row                   */
  84. int     curcol;                 /* Cursor column                */
  85. int     thisflag;               /* Flags, this command          */
  86. int     lastflag;               /* Flags, last command          */
  87. int     curgoal;                /* Goal for C-P, C-N            */
  88. WINDOW  *curwp;                 /* Current window               */
  89. BUFFER  *curbp;                 /* Current buffer               */
  90. WINDOW  *wheadp;                /* Head of list of windows      */
  91. BUFFER  *bheadp;                /* Head of list of buffers      */
  92. BUFFER  *blistp;                /* Buffer for C-X C-B           */
  93. short   *kbdmip;                /* Input pointer for above      */
  94. short   *kbdmop;                /* Output pointer for above     */
  95.  
  96. BUFFER  *bfind();               /* Lookup a buffer by name      */
  97. WINDOW  *wpopup();              /* Pop up window creation       */
  98. LINE    *lalloc();              /* Allocate a line              */
  99.  
  100. #else
  101.  
  102. /* for all the other .C files */
  103.  
  104. /* initialized global external declarations */
  105.  
  106. extern  int     fillcol;                /* Fill column                  */
  107. extern  short   kbdm[];                 /* Holds kayboard macro data    */
  108. extern  char    pat[];                  /* Search pattern               */
  109. extern    char    rpat[];            /* Replacement pattern        */
  110. extern    char    sarg[];            /* string argument for line exec*/
  111. extern    int    eolexist;        /* does clear to EOL exist?    */
  112. extern    int    optimize;        /* optimize flag(cf line speed)    */
  113. extern    int    scrollexist;        /* does insert line exist    */
  114. extern    int    inschar;        /* does insert character exist    */
  115. extern    int    delchar;        /* does delete character exist    */
  116. extern  int     sgarbk;
  117. extern  char    s[];            /* global temporary string    */
  118. extern  int     mline_open;             /* Message line is open         */
  119. extern    int    ComposerTopLine;    /* TRUE if message line is open */
  120. extern    int    ComposerEditing;    /* TRUE if message line is open */
  121. extern    int    timeout;        /* how long we wait in GetKey    */
  122. extern    int    revexist;        /* does reverse video exist?    */
  123. extern    char *modename[];        /* text names of modes        */
  124. extern    char    modecode[];        /* letters to represent modes    */
  125. extern    KEYTAB keytab[];        /* key bind to functions table    */
  126. extern    KEYTAB pkeytab[];        /* pico's function table    */
  127. extern    NBIND names[];            /* name to function table    */
  128. #ifdef HEBREW
  129. extern  char escfuns[];                 /* additional function codes */
  130. #endif
  131. extern    int    gmode;            /* global editor mode        */
  132. extern  int     sgarbf;                 /* State of screen unknown      */
  133. extern  int     mpresf;                 /* Stuff in message line        */
  134. extern    int    clexec;            /* command line execution flag    */
  135.  
  136. /* initialized global external declarations */
  137. extern  int     currow;                 /* Cursor row                   */
  138. extern  int     curcol;                 /* Cursor column                */
  139. extern  int     thisflag;               /* Flags, this command          */
  140. extern  int     lastflag;               /* Flags, last command          */
  141. extern  int     curgoal;                /* Goal for C-P, C-N            */
  142. extern  WINDOW  *curwp;                 /* Current window               */
  143. extern  BUFFER  *curbp;                 /* Current buffer               */
  144. extern  WINDOW  *wheadp;                /* Head of list of windows      */
  145. extern  BUFFER  *bheadp;                /* Head of list of buffers      */
  146. extern  BUFFER  *blistp;                /* Buffer for C-X C-B           */
  147. extern  short   *kbdmip;                /* Input pointer for above      */
  148. extern  short   *kbdmop;                /* Output pointer for above     */
  149.  
  150. extern  BUFFER  *bfind();               /* Lookup a buffer by name      */
  151. extern  WINDOW  *wpopup();              /* Pop up window creation       */
  152. extern  LINE    *lalloc();              /* Allocate a line              */
  153.  
  154. #endif
  155.  
  156. /* terminal table defined only in TERM.C */
  157.  
  158. #ifndef    termdef
  159. #ifdef VMS
  160. #ifdef __ALPHA
  161. extern  TERM    term;                   /* Terminal information.        */
  162. #else    /* ALPHA */
  163. globalref TERM    term;                   /* Terminal information.        */
  164. #endif    /* ALPHA */
  165. #else    /* VMS */
  166. extern  TERM    term;                   /* Terminal information.        */
  167. #endif    /* VMS */
  168. #endif
  169.  
  170. #endif    /* EDEF_H */
  171.