(* ---------------------------------------------------------------------------- * $Id: MASBIOS.md,v 1.6 1995/03/06 16:00:49 pesch Exp $ * ---------------------------------------------------------------------------- * This file is part of MAS. * ---------------------------------------------------------------------------- * Copyright (c) 1989 - 1992 Universitaet Passau * ---------------------------------------------------------------------------- * $Log: MASBIOS.md,v $ * Revision 1.6 1995/03/06 16:00:49 pesch * Added kpathsea and GNU readline support. * Added new procedures IStreamKind, OStreamKind, EStreamKind. * * Revision 1.5 1993/05/11 10:45:34 kredel * Uninitialized variable in input * * Revision 1.4 1993/03/22 10:34:34 kredel * Cosmetic * * Revision 1.3 1992/10/16 13:47:48 kredel * Errors found by Mocka * * Revision 1.2 1992/02/12 17:31:49 pesch * Moved CONST definition to the right place * * Revision 1.1 1992/01/22 15:10:04 kredel * Initial revision * * ---------------------------------------------------------------------------- *) DEFINITION MODULE MASBIOS; (* MAS Basic I/O System Definition Module. *) (* Import lists and Definitions *) FROM MASELEM IMPORT GAMMAINT; FROM MASSTOR IMPORT LIST; VAR CHI : GAMMAINT; CONST rcsid = "$Id: MASBIOS.md,v 1.6 1995/03/06 16:00:49 pesch Exp $"; CONST copyright = "Copyright (c) 1989 - 1992 Universitaet Passau"; CONST termkind = 1; diskkind = 2; ramkind = 3; winkind = 4; nulkind = 5; grakind = 6; PROCEDURE BKSP(); (*Backspace. Reread the last character from the input stream. *) PROCEDURE BLINES(N : GAMMAINT); (*Blank lines. N is a positive integer. N records of one blank each are output. *) PROCEDURE CREAD(): GAMMAINT; (*Character read. Returns next character from the input stream. *) PROCEDURE CREADB(): GAMMAINT; (*Character read, skipping blanks. Returns next character from the input stream. *) PROCEDURE CWRITE(C : GAMMAINT); (*Character write. The character c is transmitted to the output stream. *) PROCEDURE CloseBIOS(); (*Close BIOS. Close all streams and write summary. *) PROCEDURE CUNIT(S : ARRAY OF CHAR): GAMMAINT; (*Close unit. The unit S is closed, with S as the external name. CUNIT returns 0 on successful completion, ne 0 else.*) PROCEDURE DIBUFF(); (*Display input buffer. The input buffer status is displayed.*) PROCEDURE DIGIT(C : GAMMAINT): BOOLEAN; (*Digit. c is a character. If c is a digit then TRUE is returned otherwise FALSE is returned. *) PROCEDURE GREAD(): GAMMAINT; (*Gamma-integer read. A gamma-integer is read from the input stream. any preceding blanks are skipped. *) PROCEDURE GWRITE(a : GAMMAINT); (*Gamma-integer write. The gamma-integer a is written in the output stream.*) PROCEDURE LETTER(C : GAMMAINT): BOOLEAN; (*Letter. c is a character. If c is a letter then TRUE is returned otherwise FALSE is returned. *) PROCEDURE LISTS(S : ARRAY OF CHAR ): LIST; (*List from string. S is a character string with respect to local character code. A list if the corresponding ALDES character codes is returned.*) PROCEDURE SLIST(A : LIST; VAR S : ARRAY OF CHAR); (*String from list. A is a list of ALDES character codes. S is a the corresponding character string with respect to local character codes. *) PROCEDURE MASCHR(C : GAMMAINT): CHAR; (*MAS character. Returns the local character for the aldes character c. *) PROCEDURE MASORD(C : CHAR): GAMMAINT; (*MAS order. Returns the aldes code for the character c. *) PROCEDURE MASORDI(C : GAMMAINT): GAMMAINT; (*MAS order integer. Returns the aldes code for the integer c.*) PROCEDURE SILINE(VAR S, L, R : GAMMAINT); (*Set input line. The input line length is set to S, the left margin is set to L and the right margin is set to R. If any of the values of S, L or R is negative, then the corresponding value is left unchanged. The values in effect are returned. *) PROCEDURE SIUNIT(S : ARRAY OF CHAR): GAMMAINT; (*Set input unit. iunit is set to n, with s as the external name. siunit returns 0 on successful completion, ne 0 else.*) PROCEDURE SOLINE(VAR S, L, R : GAMMAINT); (*Set output line. The output line length is set to S, the left margin is set to L and the right margin is set to R. If any of the values of S, L or R is negative, then the corresponding value is left unchanged. The values in effect are returned. *) PROCEDURE SOUNIT(S : ARRAY OF CHAR): GAMMAINT; (*Set output unit. ounit is set to n, with s as the external name. sounit returns 0 on successful completion, ne 0 else. the current output buffer is emptied.*) PROCEDURE Summary(); (*Summary of stream IO. *) PROCEDURE StorSummary(); (*MASSTOR Summary. *) PROCEDURE SWRITE(S : ARRAY OF CHAR); (*String write. S is a character string with respect to local character codes. The single characters are converted to ALDES codes and written to the output stream. *) PROCEDURE TAB(n : GAMMAINT); (*Tabulate. n is a positive integer. if lmarg le n le rmarg then blanks are inserted in obuff until opos eq n.*) PROCEDURE IStreamKind(): INTEGER; (* Input stream kind. The kind of the current input stream is returned. *) PROCEDURE OStreamKind(): INTEGER; (* Output stream kind. The kind of the current output stream is returned. *) PROCEDURE EStreamKind(): INTEGER; (* Error stream kind. The kind of the current error stream is returned. *) END MASBIOS. (* -EOF- *)