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 */