(* ----------------------------------------------------------------------------
* $Id: MASBIOSU.mi,v 1.3 1992/10/15 16:24:56 kredel Exp $
* ----------------------------------------------------------------------------
* This file is part of MAS.
* ----------------------------------------------------------------------------
* Copyright (c) 1989 - 1992 Universitaet Passau
* ----------------------------------------------------------------------------
* $Log: MASBIOSU.mi,v $
* Revision 1.3 1992/10/15 16:24:56 kredel
* Changed rcsid variable
*
* Revision 1.2 1992/02/12 17:31:52 pesch
* Moved CONST definition to the right place
*
* Revision 1.1 1992/01/22 15:10:30 kredel
* Initial revision
*
* ----------------------------------------------------------------------------
*)
IMPLEMENTATION MODULE MASBIOSU;
(* MAS BIOS Utility Implementation Module. *)
(* Import lists and declarations. *)
FROM MASELEM IMPORT GAMMAINT;
FROM MASSTOR IMPORT SIL, ADV, LIST;
FROM MASBIOS IMPORT LISTS, CWRITE, SWRITE,
SIUNIT, SOUNIT, CUNIT, SLIST;
(*FROM MASmtc*) IMPORT MASmtc; (*EDIT, DOS*)
FROM SACLIST IMPORT CCONC;
(*FROM Strings IMPORT tString;*)
CONST rcsidi = "$Id: MASBIOSU.mi,v 1.3 1992/10/15 16:24:56 kredel Exp $";
CONST copyrighti = "Copyright (c) 1989 - 1992 Universitaet Passau";
(* Procedure declarations. *)
PROCEDURE INP(A: LIST): LIST;
(*Input. Set input unit to stream A, A is an SAC-2 character list. *)
VAR S: ARRAY [0..80] OF CHAR;
BEGIN
(*1*) (*convert to string and set *)
SLIST(A,S); RETURN(SIUNIT(S));
(*3*) END INP;
PROCEDURE OUT(A: LIST): LIST;
(*Output. Set output unit to stream A, A is an SAC-2 character list. *)
VAR S: ARRAY [0..80] OF CHAR;
BEGIN
(*1*) (*convert to string and set *)
SLIST(A,S); RETURN(SOUNIT(S));
(*3*) END OUT;
PROCEDURE SHUT(A: LIST): LIST;
(*Shut. Close stream A, A is an SAC-2 character list. *)
VAR S: ARRAY [0..80] OF CHAR;
BEGIN
(*1*) (*convert to string and close *)
SLIST(A,S); RETURN(CUNIT(S));
(*3*) END SHUT;
PROCEDURE EDIT(A: LIST): LIST;
(*Edit. Call editor for file A, A is an SAC-2 character list. *)
VAR S: ARRAY [0..80] OF CHAR;
i: GAMMAINT;
BEGIN
(*1*) (*convert to string and set *)
SLIST(A,S); i:=GAMMAINT(MASmtc.EDIT(S));
RETURN(i);
(*3*) END EDIT;
PROCEDURE DOS(A: LIST): LIST;
(*DOS. Call DOS program with parameters. A is an SAC-2 character list. *)
VAR S: ARRAY [0..80] OF CHAR;
i: GAMMAINT;
B: LIST;
BEGIN
(*0*) (*add blank *) B:=LISTS(" ");
B:=CCONC(A,B);
(*1*) (*convert to string and call *)
SLIST(B,S); i:=GAMMAINT(MASmtc.DOS(S));
RETURN(i);
(*3*) END DOS;
PROCEDURE CLTIS(A: LIST);
(*Character list to input stream. A is an SAC-2 character list. *)
VAR AP, k, b: LIST;
BEGIN
(*1*) k:=CUNIT("RAM:internal");
k:=SOUNIT("RAM:internal");
(*2*) (*write out characters. *) AP:=A;
WHILE AP <> SIL DO ADV(AP,b,AP); CWRITE(b) END;
(*3*) k:=CUNIT("RAM:internal");
k:=SIUNIT("RAM:internal");
(*3*) END CLTIS;
END MASBIOSU.
(* -EOF- *)