home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / COMM / MISC / SRC26_2.ZIP / SRC / GLOBAL.H < prev    next >
Encoding:
C/C++ Source or Header  |  1990-07-13  |  16.7 KB  |  638 lines

  1. /*
  2. ** global.h: hterm global variables and function prototypes
  3.  *
  4.  * Author: HIRANO Satoshi
  5.  *
  6.  * (C) 1986 Halca Computer Science Laboratory UEC  TM
  7.  *          University of Electro Communications
  8.  *          University of Tokyo
  9.  *
  10.  * 
  11.  * Edition history:
  12.  * 1.1 90/03/28 Halca.Hirano derived from hterm.h
  13.  *
  14.  * $Header: global.hv  1.3  90/07/04 18:37:10  hirano  Exp $
  15.  */
  16.  
  17. /*
  18.  *
  19.  * external variables
  20.  *
  21.  */
  22. #ifdef MAIN
  23. # define EXT                /* remove extern        */
  24. #else
  25. # define EXT extern
  26. #endif
  27.  
  28.  
  29. /*
  30.  * general
  31.  */
  32. EXT int mode;                    /* hterm operation mode; M_XXX        */
  33. EXT int    hemacs;                    /* hemacs mode or not                */
  34. EXT    long starTime;                /* hterm start time                    */
  35. EXT char tmpBuf[100];            /* general purpose temporary buffer    */
  36. EXT char setFileName[MAX_FILE_NAME];        /* hterm.set file name                */
  37. EXT char helpFileName[MAX_FILE_NAME];        /* hterm.db help database  file name*/
  38. EXT char defaultCommandLine[MAX_FILE_NAME];    /* default call OS command line        */
  39.  
  40.  
  41. /*
  42.  * ansi escape sequence mode 
  43.  */
  44. EXT int originMode;                /* origin mode flag            */
  45. EXT u_short saveX;                /* save cursor ESC seq.        */
  46. EXT u_short saveY;                /* save cursor ESC seq.        */
  47. EXT u_short saveAttr;            /* save cursor ESC seq.        */
  48. #if defined IBMPC | defined J3100
  49. EXT u_short ansiVramSave[MAX_CHAR];
  50. #endif /* IBMPC | J3100 */
  51. #ifdef PC98
  52. EXT u_short ansiVramSave[MAX_CHAR*2];
  53. #endif /* PC98*/
  54.  
  55. /*
  56.  * hterm command line options
  57.  */
  58. EXT long optBaudrate;            /* buad rate                    */
  59. EXT int optAsckey;                /* ascii keyboard mode            */
  60. EXT int optRedial;                /* redial                        */
  61. EXT int optPortNo;                /* port number                    */
  62. EXT int optNoSetup;                /* do not load setup            */
  63. EXT    char *setFile;                /* setup file name                */
  64. EXT    int setupSpecified;            /* setup file is specified        */
  65.  
  66. /*
  67.  * display mode 
  68.  */
  69. EXT int    funKeyDisplayed;        /* flat, at startup, funkey is displaed */
  70. EXT u_short maxLine;            /* lines usable form the host    */
  71. EXT u_short realMaxLine;        /* physical lines on the screen    */
  72. EXT u_short bottomLine;            /* lowest line for the host        */
  73. EXT u_short realBottomLine;        /* physical lowest line            */
  74. EXT u_short vramSegment;        /* VRAM segment                 */
  75. EXT u_short gvramSegment;        /* GVRAM segment                */
  76. EXT int lineMode;                /* line mode LINE_MODE_20/24/25    */
  77. EXT u_short cursorX;            /* cursor X position            */
  78. EXT u_short cursorY;            /* cursor Y position            */
  79. EXT u_short attrib;                /* attribute                    */
  80. EXT u_short eraseAttr;            /* erase attribute                */
  81. EXT u_char     border;                /* border color                    */
  82. EXT int cursor;                    /* cursor display flag            */
  83. EXT int    formfeed;                /* foomfeed mode (FF/LF)        */
  84. EXT int blinkCursor;            /* blinking = YES, static = NO    */
  85. EXT volatile short blinkTimer;    /* soft cursor blink timer        */
  86. EXT int blockCursor;            /* block = YES, underLine = NO    */
  87. EXT int autoWrap;                /* auto wrap mode                */
  88. EXT u_short upScrRegion;        /* upper scroll region            */
  89. EXT u_short lowScrRegion;        /* lower scroll region            */
  90. EXT int    intControl;                /* interpret control flag        */
  91. EXT int echoMode;                /* echo back flag                */
  92. EXT int backQuote;                /* can display back quote/slash */
  93. EXT int kanjiCode;                /* kanji code                    */
  94. EXT int kfirst;                    /* first byte of kanji            */
  95. EXT int kstate;                    /* roman/kana/kanji state        */
  96. EXT char tabTable[MAX_COLUMN];    /* tab stop table                */
  97. EXT int    spaceTab;                /* number of tabs in the table    */
  98. EXT int visibleBell;            /* use visible bell                */
  99. EXT bool wrapPending;            /* wrap aound is being pending flag (VT wrap) */
  100. EXT int softFont;                /* soft font mode flag            */
  101. EXT int fontCacheSize;            /* font cache size in chars        */
  102. EXT int fontFileLoaded;            /* font file loaded flag        */
  103. EXT char fontName[MAX_FILE_NAME]    /* soft font filename        */
  104. #ifdef MAIN
  105.             = DEFAULT_FONT_NAME
  106. #endif
  107.                                 ;
  108.  
  109. #if defined IBMPC | defined J3100
  110. EXT    u_short page0Save[MAX_CHAR];    /* page0 save area            */
  111. #endif /* IBMPC | J3100 */
  112. #ifdef PC98
  113. EXT    u_short page0Save[MAX_CHAR*2];
  114. #endif /* PC98 */
  115.  
  116.  
  117. /*
  118.  * keyboard 
  119.  */
  120. EXT int    clickFlag;        /* key click flag(1=click)                */
  121. EXT int    newline;        /* newline flag(1=newline)                */
  122. EXT int    asckey;            /* ascii keyboard mode for PC98(1=ascii)*/
  123. EXT int applCursor;        /* application cursor flag (1=appl)        */
  124. EXT int    applKeypad;        /* application keypad flag (1=appl)        */
  125. EXT int    fepInvoke;        /* fep invoke sequence                    */
  126. EXT int bsDel;            /* if 0 BS->BS, else BS->DEL key        */
  127. EXT int shiftLock;        /* shift/ctrl lock (1=lock)                */
  128. EXT int mouseSpeed;        /* mouse speed                            */
  129.  
  130. /*
  131.  * printer 
  132.  */
  133. EXT int printMode;        /* auto print flag (1=print)            */
  134. EXT int spacing;        /* spacing for kanji                    */
  135.  
  136. /*
  137.  * serial port 
  138.  */
  139. EXT int    portNo;            /* port number com1, com2, ....            */
  140. EXT int    online;            /* on/off line flag (1=online)            */
  141. EXT u_char cMask;        /* character mask                        */
  142. EXT char xonXoff;        /* 1= XON/XOFF, 0 = no XON/XOFF            */ 
  143. EXT char maskFlag;        /* XOFFed flag (1=XOFFed)                */
  144. EXT char downLoading;    /* down loading flag (must be char)     */
  145. EXT u_short baudrate;    /* baud rate (external form)            */
  146. EXT char baud;            /* baud rate (internal form)            */
  147. EXT char parity;        /* paritybit (external form)            */
  148. EXT u_char paritybit;    /* parity bit (internal form)            */
  149. EXT u_char stopbit;        /* stop bit (internal form)                */
  150. EXT volatile short portTimer;    /* 1 sec decriment timer value    */
  151. EXT int    dropER;            /* 1= drop ER at exit                    */
  152.  
  153. /*
  154.  * file xfer 
  155.  */
  156. EXT int logging;        /* logging (1=logging)                    */
  157. EXT int loggingType;    /* logging type (1=binary)                */
  158. EXT int upLoading;        /* uploading (1=uploading)                */
  159. EXT int upLoadType;        /* upload type (1=binary)                */
  160. EXT int upLoadDelay;    /* upload delay                            */
  161. EXT int xmodemMode;        /* xmodem/ymodem                        */
  162. EXT int xmodemType;        /* xmodem binary or text                */
  163. EXT int xmodemLongP;    /* xmodem use longPacket                */
  164. EXT char logFileName[MAX_FILE_NAME];    /* logging file name    */
  165. EXT char upFileName[MAX_FILE_NAME];    /* up load file name        */
  166. EXT char phone[MAX_PHONE];    /* dialing sequence                    */
  167. EXT int dialStartup;    /* dial at start up (1=dial)            */
  168. EXT int redial;            /* redial (1=redial)                    */
  169. EXT volatile short kermitTimer;    /* timer for kermit                */
  170. EXT char XFerBuffer[MAX_XFER_BUF];    /* common file transfer buffer    */
  171.                         /* used by kermit and xmodem            */
  172.  
  173. /*
  174.  * CRT Saver and timer 
  175.  */
  176. EXT int saver;                /* CRT saver code (off, 3min, 10min)    */
  177. EXT int saverType;            /* using saver type (blank,ico,...)        */
  178. EXT int maxSaverType;        /* number of installed saver type - 1    */
  179. EXT short timerLoadValue;    /* timer preload value                    */
  180. EXT volatile short timerValue;    /* 1 sec decriment timer value        */
  181. EXT int bsKeyRatio;            /* BS Key watcher threshhold            */
  182. EXT int bsKeyWatcherTimer;    /* BS Key watcher timer                    */
  183. EXT int keyCount;            /* key board hit counter                */
  184. EXT int bsKeyCount;            /* BS/DEL Key hit counter                */
  185.  
  186. /*
  187.  * setup
  188.  */
  189. EXT int showHelp;            /* help msg is showing flag (1=showing)    */
  190. EXT int curXSave, curYSave, printMSave, intConSave;
  191. EXT    int lowScrRgSave, attrSave;
  192. EXT    int kfirstSave, kstateSave;
  193. EXT    int lineModeSave, cursorSave;
  194. EXT    int loggingSave, upLoadSave;
  195. EXT    int kanjiSave;
  196. EXT    int wrapPendingSave;
  197.  
  198. /*
  199.  * history editor 
  200.  */
  201. EXT u_short copyBufferSize;    /* copy buffer size                        */
  202.  
  203. #ifdef MSDOS
  204. /*
  205.  * dos interface
  206.  */
  207. EXT union REGS rg;            /* dos interface registers                */
  208. #endif /* MSDOS */
  209.  
  210. /*
  211.  * hterm CTRL-key function binding
  212.  */
  213. EXT char *bindName[]
  214. #ifdef MAIN
  215.      = {
  216.     "Up",
  217.     "Down",
  218.     "Right",
  219.     "Left",
  220.     "Next-Pg",
  221.     "Prev-Pg",
  222.     "Top-Line",
  223.     "End-Line",
  224.     "Kill-End",
  225.     "Kill-Top",
  226.     "GoTo",
  227.     "Top-Hist",
  228.     "End-Hist",
  229.     "Search-F",
  230.     "Search-B",
  231.     "Mark",
  232.     "Clr-Buf",
  233.     "Copy",
  234.     "Xng",
  235.     "Write",
  236.     "Redraw",
  237.     "ESC",
  238.     "Quote",
  239.     "Del",
  240.     "Back-Del",
  241.     "Abort"}
  242. #endif /* MAIN */
  243. ;
  244.  
  245. EXT char bindTab[NUM_BIND]
  246. #ifdef MAIN
  247.     = {
  248.     CTRL('P'),    /*    "Up"         */
  249.     CTRL('N'),    /* "Down"        */
  250.     CTRL('F'),    /* "Right",     */
  251.     CTRL('B'),    /*    "Left",        */
  252.     CTRL('V'),    /*    "Next Pg",    */
  253.     CTRL('Z'),    /*    "Prev Pg",    */
  254.     CTRL('A'),    /*    "Top-Line"    */
  255.     CTRL('E'),    /*    "End-Line"    */
  256.     CTRL('K'),    /*    "Kill-End"    */
  257.     CTRL('U'),    /*    "Kill-Top"    */
  258.     CTRL('G'),    /*    "Go-To"        */
  259.     CTRL('T'),    /*    "Top-Hist"    */
  260.     CTRL('U'),    /*    "End-Hist"    */
  261.     CTRL('S'),    /*    "Search-F"    */
  262.     CTRL('R'),    /*    "Search-B",    */
  263.     0,            /*    "Mark",        */
  264.     CTRL('\\'),    /*    "Clr-Buf",    */
  265.     CTRL('W'),    /*    "Copy",        */
  266.     CTRL('C'),    /*    "Xng",        */
  267.     CTRL('O'),    /*    "Write"        */
  268.     CTRL('L'),    /*    "Redraw"    */
  269.     0x1b,        /*    "ESC"        */
  270.     CTRL('Q'),    /*    "Quote"        */
  271.     CTRL('D'),    /*    "Del",        */
  272.     CTRL('H'),    /*    "Back-Del",    */
  273.     CTRL('G'),    /*    "Abort"        */
  274. }
  275. #endif /* MAIN */
  276. ;
  277.  
  278. /*
  279.  * messages
  280.  */
  281. EXT    char msg_null[]
  282. #ifdef MAIN
  283.  = ""
  284. #endif
  285. ;
  286. EXT    char msg_cantOpen[]
  287. #ifdef MAIN
  288.  = "can't open file '%s'"
  289. #endif
  290. ;
  291. EXT    char msg_close[]
  292. #ifdef MAIN
  293.  = "close '%s'"
  294. #endif
  295. ;
  296. EXT    char msg_baudrate[]
  297. #ifdef MAIN
  298.  = "funny baudrate %ld\n\r"
  299. #endif
  300. ;
  301. EXT    char msg_setupID[]
  302. #ifdef MAIN
  303.  = "wet semaphore"
  304. #endif
  305. ;
  306. #ifdef PC98
  307. EXT    char msg_pc98baud[]
  308. #ifdef MAIN
  309.  = "(up to 9600 baud on 8/16Mhz PC9801)\n\r"
  310. #endif
  311. ;
  312. #endif /* PC98 */
  313. EXT    char msg_newString[]
  314. #ifdef MAIN
  315.  = "New string (ESC for abort): "
  316. #endif
  317. ;
  318.  
  319. EXT char msg_alloc[]
  320. #ifdef MAIN
  321.  = "Can't allocate memory for %s"
  322. #endif
  323. ;
  324.  
  325. /*
  326.  * function prototypes
  327.  */
  328.  
  329. /*
  330.  * ansi.c
  331.  */
  332. void ansiInit(void);
  333. void ansiSetup(void);
  334. void conPrint(char *p);
  335. void decodeAnsi(u_short c);
  336. void normalMode(void );
  337. void reverseMode(void );
  338.  
  339. /*
  340.  * console.c
  341.  */
  342. void consoleInit(void );
  343. void consoleSetup(void );
  344. void consoleEnd(void );
  345. void initPage(void );
  346. void setLineMode(int mode);
  347. void conWrite(unsigned short c);
  348. void scrlUp(void );
  349. void clearLine(unsigned short from,unsigned short to);
  350. void awMode(int mode);
  351. void moveCursor(int action,int num);
  352.  
  353. /*
  354.  * edit.c
  355.  */
  356. void editInit(void );
  357. void editEnd(void );
  358. void historyEditor(void );
  359. void saveHist(int, int);
  360. void paste(void );
  361. unsigned short getCopyBuffer(void );
  362. void loadFile(FILE *fp);
  363.  
  364. /*
  365.  * file.c
  366.  */
  367. void fileInit(void );
  368. void fileSetup(void );
  369. void fileEnd(void );
  370. int setLogging(void );
  371. int setUpLoad(void );
  372. int logStart(char *fileName);
  373. void logStop(void );
  374. void logPut(unsigned short c);
  375. int upStart(char *fileName);
  376. void upStop(void );
  377. short upGet(void );
  378. void xferPanel(char *name);
  379. void xprintMsg(int to,char *s,long n);
  380. char *searchPath(char *file);
  381.  
  382. /*
  383.  * font.c
  384.  */
  385. void fontInit(void );
  386. void fontEnd(void );
  387. void softFontLocate(short x,short y);
  388. void softCursorOnOff(int onOff);
  389. void blinkSoftCursor(void );
  390. void softFontPutChar(unsigned short c);
  391. void softFontInsertLine(int num);
  392. void softFontDeleteLine(int num);
  393. void softFontInsertChar(int at,int n);
  394. void softFontDeleteChar(int at,int n);
  395. void softFontClearColumn(unsigned short from,unsigned short to);
  396. void softFontClearLine(int y);
  397. void softFontReverseScreen(void );
  398. char *fontLoad(char *fontName);
  399.  
  400. /*
  401.  * hterm.c
  402.  */
  403. void termination(void );
  404. void resetTerminal(void );
  405. void endAll(void );
  406. void printCompileOptions(void);
  407.  
  408. /*
  409.  * j3100.c pc98.c ibmpc.c
  410.  */
  411. void CRTInit(void );
  412. void CRTEnd(void );
  413. void setCRTMode(void );
  414. void restoreCRTMode(void );
  415. void locate(int x,int y);
  416. int isKanjiOnVRAM(int x,int y);
  417. void cursorOnOff(int onOff);
  418. void putChar(unsigned short c);
  419. void insertLine(int num);
  420. void deleteLine(int num);
  421. void clearColumn(unsigned short from,unsigned short to);
  422. void clearCurrentPage(void );
  423. void insertChar(int at,int n);
  424. void deleteChar(int at,int n);
  425. void saveLine(int y,unsigned char FAR *buf);
  426. void savePage(unsigned short *buf);
  427. void restorePage(unsigned short *buf);
  428. void clearSavedPage(unsigned short *buf);
  429. void click(void );
  430. void bell(void );
  431. void textCRTOnOff(int onOff);
  432. void setBorder(int col);
  433. void graphicCRTOnOff(int onOff);
  434. void setCRTLineMode(int mode25);
  435.  
  436. /*
  437.  * indexlib.c
  438.  */
  439. int openIndex(char *file);
  440. int closeIndex(void );
  441. int getKey(char *key,char *nextKey);
  442. int getRecord(char *line,int n);
  443.  
  444. /*
  445.  * kermit.c
  446.  */
  447. int kbegin(char *msg);
  448. void kend(char *msg,int status);
  449. void krec(void );
  450. void ksend(void );
  451. void kfinish(void );
  452. void kget(void );
  453.  
  454. /*
  455.  * key98.c keypc.c
  456.  */
  457. void keyInit(void );
  458. void keyReInit(void );
  459. void keySetup(void );
  460. void keyEnd(void );
  461. void keyMode(void );
  462. void setBSDel(int bsDelFlag);
  463. short keyin(void );
  464. int checkKey(void );
  465. void editNormalKeys(void );
  466. void editShiftKeys(void );
  467. void editCtrlKeys(void );
  468. void editKanaKeys(void );
  469. void editShKanaKeys(void );
  470. void editPFKey(void );
  471. void editSPFKey(void );
  472. void editCursorKey(void );
  473. void editAppCursorKey(void );
  474. void editAppKeyPad(void );
  475. void editBinding(void );
  476. void editKeySwapTable(void );
  477. void saveKey(int fd);
  478. void loadKey(int fd);
  479. void mouseInit(void);
  480. void mouseEnd(void);
  481.  
  482. /*
  483.  * msdos.c
  484.  */
  485. void FAR *allocMem(long size);
  486. void freeMem(void FAR *ptr);
  487. void moveData(void FAR *to,void FAR *from,short size);
  488. int getNextFileName(int first,char * *fileList,char * *fileName,int dirFlag);
  489. void changeDirectory(void );
  490. void setCritHandler(void );
  491. void restoreCritHandler(void );
  492.  
  493. /*
  494.  * port.c
  495.  */
  496. void portInit(void );
  497. void portReInit(void );
  498. void portSetup(void );
  499. void portEnd(void );
  500. void outPort(unsigned short c);
  501. void setPort(int num);
  502. void rowOutPort(unsigned char c);
  503. void outString(char *s);
  504. void rowOutPortBuffer(char *buf,int len);
  505. void outESC(char *s);
  506. int baudNum(unsigned short baudrate);
  507. unsigned short numBaud(unsigned int num);
  508. void flushInputBuffer(void );
  509. void shortWait(void );
  510. void nullFunction(void );
  511. int inpWait(unsigned short addr);
  512. void outpWait(unsigned short addr,int value);
  513. unsigned short SJIStoJIS(unsigned short byte_1,unsigned short byte_2);
  514. unsigned short JIStoSJIS(unsigned char h,unsigned char l);
  515. unsigned char parcalc(unsigned char paritybit,unsigned char stopbit);
  516. void initPortDevice(unsigned char baud,unsigned char parity);
  517. void sendBreak(int shortLong);
  518. void ER_RS_On(void );
  519. void ER_RS_Off(void );
  520.  
  521. /*
  522.  * printer.c
  523.  */
  524. void printInit(void );
  525. void printSetup(void );
  526. void printEnd(void );
  527. void printOn(void );
  528. void outPrinter(unsigned short c);
  529. int checkPrinterReady(void );
  530.  
  531. /*
  532.  * saver98.c saverpc.c
  533.  */
  534. void saverInit(void );
  535. void saverReInit(void );
  536. void saverSetup(void );
  537. void saverEnd(void );
  538. char *saverName(int n);
  539. void setTimerValue(void );
  540. void CRTSaver(void );
  541.  
  542. /*
  543.  * setup.c
  544.  */
  545. void setup(void );
  546.  
  547. /*
  548.  * utils.c
  549.  */
  550. void putStatus(char *s);
  551. void clearStatus(void );
  552. void clearCopyright(void );
  553. void flushComment(char *s);
  554. void putComment(char *msg,char *msg2);
  555. char *versionString(void );
  556. int checkEvent(void );
  557. void showPage1(void );
  558. void showPage0(void );
  559. void callOS(void );
  560. char *helpSystem(char *key);
  561. int emacs(char *prompt,char *buf,int limit,int help);
  562. int charSize(unsigned char FAR *buf,int at);
  563. void editKeyTable(char * *name,u_char (*table)[17],int num,int keyLen,int nameLen);
  564. void showKeyTable(char * *name,u_char (*table)[17],int num,int keyLen,int nameLen);
  565. char *loadSetup(char *path,int *flag);
  566. char *saveSetup(char *path);
  567. void clearAllTabs(void );
  568. void setTabs(int n);
  569. void editTabs(void );
  570. void dispTabs(void );
  571. void toSlash(char *p);
  572.  
  573. /*
  574.  * xmodem.c
  575.  */
  576. void xinit(void );
  577. void xrec(void );
  578. void xsend(void );
  579.  
  580. /*
  581.  * all of functions in assembly should be FAR functions
  582.  */
  583. /*
  584.  * serdrvxx.asm
  585.  */
  586. void (INTERRUPT FAR * FAR getPortInterruptHandlerAddress(void))(void);
  587. void FAR initPortBuffer(void);
  588. short FAR getSerial(void);
  589. int FAR checkSerial(void);
  590. void FAR pokeMemory(short seg, short addr, u_char data);
  591. u_short FAR peekMemory(short seg, short addr);
  592. #ifdef PC98
  593. void FAR timerInit(void (INTERRUPT FAR *)());
  594. void INTERRUPT FAR timerHandler(void);
  595. short FAR directConsoleIO(void);
  596. #endif /* PC98 */
  597.  
  598. /*
  599.  * keydrvpc.asm
  600.  */
  601. #if defined(IBMPC) || defined(J3100)
  602. short FAR inputKey(void);
  603. int FAR checkBIOSKey(void);
  604. void FAR strPut(int page, int chars, int x, int y, char FAR *str);
  605. #endif /* IBMPC || J3100 */
  606.  
  607. /*
  608.  * vramxx.asm
  609.  */
  610. unsigned FAR getDSeg(void);
  611. void FAR fillVRAM(u_short *to, u_short num, u_short data, u_short attrib);
  612. void FAR moveForward(u_short *to, u_short *from, u_short num, int attribFlag);
  613. void FAR moveBackward(u_short *to, u_short *from, u_short num, int attribFlag);
  614. void FAR moveMemory(u_short *to, u_short toSeg, u_short *from, u_short fromSeg, u_short num);
  615. void FAR moveForByte(u_short *to, u_short *from, u_short num);
  616. void FAR moveBackByte(u_short *to, u_short *from, u_short num);
  617. void FAR splx(void);
  618. void FAR spl7(void);
  619.  
  620. #ifdef    J3100
  621. extern void FAR saveVRAM();
  622. extern void FAR loadVRAM();
  623. extern void FAR swapVRAM();
  624. extern u_short FAR b_getCursor();
  625. extern void FAR b_setCursor();
  626. extern u_short FAR b_readChar();
  627. extern u_short FAR b_readCharAt();
  628. extern void FAR b_writeChar();
  629. extern void FAR b_writeCharAt();
  630. extern void FAR b_reverseChar();
  631. extern void FAR b_reverseCharAt();
  632. extern void FAR v_reverseScreen();
  633. #endif /* J3100 */
  634.  
  635. #ifdef MOUSE
  636. void (FAR * FAR getMouseIntAddress(void))(void);
  637. #endif /* MOUSE */
  638.