(*************************************************************************) (*** Generiert Für IBM-AT einen neuen SYSUR-Zweig. ***) (*** Danach wird die eingebaute Hardwareuhr für die Systemzeit benutzt ***) (*** und andere Partitionen können mit neuem 'shutup' gebootet werden. ***) (*** ***) (*** Autor : W. Sauerwein Stand : 15.07.86 ***) (*************************************************************************) LET ack = 0, nak = 1; cl eop (1, 4); erzeuge collector; erzeuge archive manager; erzeuge operator; erzeuge configurator; loesche collector; forget ("AT Generator", quiet); break. loesche collector : end (/"colly"); put ("Collector gelöscht."); line (2). erzeuge collector : put line ("Generating 'Collector'..."); begin ("colly", PROC generate collector, t); warte auf meldung; IF answer = nak THEN end (/"colly"); errorstop (meldung) FI. TASK VAR t. erzeuge archive manager : put line ("Generating 'ARCHIVE'..."); end (/"ARCHIVE"); begin ("ARCHIVE", PROC archive manager, t). erzeuge operator : put line ("Generating 'OPERATOR'..."); end (/"OPERATOR"); begin ("OPERATOR", PROC monitor, t). erzeuge configurator : put line ("Generating 'configurator'..."); end (/"configurator"); begin ("configurator", PROC generate configurator, t); warte auf meldung; IF answer = nak THEN errorstop (meldung) FI. warte auf meldung : DATASPACE VAR ds; INT VAR answer; wait (ds, answer, t); BOUND TEXT VAR m := ds; TEXT VAR meldung := m; forget (ds). PROC generate collector : disable stop; fetch all (/"configurator"); DATASPACE VAR ds := nilspace; BOUND TEXT VAR m := ds; m := ""; send (father, mess, ds); forget (ds); free global manager. mess : IF is error THEN m := error message; nak ELSE ack FI. END PROC generate collector; PROC generate configurator : disable stop; fetch all (/"colly"); DATASPACE VAR ds := nilspace; BOUND TEXT VAR m := ds; m := ""; send (father, mess, ds); forget (ds); enable stop; new configuration; setup; global manager (PROC ( DATASPACE VAR, INT CONST, INT CONST, TASK CONST) configuration manager with time). mess : IF is error THEN m := error message; nak ELSE ack FI. END PROC generate configurator; TEXT PROC inverse (TEXT CONST t): ""15"" + t + " " + ""14"" END PROC inverse; PROC put center (TEXT CONST t): put center (t, 80) END PROC put center; PROC put center (INT CONST zeile, TEXT CONST t): put center (zeile, t, 80) END PROC put center; PROC put center (TEXT CONST t, INT CONST gesamtbreite): INT VAR cy; get cursor (cy, cy); put center (cy, t, gesamtbreite) END PROC put center; PROC put center (INT CONST zeile, TEXT CONST t, INT CONST gesamtbreite): cursor ((gesamtbreite - length (t)) DIV 2, zeile); put (t). END PROC put center; PROC cl eol: out (""5"") END PROC cl eol; PROC cl eop: out (""4"") END PROC cl eop; PROC cl eol (INT CONST cx, cy): cursor (cx, cy); cl eol END PROC cl eol; PROC cl eop (INT CONST cx, cy): cursor (cx, cy); cl eop END PROC cl eop;