home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR23 / TOUCH2.ZIP / TOUCH2.H < prev    next >
C/C++ Source or Header  |  1993-08-14  |  8KB  |  293 lines

  1. /*
  2.  * touch2.h -- definitions for touch2
  3.  *
  4.  * V. Abell
  5.  */
  6.  
  7. /*
  8.  * Copyright 1993 Victor A. Abell, Lafayette, Indiana  47906.  All rights
  9.  * reserved.
  10.  *
  11.  * Written by Victor A. Abell.
  12.  *
  13.  * Permission is granted to anyone to use this software for any purpose on
  14.  * any computer system, and to alter it and redistribute it freely, subject
  15.  * to the following restrictions:
  16.  *
  17.  * 1. Victor A. Abell is not responsible for any consequences of the use of
  18.  * this software.
  19.  *
  20.  * 2. The origin of this software must not be misrepresented, either by
  21.  *    explicit claim or by omission.  Credit to Victor A. Abell must
  22.  *    appear in documentation and sources.
  23.  *
  24.  * 3. Altered versions must be plainly marked as such, and must not be
  25.  *    misrepresented as being the original software.
  26.  *
  27.  * 4. This notice may not be removed or altered.
  28.  */
  29.  
  30. #include <stdio.h>
  31.  
  32. #if    !defined(UNIX)
  33. #include <conio.h>
  34. #include <graph.h>
  35. #endif
  36.  
  37. #if    defined(UNIX)
  38. struct videoconfig {
  39.     short numtextrows;
  40.     short numtextcols;
  41.     short mode;
  42.     short numxpixels;
  43.     short numypixels;
  44. };
  45. #define _GCLEARSCREEN    0
  46. #define    _GCURSOROFF    0
  47. #define    _GCURSORON    0
  48. #define    _TEXTC80    0
  49. #define    _VRES16COLOR    0
  50. #define    strcmpi        strcasecmp
  51. #define strnicmp    strncasecmp
  52. #define    _BLACK        0L
  53. #define    _BLUE        0L
  54. #define    _GREEN        0L
  55. #define    _CYAN        0L
  56. #define    _RED        0L
  57. #define    _MAGENTA    0L
  58. #define    _BROWN        0L
  59. #define    _WHITE        0L
  60. #define    _GRAY        0L
  61. #define    _LIGHTBLUE    0L
  62. #define    _LIGHTGREEN    0L
  63. #define    _LIGHTCYAN    0L
  64. #define    _LIGHTRED    0L
  65. #define    _LIGHTMAGENTA    0L
  66. #define    _YELLOW        0L
  67. #define    _BRIGHTWHITE    0L
  68. #endif
  69.  
  70. #define    BLACK        0
  71. #define    BLUE        1
  72. #define    GREEN        2
  73. #define    CYAN        3
  74. #define    RED        4
  75. #define    MAGENTA        5
  76. #define    BROWN        6
  77. #define    WHITE        7
  78. #define GRAY            8
  79. #define    LIGHTBLUE    9
  80. #define    LIGHTGREEN    10
  81. #define    LIGHTCYAN    11
  82. #define    LIGHTRED    12
  83. #define    LIGHTMAGENTA    13
  84. #define    YELLOW        14
  85. #define    BRIGHTWHITE    15
  86.  
  87. #define    AFTEPSON    "\\f\\e@"        /* default after graph printer
  88.                          * control string  for EPSON */
  89. #define    AFTPCL4        "\\f\\eE\\04"        /* default after graph printer
  90.                          * control string  for PCL4 */
  91. #define    AFTPPDS        "\\f\\e[K\\01\\00\\06\\04"
  92.                         /* default after graph printer
  93.                          * control string  for PPDS */
  94. #define    BARCH        0xcd            /* bar graph character */
  95. #define    BEFEPSON    "\\e0\\et1\\e7\\ex1"    /* default before graph printer
  96.                          * control string  for EPSON */
  97. #define    BEFPCL4        "\\e&l8D\\e(10U"    /* default before graph printer
  98.                          * control string  for PCL4 */
  99. #define    BEFPPDS        "\\e0"            /* default before graph printer
  100.                          * control string  for PPDS */
  101. #define    BELL        7            /* BELL */
  102. #define    BS        8            /* BACKSPACE */
  103. #define CHDEL           83                      /* delete character at cursor */
  104. #define CR        13            /* RETURN */
  105. #define    DARW        80            /* down arrow */
  106. #define    DC4        21            /* CTRL-U */
  107. #define    DEFBCX        BLUE            /* default background color
  108.                          * index */
  109. #define DEFQDMPF     "touch2.csv"            /* default QuattroPro dump file
  110.                          * name */
  111. #define DEFRDMPF     "touch2.dmp"            /* default raw dump file name */
  112. #define DEFMGMAX    110.0            /* default mg/dl maximum */
  113. #define DEFMGMIN        70.0            /* default mg/dl minimum */
  114. #define DEFMMMAX    6.1            /* default mmol/l maximum */
  115. #define DEFMMMIN        3.9            /* default mmol/l minimum */
  116. #define    DEFGRAPHF    "touch2.grf"        /* default graph file name */
  117. #define DEFPBCX        RED            /* default prompt background
  118.                          * color index */
  119. #define    DEFPTCX        BRIGHTWHITE        /* default prompt text color
  120.                          * index */
  121. #define DEFTCX        YELLOW            /* default text color index */
  122. #define    DUMPFNL        64            /* dump file name length */
  123. #define DUMPLL        256            /* dump line length */
  124. #define    ESC        27
  125. #define GTTLLNL        66            /* graph title line limit */
  126. #define    HDRLPP        10            /* header lines per page */
  127. #define    INTCH        0xd8            /* bar and min/max intersection
  128.                          * character */
  129. #define LARW            75                      /* left arrow */
  130. #define LF              10                      /* LINE FEED */
  131. #define    LINECH        0xb3            /* min/max line character */
  132. #define    LPP        81            /* lines per page */
  133. #define    NOCURSOR    0x2000            /* no cursor */
  134. #define    PGDN        81            /* PgDn */
  135. #define PGUP        73            /* PgUp */
  136. #define    PRTRCTLLN    256            /* printer control string
  137.                          * length */
  138. #define RARW            77                      /* right arrow */
  139. #define    RDREG        0            /* regular reading */
  140. #define RDSOL        1            /* check solution reading */
  141. #define    RDSTRIP        2            /* strip reading */
  142. #define RDMTRERR    3            /* meter error -- "reading?" */
  143. #define RDHIGH        4            /* " HIGH " reading */
  144. #define UARW        72            /* up arrow */
  145.  
  146. struct clr {
  147.     char *nm;        /* name */
  148.     long v;            /* value */
  149. };
  150.  
  151. struct menu {
  152.     short    row;
  153.     short    col;
  154.     char    *msg;
  155. };
  156.  
  157. struct parity {
  158.     short val;
  159.     char *nm;
  160. };
  161.  
  162. extern char *AftGraph;
  163. extern char BarCh[];
  164. extern short Baud[];
  165. extern short Baudx;
  166. extern char *BefGraph;
  167. extern short BkClrx;
  168. extern int buffer_length;
  169. extern short Ckdump;
  170. extern short Cksum;
  171. extern struct clr Colors[];
  172. extern short Comopen;
  173. extern short Cursor;
  174. extern char Date[];
  175. extern struct menu DumpErr[];
  176. extern char DumpfnQ[];
  177. extern char DumpfnR[];
  178. extern FILE *Dumpfs;
  179. extern int DumpHs;
  180. extern int DumpLc;
  181. extern char DumpLine[];
  182. extern char *DumpLp[];
  183. extern char Exttl[];
  184. extern short Frame;
  185. extern double Gmaxl;
  186. extern double Gminl;
  187. extern char Graphfn[];
  188. extern FILE *Graphfs;
  189. extern char Gttl[];
  190. extern char IntCh[];
  191. extern char LineCh[];
  192. extern short Lineval;
  193. extern short Lpp;
  194. extern char Mdate[];
  195. extern char Mmax[];
  196. extern char Mmin[];
  197. extern short Mode;
  198. extern char Mtime[];
  199. extern short Ndump;
  200. extern struct parity Par[];
  201. extern short Parx;
  202. extern short PcDisp;
  203. extern char *Pn;
  204. extern short Port;
  205. extern short PromptBkClrx;
  206. extern short PromptTxtClrx;
  207. extern short Qp;
  208. extern FILE *Rdumpfs;
  209. extern short Rtype;
  210. extern double Rval;
  211. extern short StSt;
  212. extern char Time[];
  213. extern char TtlErrMsg[];
  214. extern char *TtlVar[];
  215. extern short TtlVarX;
  216. extern short TxtClrx;
  217. extern struct videoconfig Vc;
  218. extern short Vmode;
  219. extern short Warn;
  220.  
  221. int Asm1Ch(char *s, char *r);
  222. int CheckESC();
  223.  
  224. #if    defined(UNIX)
  225. void ClearRow(int r, int c);
  226. #else
  227. void ClearRow(short r, short c);
  228. #endif
  229.  
  230. int Atof(char *s, double *d, char *m, char *t);
  231. void CloseCom();
  232. void CloseDump();
  233. int CvtPrtrStr(char *s, char *r, int n);
  234. void DateTime();
  235. void DefCom();
  236. void DrawGraph(int ty);
  237. void DumpMtr();
  238. void DispMenu(struct menu *m, char *b);
  239. int EntPrtStr(char *a, char *b);
  240. int ExpandTtl();
  241. int GetDataLn(char *s, int n);
  242.  
  243. #if    defined(UNIX)
  244. int GetInp(int r, int c, char *p, char *def, char *ib, int ibl);
  245. #else
  246. int GetInp(short r, short c, char *p, char *def, char *ib, int ibl);
  247. #endif
  248.  
  249. void InitDump();
  250. void InitMenu();
  251. void InitStatus();
  252. void OpenCom();
  253. char *ParseField(char *p, char *b, int l);
  254. int ParseHdr();
  255.  
  256. #if    defined(UNIX)
  257. int ParseDumpLn(int i, int s);
  258. #else
  259. int ParseDumpLn(short i, short s);
  260. #endif
  261.  
  262. void PromptMsg(char *m);
  263. int ReadConf();
  264. int SetAftGraph(char *b, char *v);
  265. int SetBarChar(char *b, char *v);
  266. int SetBefGraph(char *b, char *v);
  267. int SetGmaxLvl(char *b, char *v);
  268. int SetGminLvl(char *b, char *v);
  269. int SetGraphTtl(char *b, char *v);
  270. int SetIntChar(char *b, char *v);
  271. int SetLineChar(char *b, char *v);
  272. int SetLpp(char *b, char *v);
  273. int SetPrinter(char *b, char *v);
  274. int SetTtlVar(char *b, char *v);
  275. void StatusMtr();
  276. int TestGlev();
  277. void TouchExit(int xv);
  278. int WaitAnyKey();
  279.  
  280. #if    defined(UNIX)
  281. int WaitCmd(char *c, int e);
  282. #else
  283. int WaitCmd(char *c, char e);
  284. #endif
  285.  
  286. int WaitRdy();
  287.  
  288. #if    defined(UNIX)
  289. int WarnMsg(int r1, int c1, char *m1, int r2, int c2, char *m2, int f);
  290. #else
  291. int WarnMsg(short r1, short c1, char *m1, short r2, short c2, char *m2, short f);
  292. #endif
  293.