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 ;