<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">DEFINITION MODULE SYSCIO;

IMPORT BIOS;

TYPE Devices    = BIOS.Device; (* PRT Printer, Parallel Port
                                  AUX Aux Device, Serial, Modem Port
                                  CON Console, Screen
                                  HSS High Speed Serial, MIDI Port
                                  KBD Intelligent Keyboard *)
     KeyBoardDataDef = RECORD
       KeyStatus:      BIOS.KBShifts;(* RightShift, LeftShift, ControlKey*)
       KeyData:        RECORD        (* AlternateKey, CapsLock           *)
         CASE Tag : CARDINAL OF      (* RightMouseButton, LeftMouseButton*)
           0 : Data1  : CHAR;
               Data2  : CHAR;
               Data3  : CHAR;
               Data4  : CHAR;
         | 1 : CData1 : CARDINAL;
               CData2 : CARDINAL;
         | 2 : LData1 : LONGCARD;
         END;
       END;
     END;

VAR KeyBoardData : KeyBoardDataDef;

PROCEDURE GoToXY(Column,Line : CARDINAL);

PROCEDURE EditLongCard(VAR To,Pat : ARRAY OF CHAR;
                           From   : LONGCARD);

PROCEDURE EditCard(VAR To,Pat : ARRAY OF CHAR;
                       From   : CARDINAL);

PROCEDURE KeyPressed () : BOOLEAN;

PROCEDURE Read(VAR Data : CHAR);

PROCEDURE ReadInt(VAR Data : INTEGER);

PROCEDURE ReadCard(VAR Data : CARDINAL);

PROCEDURE ReadLongInt(VAR Data : LONGINT);

PROCEDURE ReadLongCard(VAR Data : LONGCARD);

PROCEDURE ReadString(VAR Data : ARRAY OF CHAR);

PROCEDURE Write(Data : CHAR);

PROCEDURE WriteInt(Data : INTEGER; Size : INTEGER);

PROCEDURE WriteCard(Data : CARDINAL; Size : INTEGER);

PROCEDURE WriteLongInt(Data : LONGINT; Size : INTEGER);

PROCEDURE WriteLongCard(Data : LONGCARD; Size : INTEGER);

PROCEDURE WriteString(VAR Data : ARRAY OF CHAR);

PROCEDURE WriteLn;

PROCEDURE KEyPressed (Dev : Devices) : BOOLEAN;

PROCEDURE REad(Dev : Devices; VAR Data : CHAR);

PROCEDURE REadInt(Dev : Devices; VAR Data : INTEGER);

PROCEDURE REadCard(Dev : Devices; VAR Data : CARDINAL);

PROCEDURE REadLongInt(Dev : Devices; VAR Data : LONGINT);

PROCEDURE REadLongCard(Dev : Devices; VAR Data : LONGCARD);

PROCEDURE REadString(Dev : Devices; VAR Data : ARRAY OF CHAR);

PROCEDURE WRite(Dev : Devices; Data : CHAR);

PROCEDURE WRiteInt(Dev : Devices; Data : INTEGER; Size : INTEGER);

PROCEDURE WRiteCard(Dev : Devices; Data : CARDINAL; Size : INTEGER);

PROCEDURE WRiteLongInt(Dev : Devices; Data : LONGINT; Size : INTEGER);

PROCEDURE WRiteLongCard(Dev : Devices; Data : LONGCARD; Size : INTEGER);

PROCEDURE WRiteString(Dev : Devices; VAR Data : ARRAY OF CHAR);

PROCEDURE WRiteLn;

END SYSCIO.
</pre></body></html>