home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / CPM68K / KMINCE.LBR / MINCE.GQL / MINCE.GBL
Text File  |  2000-06-30  |  5KB  |  181 lines

  1. /* MINCE.GBL - This is the global variables and constants for
  2.     MINCE, to be included in each source file. */
  3.  
  4. /*    #include    <stdio.h>        */    /* Unix only */
  5. /*    #include    "[1,1]std.h"    */    /* RSX only */
  6. /*    #include    "term.h"        */    /* Unix only */
  7.  
  8. /*    #define    UNIX        1    */    /* Unix only */
  9. /*    #define    RSX        1    */    /* Whitesmiths C compiler for RSX */
  10. #define    CPM            1        /* CP/M only */
  11. #define    CPM68K        1        /* CP/M-68K version: ALCYON compiler */
  12. #define    LARGE        1        /* C mode and Save mode */ /* RPH */
  13. #define    TYPE_AHEAD    1        /* type ahead is detectable */
  14. #define    SUSER        1        /* single user systems (paging messages) */
  15. #ifdef LARGE
  16. /* extra goodies: KEYPAD editor and LISPMODE hacks - RPH */
  17. /* #define KEYPAD        1        /* keypad editor */ /* RPH */
  18. #define LISPMODE    1        /* lispmode code */
  19. #define FLASHER        1        /* paren flash & paren scan code */
  20. #define KBMACRO        1        /* keyboard macro hacks */
  21. #define STRIDE        1 /* is STRIDE 400 series (has RT clock and MU bios) */
  22. #define GENHEAD        1        /* header generating hacks */
  23. #define WY50        1        /* Wyse WY50 function key support */
  24. #define AUTOMODE    1        /* automatic processing of -*- mode hack */
  25. /* #define ELECTRIC    1        /* Electrify C and LISP modes */
  26. #endif
  27.  
  28.  
  29.     /* Universal global declarations */
  30.  
  31. #ifdef CPM68K
  32. #include    <stdio.h>                /* ALCYON CP/M-68K supplied one */
  33. #endif
  34.  
  35. #define    TRUE        (-1)
  36. #define    FALSE    0
  37. #define    NULL        0
  38. #define    INPUT    0
  39. #define    OUTPUT    1
  40. #define    UPDATE    2
  41. #define    HOME        0,0
  42. #define    FORWARD    (-1)
  43. #define    BACKWARD    0
  44.  
  45.     /* MINCE globals */
  46. #define    MODEMAX    20
  47. #define    STRMAX    40
  48. #define    MAXMODES    4
  49. #define    BUFFSMAX    7
  50. #define    BUFNAMMAX    9
  51.  
  52. #ifdef CPM
  53. #define    FILMAX    15
  54. #define    SWAPFNAM    "mince.swp"
  55. #define    SWAP1FNAM    "a:mince.swp"
  56. #else
  57. #define    FILMAX    35
  58. #define    INITTABS    5
  59. #define    PREFLINE    10
  60. #define    FILLINIT    65
  61. #define    INDENTINIT    0
  62. #endif
  63. #ifdef FLASHER
  64. #include "syntax.h"
  65. SynTab(NormSyn)
  66. SynTab(CSyn)
  67. #ifdef LISPMODE
  68. SynTab(LispSyn)
  69. #endif
  70. SynTab(CurSyn)
  71. #endif
  72. #ifdef ELECTRIC
  73. #include "electric.h"
  74. AbrevTab(NormAbr)
  75. AbrevTab(CAbr)
  76. #ifdef LISPMODE
  77. AbrevTab(LispAbr)
  78. #endif
  79. AbrevTab(CurAbr)
  80. #endif
  81.  
  82.     int mark, arg, argp, lcol, psstart, sstart, send, cnt, tmp;
  83.     int altpnt, altstart, sendp, topp, divide, altbuff;
  84.     int (*functs[3*128])(), (*lfunct)(), fillwidth, indentcol;
  85.     char strarg[STRMAX], mode[MODEMAX], namearg[BUFNAMMAX];
  86.     int stat_col, abort, cmnd, cbuff, del_buff, tmark;
  87.     struct cbuffer {
  88.         int bbuff, bmark;
  89.         char bname[BUFNAMMAX], fname[FILMAX], bmodes[MAXMODES];
  90.         } buffs[BUFFSMAX];
  91. #ifdef AUTOMODE
  92.     struct {
  93.         int mtab,mfill,mindent;
  94.         } mvars[BUFFSMAX]; /* structure to hold mode vars */
  95. #endif
  96. #ifdef KBMACRO
  97. /********** keyboard macro hack ***********/
  98.     int remember;    /* remember flag */
  99. #define MAXKBMACL 1024        /* lots of space for kb macro */
  100. /* struct to hold keyboard macro (just like a queue) */
  101.     struct {
  102.         char *kbhead,*kbtail,*kbtop,*kbbottom,kbspace[MAXKBMACL];
  103.         } kbmacro;
  104.     int KBexecuting;    /* flag to indicating we are executing */
  105.     int GAbort;        /* global abort flag */
  106. /*********** end of keyboard macro hack ************/
  107. #endif
  108. #ifdef CPM
  109.     int pnt_row;
  110. #endif
  111.  
  112.     /* TTY globals */
  113. #define    NUL    '\0'
  114. #define    BELL    '\7'
  115. #define    BS    '\10'
  116. #define    TAB    '\11'
  117. #define    LF    '\12'
  118. #define    CR    '\15'
  119. #define    ESC    '\33'
  120. #define    DEL    '\177'
  121.  
  122. #ifdef CPM
  123. #define    NL    '\212'
  124. #define    ROWMAX    60
  125. #define    COLMAX    132
  126. #define    KBBUFMAX    80
  127. #else
  128. #define    NL    '\12'
  129. #define    ROWMAX    24
  130. #define    COLMAX    79
  131. #endif
  132.  
  133.     int prow, pcol, srow, scol, tabincr, tlrow;
  134.     char clrcol[ROWMAX], tline[COLMAX+1];
  135. #ifdef CPM
  136.     char *lindex;
  137.     struct {
  138.         char *head, *tail, *bottom, *top, space[KBBUFMAX];
  139.         } kbdq;
  140. #endif
  141.  
  142.     /* special swap file header terminal globals */
  143. #ifdef CPM
  144. #define    NOPAD    0                /* values for padp */
  145. #define    CHARPAD    1                /* pad with characters */
  146. #define    DELAYPAD    2                /* pad with wait loop */
  147. #define    FIRST    255
  148. #define    SECOND    0
  149.     struct termdesc {                /* 128 byte terminal descriptor */
  150.         char ctrlz;
  151.         char nrows, ncols, rowbias, colbias;
  152.         char rowfirstp, compp, binaryp;
  153.         char padp, padchar;
  154.         char nhclpad, ncleolpad, ncpospad, ncleowpad;
  155.         struct str {
  156.             char idx;                    /* index into space */
  157.             char len;                    /* length */
  158.             } hcl, cleol, cleow, cpos1, cpos2, cpos3, bell, init, deinit;
  159.         char strspc[72];
  160.  
  161.     struct portdesc {
  162.         char biosp, dataport, statport, datamask, readymask, polarity;
  163.         } inport, outport;
  164.  
  165.     char prefrow, fillinit, tabinit, indentinit, mhz;
  166.     int delaycnt, npages, swapbase;
  167. #else
  168.     int prefrow;
  169. #endif
  170.         } terminal;
  171.  
  172.     /* spare area - patches */
  173. int spare[10];
  174.  
  175. /* END OF MINCE.GBL - Global variable definitions for Mince. */
  176. } terminal;
  177.  
  178.     /* spare area - patches */
  179. int spare[10];
  180.  
  181. /* END OF MINCE.G