home *** CD-ROM | disk | FTP | other *** search
/ Network PC / Network PC.iso / amiga utilities / communication / bbs / termv4.6 / extras / source / term-source.lha / Data.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-03-18  |  17.4 KB  |  753 lines

  1. /*
  2. **    Data.h
  3. **
  4. **    Global symbol definitions
  5. **
  6. **    Copyright © 1990-1996 by Olaf `Olsen' Barthel
  7. **        All Rights Reserved
  8. */
  9.  
  10. #ifndef _DATA_H
  11. #define _DATA_H 1
  12.  
  13.     // In VersionTag.a
  14.  
  15. extern LONG             TermVersion;
  16. extern LONG             TermRevision;
  17. extern UBYTE             TermName[];
  18. extern UBYTE             TermDate[];
  19.  
  20.  
  21. /**********************************************************************/
  22.  
  23.  
  24. extern BOOLEAN             DebugFlag;
  25.  
  26.     /* Libraries. */
  27.  
  28. extern struct ExecBase        *SysBase;
  29. extern struct DosLibrary    *DOSBase;
  30. extern struct Library        *GTLayoutBase;
  31.  
  32. extern struct IntuitionBase    *IntuitionBase;
  33. extern struct GfxBase        *GfxBase;
  34. extern struct RxsLib        *RexxSysBase;
  35. extern struct LocaleBase    *LocaleBase;
  36. extern struct Library        *GadToolsBase,
  37.                 *TimerBase,
  38.                 *ConsoleDevice,
  39.                 *DiskfontBase,
  40.                 *UtilityBase,
  41.                 *AslBase,
  42.                 *IFFParseBase,
  43.                 *CxBase,
  44.                 *IconBase,
  45.                 *LayersBase,
  46.                 *TranslatorBase,
  47.                 *WorkbenchBase,
  48.                 *AmigaGuideBase,
  49.                 *XEmulatorBase,
  50.                 *XProtocolBase,
  51.                 *DataTypesBase,
  52.                 *OwnDevUnitBase;
  53.  
  54. extern BOOLEAN             Kick30;
  55.  
  56.     /* Timer device. */
  57.  
  58. extern struct timerequest    *TimeRequest;
  59. extern struct MsgPort        *TimePort;
  60.  
  61.     /* Console device. */
  62.  
  63. extern struct IOStdReq        *ConsoleRequest;
  64. extern struct KeyMap        *KeyMap;
  65. extern BPTR             KeySegment;
  66.  
  67.     /* Screen & Windows. */
  68.  
  69. extern struct Screen        *Screen,
  70.                 *SharedScreen;
  71. extern struct Window        *Window;
  72. extern ULONG             OpenWindowTag;
  73. extern LONG             WindowWidth,
  74.                  WindowHeight,
  75.                  WindowLeft,
  76.                  WindowTop;
  77. extern struct Window        *StatusWindow;
  78. extern UWORD             StatusOffset;
  79. extern struct RastPort         StatusRastPort,
  80.                 *StatusRPort;
  81. extern UWORD             StatusDisplayLeft,
  82.                   StatusDisplayTop,
  83.                   StatusDisplayWidth,
  84.                   StatusDisplayHeight;
  85. extern APTR             OldWindowPtr;
  86. extern UBYTE             ScreenTitle[80];
  87. extern UBYTE             WindowTitle[80];
  88. extern UBYTE             DepthMask;
  89. extern LONG             RenderPens[4],
  90.                  MappedPens[2][32],
  91.                  SafeTextPen;
  92. extern struct DrawInfo        *DrawInfo;
  93. extern UWORD            *Pens;
  94. extern LONG             ScreenWidth,
  95.                  ScreenHeight;
  96. extern BOOLEAN             UseMasking;
  97. extern struct IBox         WindowBox;
  98.  
  99. extern struct BlockMarker    *WindowMarker;
  100. extern ULONG             ClickSecs,ClickMicros;
  101. extern BOOLEAN             FirstClick,HoldClick;
  102. extern LONG             ClickX,ClickY;
  103.  
  104.     /* Workbench AppWindow support. */
  105.  
  106. extern struct AppWindow        *WorkbenchWindow;
  107. extern struct MsgPort        *WorkbenchPort;
  108.  
  109.     /* Graphics rendering. */
  110.  
  111. extern struct ViewPort        *VPort;
  112. extern struct RastPort        *RPort;
  113. extern struct Region        *ClipRegion,
  114.                 *OldRegion;
  115. extern struct TextFont        *GFX,
  116.                 *CurrentFont,
  117.                 *UserTextFont;
  118. extern WORD             UserFontHeight,
  119.                  UserFontWidth,
  120.                  UserFontBase;
  121. extern UBYTE             UserFontName[40];
  122. extern struct TextFont        *TextFont;
  123. extern WORD             TextFontHeight,
  124.                  TextFontWidth,
  125.                  TextFontBase;
  126. extern struct TTextAttr         TextAttr;
  127. extern UBYTE             TextFontName[40];
  128. extern struct TTextAttr         UserFont;
  129. extern struct TagItem         TagDPI[2];
  130. extern APTR             VisualInfo;
  131. extern UWORD             FontRightExtend;
  132.  
  133. extern ULONG            (* ReadAPen)(struct RastPort *RPort);
  134. extern ULONG            (* ReadBPen)(struct RastPort *RPort);
  135. extern ULONG            (* ReadDrMd)(struct RastPort *RPort);
  136. extern ULONG            (* SetMask)(struct RastPort *RPort,ULONG Mask);
  137.  
  138. extern UWORD             MonoPens[];
  139. extern UWORD             StandardPens[];
  140. extern UWORD             ANSIPens[];
  141. extern UWORD             EGAPens[];
  142. extern UWORD             NewEGAPens[];
  143. extern UWORD             AtomicColours[16];
  144. extern UWORD             EGAColours[16];
  145. extern UWORD             ANSIColours[16];
  146.  
  147. extern UWORD             DefaultColours[32],
  148.                  BlinkColours[32],
  149.                  NormalColours[32],
  150.                  StandardColours[32],
  151.                  PaletteSize;
  152.  
  153.     /* Line/Column offset tables. */
  154.  
  155. extern LONG            *OffsetXTable,
  156.                 *OffsetYTable;
  157.  
  158.     /* DOS data. */
  159.  
  160. extern struct Process        *ThisProcess;
  161. extern struct Process        *StatusProcess;
  162. extern struct Process        *RexxProcess;
  163. extern struct MsgPort        *TermRexxPort;
  164. extern struct WBStartup        *WBenchMsg;
  165. extern BPTR             WBenchLock;
  166. extern struct TermPort        *TermPort;
  167. extern BYTE             CheckBit,
  168.                  OwnDevBit;
  169. extern BOOLEAN             InRexx;
  170. extern WORD             LimitCount;
  171. extern UBYTE             LimitMacro[MAX_FILENAME_LENGTH];
  172. extern LONG             CantQuit;
  173.  
  174.     /* Character conversion. */
  175.  
  176. extern struct InputEvent    *FakeInputEvent;
  177.  
  178.     /* Serial I/O. */
  179.  
  180. extern struct IOExtSer        *ReadRequest;
  181. extern struct IOExtSer        *WriteRequest;
  182. extern struct MsgPort        *ReadPort;
  183. extern UBYTE            *ReadBuffer,
  184.                 *HostReadBuffer;
  185. extern UBYTE            *SerialMessage;
  186. extern ULONG             DTERate,
  187.                  SerialBufferSize;
  188. extern BOOLEAN             ProcessIO;
  189. extern BOOLEAN             FirstInvocation;
  190. extern BOOLEAN             UseRTS_CTS;
  191.  
  192. extern UBYTE             NewDevice[MAX_FILENAME_LENGTH];
  193. extern LONG             NewUnit;
  194. extern BOOLEAN             UseNewDevice,
  195.                  UseNewUnit;
  196.  
  197. extern LONG             BaudRates[];
  198. extern WORD             NumBaudRates;
  199.  
  200. extern struct RendezvousSemaphore    RendezvousSemaphore;
  201.  
  202.     /* Localization support. */
  203.  
  204. extern struct Catalog        *Catalog;
  205. extern struct Locale        *Locale;
  206. extern UBYTE             DecimalPoint;
  207.  
  208.     /* Hotkeys. */
  209.  
  210. extern struct Hotkeys         Hotkeys;
  211.  
  212.     /* Static default fonts. */
  213.  
  214. extern struct TextAttr DefaultFont;
  215. extern struct TextAttr GFXFont;
  216.  
  217.     /* Character lookup tables. */
  218.  
  219. extern BYTE IsPrintable[256];
  220. extern BYTE IsGlyph[256];
  221. extern BYTE CharType[256];
  222.  
  223.     /* ISO -> IBM font conversion. */
  224.  
  225. extern UBYTE IBMConversion[256];
  226.  
  227.     /* IBM -> ISO font conversion. */
  228.  
  229. extern UBYTE ISOConversion[256];
  230.  
  231.     /* Table of graphics characters. */
  232.  
  233. extern BYTE GfxTable[256];
  234.  
  235.     /* Special character treatment. */
  236.  
  237. extern struct SpecialKey     SpecialKeys[13];
  238. extern JUMP            *SpecialTable;
  239.  
  240. extern BYTE             AbortMap[256];
  241. extern JUMP            *AbortTable;
  242.  
  243. extern VOID (* ConDump)(STRPTR,LONG);
  244. extern VOID (* ConOutput)(STRPTR,LONG);
  245. extern VOID (* ConProcessData)(register STRPTR,register LONG);
  246.  
  247.     /* Shared global string formatting buffer. */
  248.  
  249. extern UBYTE SharedBuffer[512];
  250.  
  251.     /* Some more handy buffers. */
  252.  
  253. extern UBYTE ARexxCommandBuffer[256],AmigaDOSCommandBuffer[256],DialNumberBuffer[256];
  254.  
  255.     /* Screen pull-down-menu. */
  256.  
  257. extern struct NewMenu     TermMenu[];
  258. extern WORD         NumMenuEntries;
  259. extern LONG         MenuLabels[];
  260.  
  261. extern struct Menu    *Menu;
  262. extern struct Image    *AmigaGlyph,
  263.             *CheckGlyph;
  264.  
  265.     /* Cross-hatch pattern. */
  266.  
  267. extern ULONG Crosshatch;
  268.  
  269.     /* Configuration. */
  270.  
  271. extern struct Configuration    *Config,
  272.                 *PrivateConfig,
  273.                 *BackupConfig;
  274. extern struct SpeechConfig     SpeechConfig;
  275. extern BOOLEAN             English;
  276. extern BYTE             Status;
  277. extern BOOLEAN             Online,WasOnline;
  278. extern ULONG             OnlineMinutes;
  279. extern UWORD             PublicModes;
  280. extern struct SignalSemaphore     OnlineSemaphore;
  281.  
  282. extern UBYTE             LastConfig[MAX_FILENAME_LENGTH];
  283. extern UBYTE             DefaultPubScreenName[MAXPUBSCREENNAME + 1],
  284.                  SomePubScreenName[MAXPUBSCREENNAME + 1];
  285.  
  286.     /* Capture file. */
  287.  
  288. extern struct Buffer        *FileCapture;
  289. extern BPTR             PrinterCapture;
  290. extern UBYTE             CaptureName[MAX_FILENAME_LENGTH];
  291. extern BOOLEAN             StandardPrinterCapture,
  292.                  ControllerActive;
  293. extern LONG             BufferFlushCount;
  294. extern VOID            (* CaptureData)(register APTR Data,register LONG Size);
  295. extern BOOLEAN             RawCapture;
  296. extern ParseContext        *ParserStuff;
  297.  
  298.     /* Buffer. */
  299.  
  300. extern UBYTE            **BufferLines;
  301. extern LONG             Lines;
  302. extern struct SignalSemaphore    *BufferSemaphore;
  303. extern LONG             MaxLines;
  304. extern LONG             BufferSpace;
  305. extern BOOLEAN             BufferClosed;
  306. extern BOOLEAN             BufferFrozen;
  307.  
  308. extern struct MinList         ReviewBufferHistory,
  309.                  TextBufferHistory;
  310.  
  311.     /* Sound support.c */
  312.  
  313. extern struct SoundConfig     SoundConfig;
  314. extern BOOLEAN             SoundChanged;
  315.  
  316.     /* Phonebook. */
  317.  
  318. extern struct PhoneEntry    **Phonebook;
  319. extern LONG             PhoneSize;
  320. extern LONG             NumPhoneEntries;
  321. extern struct MinList         PhoneGroupList;
  322. extern ULONG             PhonebookID;
  323. extern ULONG             PhonebookDefaultGroup;
  324. extern UBYTE             PhonePassword[256];
  325. extern BOOLEAN             PhonePasswordUsed,
  326.                  PhonebookAutoDial,
  327.                  PhonebookAutoExit,
  328.                  RebuildMenu;
  329. extern UBYTE             Password[100];
  330. extern UBYTE             UserName[100];
  331.  
  332. extern UBYTE             CurrentBBSName[40],
  333.                  CurrentBBSNumber[100],
  334.                  CurrentBBSComment[100];
  335.  
  336. extern UBYTE             LastPhone[MAX_FILENAME_LENGTH];
  337. extern UBYTE             LastKeys[MAX_FILENAME_LENGTH];
  338. extern UBYTE             LastMacros[MAX_FILENAME_LENGTH];
  339. extern UBYTE             LastCursorKeys[MAX_FILENAME_LENGTH];
  340. extern UBYTE             LastTranslation[MAX_FILENAME_LENGTH];
  341. extern UBYTE             LastSpeech[MAX_FILENAME_LENGTH];
  342. extern UBYTE             LastSound[MAX_FILENAME_LENGTH];
  343.  
  344. extern struct MacroKeys        *MacroKeys;
  345. extern struct CursorKeys    *CursorKeys;
  346.  
  347.     /* Console stuff. */
  348.  
  349. extern UBYTE            *StripBuffer;
  350. extern UWORD             LastLine,LastColumn,LastPixel;
  351. extern UWORD             LastPrintableColumn;
  352. extern UWORD             LastPrintablePixel;
  353. extern UWORD             CharCellNominator,CharCellDenominator;
  354. extern UBYTE             CurrentFontScale,FontScalingRequired,CurrentCharWidth;
  355. extern UBYTE             Charset,Attributes,FgPen,BgPen;
  356. extern WORD             CursorX,CursorY,Top,Bottom;
  357. extern BOOLEAN             UseRegion,RegionSet,InSequence,Quiet,Blocking;
  358. extern BYTE            *TabStops;
  359. extern UWORD             TabStopMax;
  360. extern BYTE             CharMode[2];
  361.  
  362. extern BOOLEAN             VT52_Mode;
  363.  
  364. extern BOOLEAN             ResetDisplay,
  365.                  DisplayReopened,
  366.                  FixPubScreenMode,
  367.                  FixScreenSize,
  368.                  Apocalypse;
  369.  
  370. extern struct SignalSemaphore     TerminalSemaphore;    // Protection from shape changers
  371.  
  372.     /* Flow filter. */
  373.  
  374. extern STRPTR             AttentionBuffers[SCAN_COUNT];
  375. extern BOOLEAN             BaudPending,FullCheck,UseFlow;
  376. extern UBYTE             BaudBuffer[80],BaudCount;
  377.  
  378. extern struct FlowInfo         FlowInfo;
  379.  
  380. extern STRPTR             DataHold;
  381. extern LONG             DataSize;
  382.  
  383.     /* Transfer data. */
  384.  
  385. extern BOOLEAN             BinaryTransfer;
  386. extern LONG             TransferAbortState;
  387. extern WORD             TransferAbortCount;
  388. extern LONG             TransferBits;
  389.  
  390. extern VOID            (* ConTransfer)(STRPTR,LONG);
  391.  
  392. extern UBYTE            *DownloadPath;
  393. extern BOOLEAN             Uploading;
  394. extern BOOLEAN             DidTransfer;
  395.  
  396. extern struct Window        *TransferWindow;
  397. extern UBYTE             TransferTitleBuffer[256];
  398. extern BOOLEAN             TransferZoomed;
  399. extern STRPTR             TransferWindowTitle;
  400.  
  401. extern struct LayoutHandle    *TransferHandle;
  402. extern struct List         TransferInfoList;
  403.  
  404. extern struct FileTransferInfo    *FileTransferInfo;
  405.  
  406. extern struct XPR_IO        *XprIO;
  407. extern struct XPR_UPDATE    *Update_Backup;
  408. extern struct MinList         Update_MsgList;
  409. extern WORD             Update_MsgCount;
  410. extern UBYTE             ProtocolOptsBuffer[256];
  411. extern BOOLEAN             NewOptions;
  412. extern BOOLEAN             XPRCommandSelected;
  413. extern UBYTE             LastXprLibrary[MAX_FILENAME_LENGTH];
  414. extern UBYTE             TransferProtocolName[40];
  415. extern UBYTE             ConvNumber[30],ConvNumber10[30];
  416. extern BOOLEAN             UsesZModem,SendAbort,TransferAborted,TransferFailed,TransferError;
  417.  
  418. extern struct Process        *TransferProcess;
  419.  
  420.     /* The standard ZModem cancel sequence
  421.      * (ten CAN chars followed by ten
  422.      * BS chars).
  423.      */
  424.  
  425. extern UBYTE             ZModemCancel[];
  426.  
  427.     /* Pay per minute. */
  428.  
  429. extern LONG             PayPerUnit[2];
  430. extern LONG             SecPerUnit[2];
  431. extern struct PhoneEntry    *ChosenEntry;
  432. extern struct List        *PatternList,
  433.                 *ChosenPattern;
  434. extern UBYTE             LastPattern[MAX_FILENAME_LENGTH];
  435. extern BOOLEAN             PatternsChanged;
  436. extern struct SignalSemaphore     PatternSemaphore;
  437.  
  438.     /* Execute a command/script. */
  439.  
  440. extern UBYTE             WindowName[256];
  441.  
  442. extern ULONG             BlockNestCount;
  443. extern BOOLEAN             WeAreBlocking;
  444.  
  445.     /* Dial list. */
  446.  
  447. extern struct List        *DialList;
  448. extern BOOLEAN             SendStartup;
  449. extern LONG             FirstDialMenu;
  450. extern struct RexxMsg        *DialMsg;
  451.  
  452.     /* TermMain data. */
  453.  
  454. extern BOOLEAN             ReleaseSerial;
  455. extern BOOLEAN             ResetSerial;
  456. extern BOOLEAN             MainTerminated,
  457.                   IconTerminated,
  458.                  DoIconify,
  459.                  DoDial,
  460.                  KeepQuiet;
  461.  
  462. extern BOOLEAN             ConfigChanged,PhonebookChanged,TranslationChanged,
  463.                  MacroChanged,CursorKeysChanged,FastMacrosChanged,
  464.                  HotkeysChanged,SpeechChanged,BufferChanged;
  465.  
  466.     /* String gadget hooks. */
  467.  
  468. extern struct Window        *CommandWindow;
  469. extern struct Gadget        *CommandGadget;
  470.  
  471. extern BOOLEAN             ClipInput,
  472.                  ClipXerox,
  473.                  ClipPrefix;
  474.  
  475.     /* Text sending. */
  476.  
  477. extern UBYTE             SendPrompt[256];
  478. extern LONG             SendPromptLen;
  479. extern BOOL            (* SendLine)(register STRPTR,register LONG);
  480.  
  481.     /* Packet window. */
  482.  
  483. extern struct Window        *PacketWindow;
  484. extern struct Gadget        *PacketGadgetArray[2];
  485. extern struct Menu        *PacketMenu;
  486. extern struct Gadget        *PacketGadgetList;
  487. extern struct List         PacketHistoryList;
  488.  
  489.     /* Some more colour control flags. */
  490.  
  491. extern BOOLEAN             Initializing,LoadColours;
  492.  
  493.     /* The character raster. */
  494.  
  495. extern UBYTE            *Raster,*RasterAttr;
  496. extern LONG             RasterWidth,RasterHeight;
  497. extern BOOLEAN             Marking;
  498. extern struct SignalSemaphore    *RasterSemaphore;
  499. extern BOOLEAN             RasterEnabled;
  500.  
  501.     /* Generic lists. */
  502.  
  503. extern struct GenericList    *GenericListTable[GLIST_COUNT];
  504.  
  505.     /* File version test. */
  506.  
  507. extern ULONG VersionProps[2];
  508.  
  509.     /* Window stack. */
  510.  
  511. extern struct Window        *TopWindow;
  512.  
  513. extern struct Window        *WindowStack[5];
  514. extern WORD             WindowStackPtr;
  515.  
  516.     /* Global term ID. */
  517.  
  518. extern LONG             TermID;
  519. extern UBYTE             TermIDString[MAXPUBSCREENNAME + 1];
  520. extern UBYTE             RexxPortName[256];
  521.  
  522.     /* Fast! macros. */
  523.  
  524. extern struct List         FastMacroList;
  525. extern LONG             FastMacroCount;
  526. extern UBYTE             LastFastMacros[MAX_FILENAME_LENGTH];
  527. extern struct Window        *FastWindow;
  528. extern WORD             FastWindowLeft,
  529.                  FastWindowTop,
  530.                  FastWindowHeight;
  531.  
  532.     /* Double-buffered file locking. */
  533.  
  534. extern struct List         DoubleBufferList;
  535. extern struct SignalSemaphore     DoubleBufferSemaphore;
  536.  
  537.     /* XEM interface. */
  538.  
  539. extern struct XEM_IO        *XEM_IO;
  540. extern ULONG             XEM_Signal;
  541. extern struct XEmulatorHostData XEM_HostData;
  542. extern UBYTE            *OptionTitle;
  543. extern struct List         XEM_MacroList;
  544. extern struct XEmulatorMacroKey *XEM_MacroKeys;
  545. extern UBYTE             EmulationName[40];
  546.  
  547. extern struct List         EmptyList;
  548.  
  549.     /* Screen scrolling support. */
  550.  
  551. extern UWORD             ScrollLineFirst,ScrollLineLast,
  552.                  ScrollLineCount;
  553. extern struct ScrollLineInfo    *ScrollLines;
  554.  
  555.     /* term review buffer. */
  556.  
  557. extern struct Window        *ReviewWindow;
  558.  
  559.     /* Background information. */
  560.  
  561. extern ULONG             BytesIn,
  562.                  BytesOut;
  563. extern struct DateStamp         SessionStart;
  564. extern struct Window        *InfoWindow;
  565.  
  566.     /* Gadget support routines */
  567.  
  568. extern LONG             InterWidth,
  569.                  InterHeight;
  570.  
  571.     /* Character translation. */
  572.  
  573. extern struct TranslationEntry    **SendTable,
  574.                 **ReceiveTable;
  575.  
  576.     /* Window alignment information. */
  577.  
  578. extern struct WindowInfo WindowInfoTable[WINDOW_COUNT];
  579.  
  580.     /* New user interface. */
  581.  
  582. extern struct Hook LocaleHook;
  583.  
  584.     /* AmigaGuide hook. */
  585.  
  586. extern struct Hook GuideHook;
  587.  
  588.     /* Special queue management. */
  589.  
  590. extern struct MsgQueue    *SpecialQueue;
  591.  
  592.     /* Window and Screen backfill hook. */
  593.  
  594. extern struct Hook BackfillHook;
  595.  
  596. extern ULONG BackfillTag;
  597.  
  598.     /* Intercept data going through SerWrite. */
  599.  
  600. extern BOOL (* SerWriteBypass)(STRPTR Buffer,LONG Size);
  601.  
  602.     /* The incredibly shrinking file name. */
  603.  
  604. extern UBYTE        ShrunkenName[MAX_FILENAME_LENGTH],
  605.             OriginalName[MAX_FILENAME_LENGTH];
  606.  
  607.     /* Terminal emulation task. */
  608.  
  609. extern struct MsgQueue *TerminalQueue;
  610.  
  611.     /* AppIcon data. */
  612.  
  613. extern struct DiskObject DropIcon;
  614.  
  615.     /* Remember some of the incoming data. */
  616.  
  617. extern BOOLEAN    RememberOutput,
  618.         RememberInput,
  619.  
  620.         Recording,
  621.         RecordingLine;
  622.  
  623.     /* Trap settings. */
  624.  
  625. extern BOOLEAN        WatchTraps;
  626. extern BOOLEAN        TrapsChanged;
  627. extern BOOLEAN        FilterTraps;
  628. extern UBYTE        LastTraps[MAX_FILENAME_LENGTH];
  629. extern ParseContext    *TrapStuff;
  630.  
  631.     /* CR/LF receiver translation data. */
  632.  
  633. extern LONG (* Translate_CR_LF)(register STRPTR Data,register LONG Size);
  634.  
  635.     /* End of line conversion labels. */
  636.  
  637. extern STRPTR EOL_Labels[];
  638.  
  639.  
  640. /**********************************************************************/
  641.  
  642.  
  643.     /* This follows the control code information. */
  644.  
  645. extern struct ControlCode     ANSICode[];
  646. extern WORD             NumCodes;
  647.  
  648.  
  649. /**********************************************************************/
  650.  
  651.  
  652. extern struct SignalSemaphore    ARexxQueueSemaphore;
  653. extern struct List        ARexxQueue;
  654. extern BOOLEAN            ARexxRunning;
  655.  
  656.  
  657. /**********************************************************************/
  658.  
  659.  
  660. extern UWORD            PenTable[16];
  661. extern UBYTE            TextAttributeTable[16];
  662. extern WORD            ForegroundPen,
  663.                 BackgroundPen;
  664.  
  665.  
  666. /**********************************************************************/
  667.  
  668.  
  669. extern BOOLEAN            ChatMode;
  670. extern ULONG            SliderType;
  671. extern ULONG            CycleType;
  672.  
  673.  
  674. /**********************************************************************/
  675.  
  676.  
  677. extern struct ColourTable    *NormalColourTable,
  678.                 *BlinkColourTable,
  679.                 *ANSIColourTable,
  680.                 *EGAColourTable,
  681.                 *DefaultColourTable,
  682.                 *MonoColourTable;
  683.  
  684.  
  685. /**********************************************************************/
  686.  
  687.  
  688. extern UBYTE Language[80];
  689.  
  690.  
  691. /**********************************************************************/
  692.  
  693.  
  694. extern STRPTR CharCodes[256];
  695.  
  696.  
  697. /**********************************************************************/
  698.  
  699.  
  700. extern struct Window *MatrixWindow;
  701.  
  702.  
  703. /**********************************************************************/
  704.  
  705.  
  706. extern VOID (* SaveRaster)(LONG First,LONG Last);
  707.  
  708.  
  709. /**********************************************************************/
  710.  
  711.  
  712. extern struct SignalSemaphore     BufferTaskSemaphore;
  713. extern struct TextBufferInfo    *BufferInfoData;
  714.  
  715. extern struct SignalSemaphore     ReviewTaskSemaphore;
  716. extern struct TextBufferInfo    *ReviewInfoData;
  717.  
  718.  
  719. /**********************************************************************/
  720.  
  721.  
  722. extern struct AttributeEntry     AttributeTable[];
  723. extern WORD             AttributeTableSize;
  724.  
  725.     /* This is where the information on what arguments exclude
  726.      * other arguments is linked to the actual commands.
  727.      */
  728.  
  729. extern struct ExclusionInfo *ExclusionTable[];
  730.  
  731.     /* This is where the information on which arguments (switches and keywords)
  732.      * are actually required is stored.
  733.      */
  734.  
  735. extern UWORD InclusionTable[];
  736.  
  737.     /* This is where command names, arguments and the routines
  738.      * to execute the actual commands are linked together.
  739.      */
  740.  
  741. extern struct CommandInfo     CommandTable[];
  742. extern WORD             CommandTableSize;
  743.  
  744. extern struct MsgPort        *RexxPort;
  745. extern LONG             LastRexxError;
  746. extern LONG             RexxTimeoutVal;
  747. extern BOOLEAN             UpdateRequired,TransferUpdateRequired;
  748.  
  749. extern LONG             RexxLaunchCount;
  750. extern struct SignalSemaphore     RexxLaunchSemaphore;
  751.  
  752. #endif
  753.