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