|
|
DataMuseum.dkPresents historical artifacts from the history of: Bogika Butler |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Bogika Butler Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2560 (0xa00)
Types: TextFile
Names: »VOLUME.X«
└─⟦ec7c10e12⟧ Bits:30009789/_.ft.Ibm2.50007351.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »VOLUME.X«
PROCEDURE volume(VAR status: status_type
;VAR error_out: text
;VAR print_out: text
;VAR oper_in: text
;VAR oper_out: text
);
VAR
vid: block_type; (* current and only vid *)
sds: psn_type; (* psn of next (first) sdb *)
v_file: v_file_type; (* CP/M source file holding
Versados file system *)
v_file_name: c_file_name_type; (* name of v_file *)
first_file_no: integer; (* name of first file to convert.
Files numbered 0... *)
current_file_no: integer; (* number of current file *)
usr_vidvol: string_4; (* Volume label stated by operator
to be verified against volume *)
path_name: path_name_type; (* path name of current file *)
BEGIN (* volume *)
vid.kind := vid_tag;
operator(status, oper_in, oper_out, v_file, v_file_name,
first_file_no, usr_vidvol);
IF status = succes THEN
BEGIN
get_block(status, error_out, v_file, null_psn, recs_per_vid, vid);
IF test( (.t_1.) ) THEN
BEGIN
write(test_out, '=== volume-1 ===');
write_status(test_out,status);
write(test_out, ' vid.vol: ', vid.vid.vol:4);
writeln(test_out);
END;
IF status = succes THEN
IF vid.vid.vol = usr_vidvol THEN
BEGIN
print_header(status, print_out, v_file_name, first_file_no);
WITH path_name DO
BEGIN
vol := vid.vid.vol;
usn := vid.vid.usn;
END;
current_file_no := 0;
sds := vid.vid.sds;
IF not equal_psn(sds, null_psn) THEN
secondary(status, error_out, print_out, v_file, sds,
first_file_no, current_file_no, path_name);
writeln(oper_out, current_file_no - 1, ' files transferred.');
(* should probably be printed as well *)
END
ELSE
writeln(error_out, 'conflicting volume identifier.')
END
END; (* volume *)
«eof»