(* CardinalIO.def provides a PIM and Logitech compatible module. Copyright (C) 2004-2025 Free Software Foundation, Inc. Contributed by Gaius Mulley . This file is part of GNU Modula-2. GNU Modula-2 is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GNU Modula-2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Under Section 7 of GPL version 3, you are granted additional permissions described in the GCC Runtime Library Exception, version 3.1, as published by the Free Software Foundation. You should have received a copy of the GNU General Public License and a copy of the GCC Runtime Library Exception along with this program; see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . *) DEFINITION MODULE CardinalIO ; EXPORT QUALIFIED Done, ReadCardinal, WriteCardinal, ReadHex, WriteHex, ReadLongCardinal, WriteLongCardinal, ReadLongHex, WriteLongHex, ReadShortCardinal, WriteShortCardinal, ReadShortHex, WriteShortHex ; VAR Done: BOOLEAN ; (* ReadCardinal - read an unsigned decimal number from the terminal. The read continues until a space, newline, esc or end of file is reached. *) PROCEDURE ReadCardinal (VAR c: CARDINAL) ; (* WriteCardinal - writes the value, c, to the terminal and ensures that at least, n, characters are written. The number will be padded out by preceeding spaces if necessary. *) PROCEDURE WriteCardinal (c: CARDINAL; n: CARDINAL) ; (* ReadHex - reads in an unsigned hexadecimal number from the terminal. The read continues until a space, newline, esc or end of file is reached. *) PROCEDURE ReadHex (VAR c: CARDINAL) ; (* WriteHex - writes out a CARDINAL, c, in hexadecimal format padding with, n, characters (leading with '0') *) PROCEDURE WriteHex (c: CARDINAL; n: CARDINAL) ; (* ReadLongCardinal - read an unsigned decimal number from the terminal. The read continues until a space, newline, esc or end of file is reached. *) PROCEDURE ReadLongCardinal (VAR c: LONGCARD) ; (* WriteLongCardinal - writes the value, c, to the terminal and ensures that at least, n, characters are written. The number will be padded out by preceeding spaces if necessary. *) PROCEDURE WriteLongCardinal (c: LONGCARD; n: CARDINAL) ; (* ReadLongHex - reads in an unsigned hexadecimal number from the terminal. The read continues until a space, newline, esc or end of file is reached. *) PROCEDURE ReadLongHex (VAR c: LONGCARD) ; (* WriteLongHex - writes out a LONGCARD, c, in hexadecimal format padding with, n, characters (leading with '0') *) PROCEDURE WriteLongHex (c: LONGCARD; n: CARDINAL) ; (* WriteShortCardinal - writes the value, c, to the terminal and ensures that at least, n, characters are written. The number will be padded out by preceeding spaces if necessary. *) PROCEDURE WriteShortCardinal (c: SHORTCARD; n: CARDINAL) ; (* ReadShortCardinal - read an unsigned decimal number from the terminal. The read continues until a space, newline, esc or end of file is reached. *) PROCEDURE ReadShortCardinal (VAR c: SHORTCARD) ; (* ReadShortHex - reads in an unsigned hexadecimal number from the terminal. The read continues until a space, newline, esc or end of file is reached. *) PROCEDURE ReadShortHex (VAR c: SHORTCARD) ; (* WriteShortHex - writes out a SHORTCARD, c, in hexadecimal format padding with, n, characters (leading with '0') *) PROCEDURE WriteShortHex (c: SHORTCARD; n: CARDINAL) ; END CardinalIO.