1 /*----------BEGIN ioi_direct_channel_dcls.incl.pl1---------------------------*/
 2 
 3 
 4 /****^  HISTORY COMMENTS:
 5   1) change(86-07-30,Wong), approve(86-07-30,MCR7397), audit(86-08-01,Ex),
 6      install(86-08-18,MR12.0-1131):
 7      New include file
 8                                                    END HISTORY COMMENTS */
 9 
10 /*****************************************************************************/
11 /*                                                                           */
12 /*   This include file declares the PCW (peripheral control word) and TCW    */
13 /*   (transfer control word) used by direct channels.  This PCW should not   */
14 /*   be confused with the PCW used in a connect to IOI.  These formats come  */
15 /*   from "L66 FEP Coupler - EPS 1", #60132445, pp. 49 - 51.                 */
16 /*                                                                           */
17 /*****************************************************************************/
18 
19 /* format: style3,linecom,ifthenstmt,indthenelse,^indnoniterdo,indnoniterend,initcol3,dclind5,idind32 */
20 
21 dcl  direct_channel_pcw_ptr          ptr;
22 
23 dcl  1 direct_channel_pcw            aligned based (direct_channel_pcw_ptr),
24        2 tcw_address                 fixed bin (18) unsigned unaligned,
25        2 error_flag                  bit (1) unaligned,
26        2 mbz1                        bit (1) unaligned,
27        2 logical_channel_number      fixed bin (2) unsigned unaligned,
28        2 parity                      bit (1) unaligned,
29        2 mbz2                        bit (1) unaligned,
30        2 tcw_address_extension       fixed bin (6) unsigned unaligned,
31        2 operation                   bit (6) unaligned;
32 
33 /*****************************************************************************/
34 /*                                                                           */
35 /*   The memory address in the TCW is in frontend words.  If the address is  */
36 /*   a small type, then the address * 2 is the frontend (byte) address.  If  */
37 /*   the address is a big type, then the address * 2**9 is the frontend      */
38 /*   (byte) address.                                                         */
39 /*                                                                           */
40 /*****************************************************************************/
41 
42 dcl  direct_channel_tcw_ptr          ptr;
43 
44 dcl  1 direct_channel_tcw            aligned based (direct_channel_tcw_ptr),
45        2 must_be_001b                bit (3) unaligned,
46        2 fep_memory_address          fixed bin (15) unsigned unaligned,
47        2 fep_address_type            bit (1) unaligned,
48        2 mbz                         bit (5) unaligned,
49        2 host_word_count             fixed bin (12) unsigned unaligned;
50 
51 dcl  FEP_SMALL_ADDRESS_TYPE          bit (1) internal static options (constant) init ("0"b);
52 dcl  FEP_BIG_ADDRESS_TYPE            bit (1) internal static options (constant) init ("1"b);
53 
54 /*----------END ioi_direct_channel_dcls.incl.pl1-----------------------------*/