1 /* BEGIN INCLUDE FILE ... cmcs_tree_ctl.incl.pl1 */
 2 
 3 /*
 4    This COBOL MCS include file defines the sstructure used for accessing
 5    the MCS queue hierarchy and controlling message I/O for each entry.
 6 */
 7 
 8 /* Bob May, 5/31/77 */
 9 
10 dcl (tree_ctl_hdr_len init (32),
11      tree_ctl_entry_len init (144),                         /* 136, plus fudge for ptr alignments */
12      tree_ctl_version init (1)) fixed bin internal static options (constant);
13 
14 dcl  tree_ctl_ptr ptr int static;
15 
16 dcl 1 tree_ctl aligned based (tree_ctl_ptr),
17     2 hdr like control_hdr,
18     2 queue_count fixed bin,                                /* total of queue entries for hierarchy */
19     2 filler (31) fixed bin (35),
20     2 entries (tree_ctl.current_size) like tree_ctl_entry;
21 
22 dcl  tree_ctl_eindex fixed bin;
23 
24 dcl  tree_ctl_eptr ptr;
25 
26 dcl 1 tree_ctl_entry aligned based (tree_ctl_eptr),
27     2 level_info,                                           /* len = 15 */
28       3 tree_path,
29         4 level_names (4) char (12),
30       3 entry_flags,
31        (4 inactive_sw bit (1),
32         4 cmd_sw bit (1),
33         4 mp_sw bit (1),
34                                                             /* switch separator */
35         4 cobol_program_id_sw bit (1),
36         4 queue_sw bit (1),
37         4 filler bit (31)) unaligned,
38       3 level_no fixed bin,                                 /* level within the hierarchy */
39       3 subtree_count fixed bin,
40     2 static_queue_info,                                    /* len = 9 */
41       3 queue_name char (32),                               /* without the .cmcs_queue suffix */
42       3 queue_ctl_eindex fixed bin,                         /* to compute addr of table entry */
43     2 command_info,                                         /* len = 75 */
44       3 cmd_line_len fixed bin,
45       3 cmd_line char (128),
46       3 mp_line_len fixed bin,
47       3 mp_line char (128),
48       3 cobol_program_id_len fixed bin,
49       3 cobol_program_id char (32),
50     2 io_info,                                              /* len = 37, sum of all level 3s */
51       3 io_flags,                                           /* len = 1 */
52        (4 io_in_process_sw bit (1),
53         4 partial_in_process_sw bit (1),
54         4 rcv_wait_sw bit (1),
55                                                             /* switch separator */
56         4 rcv_msg_sw bit (1),                               /* on if user did a receive msg */
57         4 rcv_seg_sw bit (1),                               /* on if user did a receive seg */
58         4 filler bit (31)) unaligned,
59       3 dynamic_queue_info,                                 /* len = 13 */
60         4 switch_name char (32) unaligned,
61         4 queue_ctl_eptr ptr,
62         4 iocb_ptr ptr,
63         4 vfile_status fixed bin,                           /* 0 - not active/detached */
64                                                             /* 1 - attached, but not open */
65                                                             /* 2 - open */
66       3 msg_hdr_info,                                       /* len = 9 */
67         4 msg_hdr_ptr ptr,                                  /* ptr to base of current msg */
68         4 io_type fixed bin,
69         4 io_subtype fixed bin,
70         4 seg_count fixed bin (35),                         /* total no of msg segments */
71         4 msg_len fixed bin (35),                           /* total msg length (sum of all segments) */
72         4 msg_descr like vfile_descr,
73         4 msg_key,
74           5 msg_no fixed bin (35),
75           5 seg_no fixed bin (35),
76       3 tseg_info,                                          /* len = 3 */
77         4 tseg_ptr ptr,                                     /* temp seg to build segment */
78         4 tseg_len fixed bin (35),
79       3 msg_seg_info,                                       /* len = 6 */
80         4 msg_seg_ptr ptr,                                  /* ptr to base of current msg_seg */
81         4 msg_seg_descr like vfile_descr,
82         4 msg_seg_len fixed bin (35),
83         4 msg_seg_left_index fixed bin (35),
84         4 msg_seg_left_len fixed bin (35),
85       3 buffer_info,                                        /* len = 5 */
86         4 buffer_ptr ptr,
87         4 buffer_len fixed bin (35),
88         4 buffer_left_index fixed bin (35),
89         4 buffer_left_len fixed bin (35);
90 
91 /* END INCLUDE FILE ... cmcs_tree_ctl.incl.pl1 */