1 
 2 /* Begin include file ...... tape_info.incl.pl1 */
 3 /* This structure is used by the TDCM writearound */
 4 /* Modified 9/12/74 by Noel I. Morris   */
 5 
 6 dcl  tip ptr;                                               /* pointer to tape info structure */
 7 
 8 dcl 1 tape_info based (tip) aligned,                        /* tape info structure */
 9     2 wsegp ptr,                                            /* pointer to I/O Interfacer workspace */
10     2 devx fixed bin,                                       /* device index for I/O Interfacer */
11    (2 connected bit (1),                                    /* non-zero when channel connected */
12     2 set_list bit (1),                                     /* "0"b => data transfer, "1"b => non-data transfer */
13     2 status_indicator bit (1),                             /* indicates that we have have machine status */
14     2 error_indicator bit (1),                              /* indicates that status shows an error */
15     2 signal bit (1),                                       /* ON if signal to be sent on special interrupt */
16     2 fill_rec_size bit (1)) unal,                          /* ON if read buffer count to be updated */
17     2 dlistx fixed bin (18),                                /* offset of data transfer DCW list */
18     2 ilistx fixed bin (18),                                /* offset of non-data transfer DCW list */
19     2 connects fixed bin,                                   /* count of connects performed */
20     2 errors fixed bin,                                     /* count of tape errors */
21     2 status bit (36),                                      /* status from hardware */
22     2 listx fixed bin (12),                                 /* index in DCW list of last terminate */
23     2 buffer_count (6) fixed bin (18),                      /* number of words in each buffer */
24     2 read_number fixed bin (17),                           /* indicates which buffer is first to be read into */
25     2 spi_ev_chan fixed bin (71),                           /* event channel for special interrupt wakeup */
26     2 extra_ev_chan fixed bin (71),                         /* extra status wakeup event channel */
27     2 wait_list,                                            /* wait list for calls to ipc_$block */
28       3 nchan fixed bin,                                    /* number of event channels */
29       3 status_ev_chan fixed bin (71);                      /* event channel for status wakeup */
30 
31 dcl  wsegp ptr;                                             /* pointer to I/O Interfacer workspace */
32 
33 dcl 1 wseg based (wsegp) aligned,                           /* I/O Interfacer workspace segment */
34     2 dlist (6),                                            /* data transfer DCW list */
35       3 idcw bit (36),                                      /* Instruction DCW */
36       3 ddcw bit (36),                                      /* data transfer DCW */
37     2 ilist (10),                                           /* non-data transfer DCW list */
38       3 idcw bit (36),                                      /* Instruction DCW */
39     2 pad bit (72),
40 
41     2 buffer (2080) fixed bin;                              /* tape record buffer space */
42 
43 dcl  tape_data_buffer_size fixed bin (18) static init(2080); /* static dcl of the buffer size */
44 
45 /* End of include file ...... tape_info.incl.pl1 */
46