home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / lilith / m2misc.def < prev    next >
Text File  |  2020-01-01  |  3KB  |  99 lines

  1. DEFINITION MODULE KermMisc;
  2. (************************************************************************)
  3. (*  This Module contains several service routines                       *)
  4. (*  written:            08.10.85     Matthias Aebi                      *)
  5. (*  last modification:  13.03.86     Matthias Aebi                      *)
  6. (************************************************************************)
  7.  
  8. FROM KermParam IMPORT Packet;
  9.  
  10. EXPORT QUALIFIED ClrScr, GotoXY, SendChar, RecvChar, SendBreak, WriteChar,
  11.                  InitPort, SetBaud, ReadChar, AddBits, BitAND, BitOR,
  12.                  BitXOR, PrtErrPacket, ToChar, UnChar, Ctl, IncPackNum,
  13.                  DecPackNum, ReadString, DispInit, DispFile, DispTry,
  14.                  DispPack, DispMsg, StringToCard, CardToString;
  15.  
  16. PROCEDURE ClrScr;
  17. (* Clear Screen / Window and position cursor in upper left corner *)
  18.  
  19. PROCEDURE GotoXY(x,y: INTEGER);
  20. (* Move cursor to position x,y on the screen / working window *)
  21.  
  22. PROCEDURE SendChar(ch: CHAR; portNr: CARDINAL);
  23. (* Send ch trough specified port *)
  24.  
  25. PROCEDURE RecvChar(VAR ch: CHAR; portNr: CARDINAL): BOOLEAN;
  26. (* Receve ch from specified port. Busy read, TRUE if got char *)
  27.  
  28. PROCEDURE ReadChar(VAR ch: CHAR): BOOLEAN;
  29. (* Receive ch from console. Busy read, TRUE if got char *)
  30.  
  31. PROCEDURE ReadString(VAR s: ARRAY OF CHAR);
  32. (* Receive a string from console (terminated by CR) *)
  33. (* Return empty string if ESC was pressed *)
  34.  
  35. PROCEDURE InitPort(portNr: CARDINAL);
  36. (* Init specified port *)
  37.  
  38. PROCEDURE SetBaud(baudRate: CARDINAL; portNr: CARDINAL);
  39. (* Set baudRate on specified port *)
  40.  
  41. PROCEDURE SendBreak(portNr: CARDINAL);
  42. (* Send a Break through specified port *)
  43.  
  44. PROCEDURE WriteChar(ch: CHAR);
  45. (* Write ch and ORD(ch). Control characters are prefixed by ^ *)
  46.  
  47. PROCEDURE AddBits(ch: CHAR): CARDINAL;
  48. (* Count the number of 1-Bits in Character (needed for Parity) *)
  49.  
  50. PROCEDURE BitAND(v1,v2: CARDINAL): CARDINAL;
  51. (* AND Bits in v1 and v2 *)
  52.  
  53. PROCEDURE BitOR(v1,v2: CARDINAL): CARDINAL;
  54. (* OR Bits in v1 and v2 *)
  55.  
  56. PROCEDURE BitXOR(v1,v2: CARDINAL): CARDINAL;
  57. (* XOR Bits in v1 and v2 *)
  58.  
  59. PROCEDURE PrtErrPacket(pack: Packet; len: CARDINAL);
  60. (* print the error message received *)
  61.  
  62. PROCEDURE ToChar(value: CARDINAL): CHAR;
  63. (* convert number to printable ASCII *)
  64.  
  65. PROCEDURE UnChar(ch: CHAR): CARDINAL;
  66. (* convert printable ASCII to number *)
  67.  
  68. PROCEDURE Ctl(ch: CHAR): CHAR;
  69. (* make control character printable & reverse *)
  70.  
  71. PROCEDURE IncPackNum(packNum: CARDINAL): CARDINAL;
  72. (* return (packNum + 1) MOD 64 *)
  73.  
  74. PROCEDURE DecPackNum(packNum: CARDINAL): CARDINAL;
  75. (* return (packNum - 1) MOD 64 *)
  76.  
  77. PROCEDURE DispInit;
  78. (* initialize Send / Recv status display Screen *)
  79.  
  80. PROCEDURE DispTry;
  81. (* Display total number of retries and increment by one *)
  82.  
  83. PROCEDURE DispPack;
  84. (* Display total number of packets and increment by one *)
  85.  
  86. PROCEDURE DispFile(fileName: ARRAY OF CHAR);
  87. (* Display the current Filename *)
  88.  
  89. PROCEDURE DispMsg(message: ARRAY OF CHAR);
  90. (* Display a message in the status screen *)
  91.  
  92. PROCEDURE StringToCard(str: ARRAY OF CHAR; VAR num: CARDINAL): BOOLEAN;
  93. (* convert a numeric string to cardinal. Return TRUE if successful *)
  94.  
  95. PROCEDURE CardToString(num: CARDINAL; VAR str: ARRAY OF CHAR);
  96. (* convert a cardinal to a numeric string. Return TRUE if successful *)
  97.  
  98. END KermMisc.
  99.