HP 3000 Manuals

Writing a File Label to a Labeled Tape File [ Accessing Files Programmer's Guide ] MPE/iX 5.0 Documentation


Accessing Files Programmer's Guide

Writing a File Label to a Labeled Tape File 
[REV BEG] 

User-defined labels are used to further identify files and may be used in
addition to the ANSI-standard labels.  User-defined labels are written on
files with the FWRITELABEL intrinsic instead of with the HPFOPEN/FOPEN
intrinsic, as is the case for writing ANSI-standard labels.[REV END]

User-defined labels for labeled tape files differ slightly from
user-defined labels for disk files, in that user-defined labels for tape
files must be 80 bytes (40 half-words) in length.  The tape label
information need not occupy all 80 bytes, however, and you can set unused
portions of the space equal to blanks.

In order to write a user-defined header label, the FWRITELABEL intrinsic
must be called before the first FWRITE to the file.  MPE/iX does,
however, write user-defined trailer labels if FWRITELABEL is called after
the first FWRITE.


NOTE User-defined labels may not be written on unlabeled magnetic tape files.
Example 8-8 is an HP Pascal/iX code segment that writes a user-label to the labeled magnetic tape file opened in example 5-6. For information about the HPFOPEN call that returns the file number in the variable LABELED_TAPE_FILE, refer to example 5-6. Example 8-8. Writing a User-Label to a Labeled Magnetic Tape File. : var counter : integer; {Initialize counter } label_length : shortint; {FWRITELABEL length parm } user_label : packed array [1..80] of char; : label_length := 40; {40 half-words required length } for counter := 1 to 80 do {Loop to fill array with } user_label [counter] := ' '; {ASCII blanks. } user_label := 'tape01 user header label no. 1'; {Overwrite first } {30 bytes with label name } FWRITELABEL (labeled_tape_file, {Required parameter } user_label, {Required parameter } label_length {Optional parameter } ); if ccode = CCL or CCG {check FWRITELABEL condition code } then handle_file_error (labeled_tape_file); : If ccode indicates that the FWRITELABEL intrinsic encountered an error condition (either CCL or CCG), an error handling procedure handle_file_error is invoked. For more information about FWRITELABEL intrinsic parameters, refer to the MPE/iX Intrinsics Reference Manual (32650-90028). For more information about opening files, refer to chapter 5, "Opening a File".


MPE/iX 5.0 Documentation