PACKET emulator 16 multi DEFINES (* Autor: J.Liedtke *) (* Stand: 11.10.83 *) killer , (* F. Klapper, 16.05.84 *) file names , out , command handler , set command , call , read , to archive, from archive, load archive, save archive, list archive, release archive, forward, backward, to eof, to first record, is first record: PROC list archive: list (archive) END PROC list archive; PROC release archive: release (archive) END PROC release archive; PROC to archive: save (last param, archive) END PROC to archive; PROC to archive (TEXT CONST t): save (t, archive) END PROC to archive; PROC from archive (TEXT CONST t): fetch (t, archive) END PROC from archive; PROC load archive: fetch all (archive) END PROC load archive; PROC save to archive (THESAURUS CONST thes): disable stop; all to archive (thes); IF is error THEN put error; line; clear error; IF yes ("naechste Archivfloppy eingelegt") THEN save to archive (remainder) FI FI; enable stop END PROC save to archive; PROC all to archive (THESAURUS CONST thes): enable stop; save (thes, archive) END PROC all to archive; PROC save archive: save to archive (ALL myself) END PROC save archive; PROC save archive (TEXT CONST liste): save to archive (ALL liste) END PROC save archive; PROC killer : forget (ALL myself) ENDPROC killer ; THESAURUS VAR cat ; TEXT VAR file name ; PROC file names (FILE VAR f) : file names (f, name (myself)) ENDPROC file names ; PROC file names (FILE VAR f, TEXT CONST manager name) : INT VAR index := 0 ; cat := ALL task (manager name) ; REP get (cat, file name, index) ; IF file name = "" THEN LEAVE file names FI ; putline (f, file name) PER ENDPROC file names ; PROC out (FILE VAR f, TEXT CONST t) : write (f,t) ENDPROC out ; TEXT VAR command line; INT VAR permitted type := 0 ; PROC set command (TEXT CONST command text, INT CONST type) : command line := command text; permitted type := type ENDPROC set command ; PROC command handler (TEXT CONST command list, INT VAR command index , number of params , TEXT VAR param 1, param 2) : analyze command (command list, command line, permitted type, command index, number of params, param 1, param 2) ENDPROC command handler ; PROC command handler (TEXT CONST command list, INT VAR command index , number of params , TEXT VAR param 1, param 2, TEXT CONST command text) : get command (command text, command line) ; analyze command (command list, command line, 0, command index, number of params, param 1, param 2) ENDPROC command handler ; PROC call (TEXT CONST dest name, INT CONST order code, DATASPACE VAR ds, INT VAR reply code) : call (task (dest name), order code, ds, reply code) ENDPROC call ; PROC read (TEXT CONST file name) : fetch (file name) ENDPROC read ; PROC read (TEXT CONST file name, manager name) : fetch (file name, task(manager name)) ENDPROC read ; PROC forward (FILE VAR f): down (f) END PROC forward; PROC backward (FILE VAR f): up (f) END PROC backward; PROC to first record (FILE VAR f): to line (f, 1) END PROC to first record; BOOL PROC is first record (FILE VAR f): line no (f) = 1 END PROC is first record; PROC to eof (FILE VAR f): to line (f, lines (f)) END PROC to eof; ENDPACKET emulator 16 multi ;