home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 300-399 / ff369.lzh / VaxTerm / src / main.h < prev    next >
C/C++ Source or Header  |  1990-08-15  |  8KB  |  297 lines

  1. #define FILEHANDLE                  BPTR
  2. #define OPEN_FOR_READING(name)      Open(name,MODE_OLDFILE)
  3. #define OPEN_FOR_WRITING(name)      Open(name,MODE_NEWFILE)
  4. #define CLOSEFILE(handle)           Close(handle)
  5. #define READ(handle,buffer,length)  Read(handle,buffer,length)
  6. #define WRITE(handle,buffer,length) Write(handle,buffer,length)
  7.  
  8. #define HOSTSETUP       "VTDIR:host.setup"
  9. #define PRINTERSETUP    "VTDIR:printer.setup"
  10. #define TERMINALSETUP   "VTDIR:terminal.setup"
  11. #define PRINTERNAME     "PRT:"
  12. #define NILDEVICE       "NIL:"
  13.  
  14. #define ABORTASYNC      2
  15. #define ABORTDELAY      50
  16.  
  17. extern struct KeyMap keymap;
  18. extern struct Library *IntuitionBase,*GfxBase,*DiskfontBase;
  19.  
  20. #define ARGUMENTS   16
  21. #define SETS        4
  22.  
  23. #define ASCII               0
  24. #define SUPPLEMENTAL        1
  25. #define GRAPHICS            2
  26. #define BRITISH             3
  27. #define DUTCH               4
  28. #define FINNISH             5
  29. #define FRENCH              6
  30. #define FRENCH_CANADIAN     7
  31. #define GERMAN              8
  32. #define ITALIAN             9
  33. #define NORWEGIAN           10
  34. #define SPANISH             11
  35. #define SWEDISH             12
  36. #define SWISS               13
  37. #define TECHNICAL           14
  38. #define DISPLAY_CONTROLS    15
  39. #define FONTS               16
  40.  
  41. #define FIRSTLCHAR          32
  42. #define FIRSTRCHAR          (FIRSTLCHAR + 128)
  43. #define CHARCOUNT           (128 - FIRSTLCHAR)
  44. #define TOTALCOUNT          256
  45.  
  46. #define BUFSIZE     10240
  47. #define CONVSIZE    (BUFSIZE + BUFSIZE / 2)
  48. #define SECSIZE     (BUFSIZE / 10)
  49.  
  50. #define BEL         '\x07'
  51. #define BS          '\x08'
  52. #define HT          '\x09'
  53. #define LF          '\x0A'
  54. #define VT          '\x0B'
  55. #define FF          '\x0C'
  56. #define CR          '\x0D'
  57. #define SO          '\x0E'
  58. #define SI          '\x0F'
  59. #define DLE         '\x10'
  60. #define XON         '\x11'
  61. #define XOFF        '\x13'
  62. #define CAN         '\x18'
  63. #define ESC         '\x1B'
  64. #define DEL         '\x7F'
  65. #define IND         '\x84'
  66. #define NEL         '\x85'
  67. #define HTS         '\x88'
  68. #define PLD         '\x8B'
  69. #define PLU         '\x8C'
  70. #define RI          '\x8D'
  71. #define SS2         '\x8E'
  72. #define SS3         '\x8F'
  73. #define DCS         '\x90'
  74. #define PU1         '\x91'
  75. #define PU2         '\x92'
  76. #define STS         '\x93'
  77. #define CSI         '\x9B'
  78. #define ST          '\x9C'
  79. #define END         '\xFF'
  80. #define CANCEL      '\x18'
  81.  
  82. #define forever     for(;;)
  83. typedef short       BOOL;
  84.  
  85. #define ON              (1<<0)
  86. #define GAD             (1<<1)
  87. #define LOCKED          (1<<2)
  88. #define SETUP           (1<<3)
  89. #define TRANSFER        (1<<4)
  90. #define SEND_BREAK      (1<<5)
  91. #define HOLD            (1<<6)
  92. #define PRINT           (1<<7)
  93.  
  94. #define SEQ_ESC         1
  95. #define SEQ_CSI         2
  96. #define SEQ_MOD         3
  97. #define SEQ_DCS         4
  98. #define SEQ_SPC         5
  99. #define SEQ_SEC         6
  100. #define SEQ_SET         7
  101. #define SEQ_RES         8
  102. #define SEQ_ONE         9
  103. #define SEQ_G0          10
  104. #define SEQ_G1          11
  105. #define SEQ_G2          12
  106. #define SEQ_G3          13
  107. #define SEQ_LWIDTH      14
  108. #define SEQ_ENDDCS      15
  109.  
  110. #define MASK        0xFF
  111. #define NEGATIVE    0x80
  112.  
  113. extern char wrapon[];
  114. extern char wrapoff[];
  115. extern char cursen[];
  116. extern char cursdis[];
  117. extern char cursreq[];
  118. extern char setpos[];
  119. extern char home[];
  120. extern char clrdown[];
  121. extern char forw[];
  122. extern char backw[];
  123. extern char primda[];
  124. extern char secda[];
  125. extern char tstat[];
  126. extern char pstat[];
  127. extern char ustat[];
  128. extern char klang[];
  129. extern char marg[];
  130.  
  131. extern USHORT   rows;
  132.  
  133. #define BACKGROUND_PEN  0
  134. #define FOREGROUND_PEN  1
  135.  
  136. #define COLUMNS     80
  137. #define XSIZE       8
  138. #define YSIZE       8
  139. #define BOTLINE     6
  140. #define WIDTH       (COLUMNS * XSIZE)
  141. #define DEPTH       1
  142.  
  143. #define PYSIZE      1
  144. #define PXSIZE      16
  145. #define SPRITESIZE  ((2 * YSIZE + 4) * 2)
  146. #define DUMMYSIZE   ((2 * PYSIZE + 4) * 2)
  147.  
  148. #define MOVE(rp,row,col)      Move(rp,(col-1)*XSIZE,(row-1)*YSIZE+BOTLINE)
  149. #define DRAWCURSOR(srp,drp,row,col) ClipBlit(srp,(col-1)*XSIZE+1,(row-1)*YSIZE,drp,16,0,XSIZE/2+2,YSIZE,ABC|NABC|ABNC|NABNC)
  150.  
  151. #define DOUBLE      2
  152. #define UPPER_SIDE  3
  153. #define LOWER_SIDE  4
  154. #define HORIZ_ONLY  6
  155.  
  156. #define BEEPPRIORITY    64
  157. #define BEEPPERIOD      440
  158. #define BEEPVOLUME      64
  159. #define BEEPCYCLES      150
  160.  
  161. #define WRAP        (1<<0)
  162. #define INSERT      (1<<1)
  163. #define CURSOR      (1<<2)
  164. #define GXGL        (1<<3)
  165. #define CONVERT     (1<<4)
  166. #define NEWLINE     (1<<5)
  167. #define DCONTLO     (1<<6)
  168. #define DCONTHI     (1<<7)
  169.  
  170. #define NATIONAL    (1<<0)
  171.  
  172. struct serial {
  173.     struct IOExtSer *rreq,*wreq;
  174.     struct MsgPort  *rport,*wport;
  175.     UBYTE           requested;
  176.     char            character;
  177.     };
  178.  
  179. struct console {
  180.     struct serial       *ser;
  181.     struct Screen       *scr;
  182.     struct Window       *win;
  183.     struct IOStdReq     *rreq,*wreq;
  184.     struct MsgPort      *rport,*wport;
  185.     struct TextFont     *font[FONTS];
  186.     struct SimpleSprite *sp;
  187.     struct RastPort     *rp,srp;
  188.     struct BitMap       sbm;
  189.     struct IOAudio      *audio;
  190.     struct Unit         *channels;
  191.     BPTR                prt;
  192.     char                *buf,*conv;
  193.     UWORD               *dat,*dummy;
  194.     UBYTE               *rows;
  195.     USHORT              sound;
  196.     USHORT              top,bot;
  197.     USHORT              col,row;
  198.     USHORT              gset[SETS];
  199.     USHORT              mset[SETS];
  200.     USHORT              lset,rset,slset;
  201.     USHORT              argi,carg,args[ARGUMENTS];
  202.     USHORT              s_col,s_row;
  203.     USHORT              s_gset[SETS];
  204.     USHORT              s_mset[SETS];
  205.     USHORT              s_lset,s_rset;
  206.     USHORT              ordcol,ordc;
  207.     UBYTE               stat,tstat,gstat,nstat,attr;
  208.     UBYTE               s_tstat,s_attr;
  209.     char                ordtext[COLUMNS];
  210.     char                tabs[COLUMNS + 2];
  211.     char                character;
  212.     };
  213.  
  214. struct so {
  215.     struct so       *next;
  216.     char            *name;
  217.     APTR            setup;
  218.     USHORT          type;
  219.     UBYTE           col,row;
  220.     BOOL            active;
  221.     UBYTE           id;
  222.     };
  223.  
  224. #define SO_SAVE         1
  225. #define SO_LOAD         2
  226. #define SO_KEYMAP       3
  227. #define SO_SETUP        4
  228.  
  229. extern struct so save;
  230. extern struct so appl;
  231. extern struct so num;
  232. extern struct so ins;
  233. extern struct so over;
  234. extern struct so cret;
  235. extern struct so newl;
  236. extern struct so wrap;
  237. extern struct so trunc;
  238. extern struct so bit_7;
  239. extern struct so bit_8;
  240. extern struct so mult;
  241. extern struct so nat;
  242. extern struct so br_set;
  243. extern struct so du_set;
  244. extern struct so fi_set;
  245. extern struct so fr_set;
  246. extern struct so fc_set;
  247. extern struct so ger_set;
  248. extern struct so ita_set;
  249. extern struct so nor_set;
  250. extern struct so spa_set;
  251. extern struct so swe_set;
  252. extern struct so swi_set;
  253. extern struct so curson;
  254. extern struct so cursoff;
  255. extern struct so dn_km;
  256. extern struct so fl_km;
  257. extern struct so ic_km;
  258. extern struct so po_km;
  259. extern struct so us_km;
  260. extern struct so br_km;
  261. extern struct so du_km;
  262. extern struct so fi_km;
  263. extern struct so bf_km;
  264. extern struct so cf_km;
  265. extern struct so ag_km;
  266. extern struct so it_km;
  267. extern struct so no_km;
  268. extern struct so sp_km;
  269. extern struct so sw_km;
  270. extern struct so sf_km;
  271. extern struct so sg_km;
  272. extern struct so res;
  273.  
  274. extern void reset(register struct console *);
  275. extern void cursorup(register struct console *,USHORT);
  276. extern void cursordown(register struct console *,USHORT);
  277. extern void cursorleft(register struct console *,register USHORT);
  278. extern void cursorright(register struct console *,register USHORT);
  279. extern void cursornextline(register struct console *);
  280. extern void cursoraboveline(register struct console *);
  281. extern void hidecursor(register struct console *);
  282. extern void showcursor(register struct console *);
  283. extern void modifyattr(register struct console *);
  284. extern void insertlines(register struct console *,USHORT);
  285. extern void insertchars(register struct console *,USHORT);
  286. extern void deletechars(register struct console *,USHORT);
  287. extern void deletelines(register struct console *,USHORT);
  288. extern void erasechars(register struct console *,register USHORT);
  289. extern void eraselines(register struct console *,register USHORT);
  290. extern void eraselinebeg(register struct console *);
  291. extern void erasescrbeg(register struct console *);
  292. extern void newline(register struct console *);
  293. extern void cleararea(struct RastPort *,USHORT,USHORT,USHORT,USHORT);
  294. extern void textout(register struct console *);
  295. extern void cursorout(register struct console *);
  296. extern void lwcheck(register struct console *);
  297.