1 /* BEGIN INCLUDE FILE tape_io_data.incl.pl1 ... Michael R. Jordan 3/81 */ 2 3 dcl (fcb_ptr, vcb_ptr, tape_io_data_ptr) ptr; 4 5 dcl 1 tape_io_data aligned based (tape_io_data_ptr), 6 2 temp (3) ptr, /* (1) -> code to interpret; (2) -> lex temp; (3) -> buffer */ 7 2 first_vcb_ptr ptr, /* ptr to first vcb */ 8 2 source, /* info about source file */ 9 3 dirname char (168) unal, 10 3 ename char (32) unal, 11 3 ptr ptr, 12 2 control, /* control flags */ 13 3 ck bit (1), /* ON => -check specified */ 14 3 force bit (1), /* ON => -force specified */ 15 3 ring bit (1), /* ON => -ring specified */ 16 3 writing_tape bit (1), /* ON => tape_out, OFF => tape_in */ 17 3 max_severity fixed bin; /* maximum error severity to be printed */ 18 19 dcl 1 fcb aligned based (fcb_ptr), /* file control block - governs file i/o */ 20 2 file_token_ptr ptr, /* ptr to "File" token */ 21 2 next_fcb_ptr ptr, /* pointer to next block, if any */ 22 2 prev_fcb_ptr ptr, /* pointer to previous fcb */ 23 2 default_fcb_ptr ptr, /* pointer to last default fcb */ 24 2 segment, /* storage system data */ 25 3 dirname char (168), /* directory name of file to be read/written */ 26 3 ename char (32), /* entry name of file to be read/written */ 27 3 format fixed bin, /* 0 = not specified; 1 = unstructured; 2 = sequential */ 28 3 extend fixed bin, /* 0 = not specified; 1 = truncate (^extend); 2 = extend */ 29 3 truncate_lines fixed bin, /* 0 = not specified; 1 = fold or; 2 = truncate long lines */ 30 2 tape, /* tape file data */ 31 3 cmode fixed bin, /* 0 = not specified; 1 = ASCII; 2 = EBCDIC; 3 = BINARY */ 32 3 format fixed bin, /* 0 = not specified; 1 = Undefined; 2 = Fixed; 3 = D */ 33 /* 4 = Variable; 5 = Fixed Blocked; 6 = DB */ 34 /* 7 = Variable Blocked; 8 = Spanned; 9 = Spanned Blocked */ 35 /* 10 = Variable Spanned; 11 = Variable Spanned Blocked */ 36 3 output_mode fixed bin, /* 0 = not specified; 1 = extend; 2 = modify */ 37 /* 3 = generate; 4 = create or replace */ 38 3 file_id char (17), /* file identifier; "*" => no file name */ 39 3 replace_id char (17), /* replace file ID; "" => create new file */ 40 3 expiration char (16), /* expiration date, "" => immediate expiration */ 41 3 sequence fixed bin, /* file seq. #; -1 = append to file-set; 0 = not specified */ 42 3 blklen fixed bin, /* physical block length */ 43 3 reclen fixed bin (21); /* logical record length */ 44 45 dcl 1 vcb aligned based (vcb_ptr), /* volume control block - governs volume attachment */ 46 2 volume_token_ptr ptr, /* ptr to Volume token for this volume group */ 47 2 next_vcb_ptr ptr, /* pointer to next block, if any */ 48 2 first_fcb_ptr ptr, /* first fcb for this volume set */ 49 2 first_default_fcb_ptr ptr, /* first default fcb for this volume-set */ 50 2 nvols fixed bin, /* number of volumes in current volume-set */ 51 2 volid (64) char (32), /* volume identification string (serial number) */ 52 2 comment (64) char (64), 53 2 tape_type fixed bin, /* 0 = not specified; 1 = ANSI; 2 = IBMSL */ 54 /* 3 = IBMNL; 4 = IBMDOS */ 55 2 density fixed bin; /* 0 = not specified; 2 = 800; 3 = 1600; 4 = 6250 (BPI) */ 56 57 /* END INCLUDE FILE tape_io_data.incl.pl1 */