1 /* BEGIN INCLUDE FILE ... window_control_info.incl.pl1 JRD  */
  2 /* format: style3 */
  3 
  4 /* Modified 26 January 1982 by William York to add the set_more_handler
  5    and reset_more_handler control orders. */
  6 /* Modified October 1982 by WMY to add set and get_token_characters,
  7    set and get_more_prompt. */
  8 /* Modified February 1983 by WMY to add the line_editor_key_binding_info
  9    structure. */
 10 /* Modified 30 September 1983 by Jon A. Rochlis to add the origin.column for
 11    partial screen width windows. */
 12 /* Modified 9 October 1983 by JR to add version 1 window_edit_line_info.
 13    This should be removed when window_info.incl.pl1 is created. */
 14 /* Modified 29 February 1984 by Barmar to add version 1
 15    get_editor_key_bindings_info. */
 16 /* Modified 1 March 1984 by Barmar to add version 1
 17    set_editor_key_bindings_info. */
 18 /* Modified 2 March 1984 by Barmar to upgrade to version 3
 19    line_editor_key_bindings_info, which includes the name, description, and
 20    info path */
 21 
 22 /* structure for the set_window_info and get_window_info
 23    control orders. */
 24 
 25 dcl       1 window_position_info
 26                               based (window_position_info_ptr),
 27             2 version         fixed bin,
 28             2 origin,
 29               3 column        fixed bin,
 30               3 line          fixed bin,
 31             2 extent,
 32               3 width         fixed bin,
 33               3 height        fixed bin;
 34 
 35 dcl       (window_position_info_version, window_position_info_version_1)
 36                               fixed bin internal static init (1) options (constant);
 37 dcl       window_position_info_ptr
 38                               pointer;
 39 
 40 /* structure for the set_window_status and get_window_status
 41    control orders */
 42 
 43 declare   window_status_info_ptr
 44                               pointer;
 45 declare   1 window_status_info
 46                               aligned based (window_status_info_ptr),
 47             2 version         fixed bin,
 48             2 status_string   bit (36) aligned;             /* string (window_status) */
 49 /* see window_status.incl.pl1 for the contents of this string */
 50 
 51 
 52 declare   (window_status_version, window_status_version_1)
 53                               fixed bin internal static init (1) options (constant);
 54 
 55 /* info structure for the set_more_responses and get_more_responses control
 56    orders */
 57 
 58 
 59 dcl       1 more_responses_info
 60                               aligned based (more_responses_info_ptr),
 61             2 version         fixed bin,
 62             2 n_yeses         fixed bin, /* how many valid characters in the strings below */
 63             2 n_noes          fixed bin,
 64             2 yeses           char (32) unaligned,
 65             2 noes            char (32) unaligned;
 66 
 67 dcl       (more_responses_info_version_1, more_responses_version)
 68                               fixed bin internal static init (1) options (constant);
 69 dcl       more_responses_info_ptr
 70                               pointer;
 71 
 72 /* structure for the set_break_table and get_break_table
 73    control orders */
 74 
 75 declare   break_table_ptr     pointer;
 76 declare   1 break_table_info  aligned based (break_table_ptr),
 77             2 version         fixed bin,
 78             2 breaks          (0:127) bit (1) unaligned;
 79 
 80 declare   (break_table_info_version, break_table_info_version_1)
 81                               fixed bin init (1) internal static options (constant);
 82 
 83 declare   1 more_handler_info aligned based (more_handler_info_ptr),
 84             2 version         fixed bin,
 85             2 flags           unaligned,
 86               3 old_handler_valid
 87                               bit(1),
 88               3 pad           bit(35),
 89             2 more_handler    entry (pointer, bit(1) aligned),
 90             2 old_more_handler entry (pointer, bit(1) aligned);
 91 
 92 declare   more_handler_info_ptr pointer;
 93 
 94 declare   (more_handler_info_version, more_handler_info_version_3)
 95                               fixed bin internal static options (constant) init (3);
 96 
 97 declare   1 token_characters_info aligned based (token_characters_info_ptr),
 98             2 version         char(8),
 99             2 token_character_count
100                               fixed bin,
101             2 token_characters
102                               char (128) unaligned;
103 
104 declare   token_characters_info_ptr pointer;
105 
106 declare   token_characters_info_version_1 char(8) internal static options (constant) init ("wtci0001");
107 
108 declare   1 more_prompt_info  aligned based (more_prompt_info_ptr),
109             2 version         char(8),
110             2 more_prompt     char(80);
111 
112 declare   more_prompt_info_ptr pointer;
113 
114 declare   more_prompt_info_version_1 char(8) static options (constant) init ("wsmp0001");
115 
116 /* Line editor stuff ... */
117 
118 dcl  line_editor_key_binding_info_ptr
119                               pointer;
120 
121 dcl  line_editor_binding_count
122                               fixed bin;
123 dcl  line_editor_longest_sequence
124                               fixed bin;
125 /* For each binding, action defines what to do for that sequence. Constants
126    are defined in window_editor_values.incl.pl1. Only if action is set to
127    EXTERNAL_ROUTINE does the editor_routine entry variable get examined. */
128 
129 dcl  1 line_editor_key_binding_info
130                               aligned based (line_editor_key_binding_info_ptr),
131        2 version              char(8),
132        2 binding_count        fixed bin,
133        2 longest_sequence     fixed bin,
134        2 bindings             (line_editor_binding_count refer
135                               (line_editor_key_binding_info.binding_count)),
136          3 sequence           char(line_editor_longest_sequence refer
137                               (line_editor_key_binding_info.longest_sequence)) varying,
138          3 action             fixed bin,
139          3 numarg_action      fixed binary,
140          3 editor_routine     entry (pointer, fixed bin(35)),
141          3 name               char (64) varying unaligned,
142          3 description        char (256) varying unaligned,
143          3 info_path          unaligned,
144            4 info_dir         char (168),
145            4 info_entry       char (32);
146 
147 
148 dcl  line_editor_key_binding_info_version_3
149                               char(8) static options (constant) init ("lekbi003");
150 
151 dcl 1 get_editor_key_bindings_info      aligned based (get_editor_key_bindings_info_ptr),
152       2 version                         char (8),
153       2 flags,
154         3 entire_state                  bit (1) unaligned,
155         3 mbz                           bit (35) unaligned,
156       2 key_binding_info_ptr            ptr,
157       2 entire_state_ptr                ptr;
158 
159 dcl get_editor_key_bindings_info_ptr    ptr;
160 dcl get_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("gekbi_01");
161 
162 dcl 1 set_editor_key_bindings_info      aligned
163                                         based (set_editor_key_bindings_info_ptr),
164       2 version                         char (8),
165       2 flags,
166         3 replace                       bit (1) unaligned,
167         3 update                        bit (1) unaligned,
168         3 mbz                           bit (34) unaligned,
169       2 key_binding_info_ptr            ptr;
170 
171 dcl set_editor_key_bindings_info_ptr    ptr;
172 dcl set_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("sekbi_01");
173 
174 /* This should be moved to window_info.incl.pl1 when that include file is
175    created.  JR 2/1/84 */
176 
177 dcl       1 window_edit_line_info
178                               based (window_edit_line_info_ptr),
179             2 version         char (8),
180             2 line_ptr        ptr,
181             2 line_length     fixed bin (21);               /* later we will hack initial cursor position, key bindings, etc. */
182 
183 dcl       window_edit_line_info_version_1
184                               char (8) static options (constant) init ("wedl0001");
185 
186 dcl       window_edit_line_info_ptr
187                               ptr;
188 
189 /* END INCLUDE FILE window_control_info.incl.pl1 */