(*************************************************************************) (*** Insertiert alle notwendigen Pakete, die zum Betrieb des Netzes ***) (*** notwendig sind. ***) (*** Berücksichtigt nur EUMEL - Versionen ab 1.8.1, sowie ***) (*** Multi-User-Version ***) (*** ***) (*** ***) (*** 23.05.87 ar ***) (*************************************************************************) LET netfile = "netz", multi files = "net files/M"; INT CONST version :: id (0); THESAURUS VAR tesa; head; IF no privileged task THEN errorstop (name (myself) + " ist nicht privilegiert!") ELIF station number wrong THEN errorstop ("'define station' vergessen ") FI; IF version < 181 THEN versionsnummer zu klein ELSE install net FI. no privileged task: NOT (myself < supervisor). station number wrong: station (myself) < 1. install net : IF NOT exists (netfile) THEN errorstop ("Datei " + netfile +" existiert nicht") FI; IF is multi THEN insert multi net ELSE errorstop ("Diese Netzversion ist nur für Multi-user Versionen freigegeben") FI; forget ("net install", quiet); net start. net start : say line (" "); do ("start"); do ("global manager (PROC (DATASPACE VAR, INT CONST, INT CONST, TASK CONST) net manager)"). is multi : (pcb(9) AND 255) > 1. insert multi net : hole dateien vom archiv; insert say and forget (tesa). hole dateien vom archiv : fetch if necessary (multi files); tesa := ALL (multi files); forget (multi files, quiet); fetch if necessary (tesa - all); say line (" "); say line ("Archiv-Floppy kann entnommen werden."); release (archive). head : IF online THEN page; put center (" E U M E L - Netz wird installiert."); line; put center ("----------------------------------------"); line (2) FI. versionsnummer zu klein : errorstop ("Netzsoftware erst ab Version 1.8.1 insertierbar !"). PROC fetch if necessary (TEXT CONST datei) : IF NOT exists (datei) THEN say line ("Loading """ + datei + """..."); fetch (datei, archive) FI. END PROC fetch if necessary; PROC fetch if necessary (THESAURUS CONST tes) : do (PROC (TEXT CONST) fetch if necessary, tes) END PROC fetch if necessary; PROC insert say and forget (TEXT CONST name of packet): IF online THEN INT VAR cx, cy; put ("Inserting """ + name of packet + """..."); get cursor (cx, cy) FI; insert (name of packet); IF online THEN cl eop (cx, cy); line FI; forget (name of packet, quiet) END PROC insert say and forget; PROC insert say and forget (THESAURUS CONST tes): do (PROC (TEXT CONST) insert say and forget, tes) END PROC insert say and forget; PROC put center (TEXT CONST t): put center (t, xsize); END PROC put center; PROC put center (INT CONST zeile, TEXT CONST t): put center (zeile, t, xsize); 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; PROC say line (TEXT CONST t): IF online THEN put line (t) FI ENDPROC say line;