Accessing Files Programmer's Guide (32650-90885)

Appendix A 205
Pascal/XL Program Examples
procedure handle_file_error
(
file_num : shortint;
quit_num : shortint
);
{************************************************************************}
{ procedure handle_file_error is invoked when a file system intrinsic }
{ returns and unsuccessful condition code. File information is printed }
{ to $STDLIST, then the program aborts. }
{************************************************************************}
begin
PRINTFILEINFO (file_num);
QUIT (quit_num);
end; {end procedure }
procedure open_unlabeled_tape_file
(
var file_num : integer
);
{************************************************************************}
{ procedure open_unlabeled_tape_file opens a permanent unlabeled mag }
{ tape file update access only. }
{************************************************************************}
const
{**define HPFOPEN item numbers **}
formal_designator_option = 2;
domain_option = 3;
access_type_option = 11;
device_class_optin = 42;
density_option = 24;
var
{**define HPFOPEN items ** }
file_name : pac80;
permanent,update,density : integer;
device_class : pac80;
status : status_type;
begin
file_name :='&tapefile&';
permanent := 3;
update := 5;
device_class := '&TAPE&';
density := 1600;
HPFOPEN (file_num, status, formal_designator_option, file_name,
domain_option, permanent,
access_type_option, update
device_class_option, device_class
density_option, density );
if status.all <> 0 then
handle_file_error (file_num, 1);
end; {end procedure }