1 /* BEGIN INCLUDE FILE gcos_file_info_block_.incl.pl1 DAK - APRIL 74 */ 2 3 /* Declaration of File Information Block (fib) 4 5 Change: Mel Wilson 11/01/79 for gtss compatibility 6 Change: Dave Ward 05/20/81 *_file constants. 7 Change: Dave Ward 05/29/81 separated fct structures. 8 Change: Dave Ward 09/02/81 provision for tape density 6250, dens_hist 2 bits (not 3). 9 */ 10 dcl 1 fib aligned based (fibptr) /* fib structure */ 11 12 , 2 buffer ptr aligned /* pointer to current buffer (gcos_write_) */ 13 , 2 buffer_indx fixed bin /* Index to buffer in use. */ 14 , 2 stream char(8)unal /* stream name for attaching this file */ 15 , 2 pathnm char(168)unal /* pathname (for disk, print or punch files) */ 16 , 2 unique_file_id bit(36) /* multics unique segment id for file */ 17 , 2 indicators /* five words of flags */ 18 19 , 3 indicators_word_1 20 , 4 used bit(1) unal /* 1=fib used, 0=fib used */ 21 , 4 attached bit(1) unal /* 1=stream is attached */ 22 , 4 type bit(1) unal /* 1=random, 0=linked */ 23 , 4 perm bit(1) unal /* 1=permanent file, 0=not */ 24 , 4 print bit(1) unal /* 1=file type is printer */ 25 , 4 punch bit(1) unal /* 1=file type is punch */ 26 , 4 reader bit(1) unal /* 1=file type is card reader */ 27 , 4 tape bit(1) unal /* 1=file type is tape */ 28 , 4 console bit(1) unal /* 1=file type is console typewriter */ 29 , 4 read bit(1) unal /* 1=read access permitted */ 30 , 4 write bit(1) unal /* 1=write access permitted */ 31 , 4 null bit(1) unal /* 1=file is null */ 32 , 4 purge bit(1) unal /* 1=purge file at time on release */ 33 , 4 gein bit(1) unal /* 1 = this file contains data cards from the job deck */ 34 , 4 disp bit(2) unal /* disposition code: 35 00 = dismount 36 01 = release 37 10 = save 38 11 = continue */ 39 , 4 adisp bit(2) unal /* abort disp - same codes as disp */ 40 , 4 order bit(1) unal /* 1 = write, 0 = read or other */ 41 , 4 mode bit(2) unal /* tape i/o mode 42 00 = binary 43 01 = decimal 44 10 = nine */ 45 , 4 tracks bit(2) unal /* tape request code: 46 00 = installation default 47 01 = 7 track 48 10 = 9 track */ 49 , 4 density bit(4) unal /* tape density from $ TAPE card 50 0000 = site standard high 51 0001 = 200 bpi 52 0010 = 556 bpi 53 0100 = 800 bpi 54 1001 = 1600 bpi 55 1100 = 6250 bpi 56 1111 = handler capable of any appropriate denisty */ 57 , 4 dens_hist bit(2) unal /* density history for MME GEFADD */ 58 , 4 forced_acl_flag bit(1) unal /* 1 => acl forced for gtss file (2.4) */ 59 , 4 fill bit(6) unal /* reserved for future use */ 60 , 3 indicators_word_2 61 , 4 plud bit(18) unal /* primary log unit designator */ 62 /* bcd channel and channel number */ 63 64 , 4 slud bit(18) unal /* secondary log. unit designator */ 65 /* bcd channel and channel number */ 66 , 3 indicators_word_3 67 , 4 serial_no bit(30) unal /* tape serial number */ 68 , 4 pad bit( 6) unal /* unused */ 69 , 3 indicators_word_4 70 , 4 tape_name bit(72) unal /* tape name */ 71 72 , 2 current fixed bin(21) /* current file position */ 73 , 2 last fixed bin(21) /* eof for sequential disk files */ 74 , 2 size fixed bin(24) /* offset of end of file in words */ 75 , 2 init_size fixed bin(24) /* file size at start of activity */ 76 , 2 init_posit fixed bin(24) /* file position at start of activity */ 77 , 2 iocount fixed bin(35) /* total no. of i/o operations */ 78 , 2 rec_len fixed bin(24) /* length of current record (gcos_write_) */ 79 , 2 command_count fixed bin(17) unal /* size of command table for device (gcos_mme_inos_) */ 80 , 2 command_index fixed bin(17) unal /* pointer to command table entry (gcos_mme_inos_) */ 81 , 2 error_retry fixed bin(17) unal /* error retry counter */ 82 , 2 seq_no fixed bin(17) unal /* tape reel sequence no */ 83 ; 84 dcl fibptr ptr /* pointer to current fib in gcos_ext_stat_ */; 85 86 /* File usage classification constants: */ 87 dcl linked_file bit(1)static int options(constant)init("0"b); 88 dcl random_file bit(1)static int options(constant)init("1"b); 89 dcl read_file bit(1)static int options(constant)init("0"b); 90 dcl write_file bit(1)static int options(constant)init("1"b); 91 92 /* END INCLUDE FILE gcos_file_info_block_.incl.pl1 */