COMPILATION LISTING OF SEGMENT !BBBJWhxfLnjqqj Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/13/87 1331.4 mst Thu Options: table map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 /* CDS program defining the parameters and usage of the various 14* functions of window call */ 15 /* Benson I. Margulies, sometime in 1981 */ 16 /* Modified by Chris Jones, 7 December 1981, to handle "undocumented" keys 17* and control args */ 18 /* Modified 29 June 1982 by William York to fix the control args for 19* the clear_region key */ 20 /* Modified 14 June 1983 by Jon A. Rochlis to add "supported_terminal" 21* and "video_invoked" keywords as well as -ttp control arg */ 22 /* Modified 1 October 1983 by JR to add support for partial screen width 23* windows by allowing change_window and create_window to take column and 24* n_column arguments */ 25 /* Modified 28 June 1984 by JR to add get_window_width, since I forgot about 26* it in October. */ 27 /* Modified 6 September 1984 by C. Marker to add -line_speed which will allow 28* a user to specify this speed of his connection. */ 29 /* format: style4,delnl,insnl,indattr,ifthen,dclind9 */ 30 31 window_call_data_: 32 procedure; 33 34 /* we dont believe in positional arguments, save the key. 35* everything is control arguments, taking various things 36* afterwards. */ 37 38 declare 1 f aligned like function based (f_ptr); 39 declare f_ptr pointer; 40 41 declare 1 ca aligned like ctl_arg_info based (ca_ptr); 42 declare ca_ptr pointer; 43 44 declare get_temp_segments_ entry (character (*), (*) pointer, fixed binary (35)); 45 declare release_temp_segments_ entry (character (*), (*) pointer, fixed binary (35)); 46 47 declare ME character (32) init ("window_call_data_") internal static options (constant); 48 declare ( 49 TEXT init (1), 50 STATIC init (2) 51 ) fixed bin internal static options (constant); 52 53 declare sys_info$max_seg_size fixed bin (19) ext static; 54 55 declare tsp (3) pointer; 56 57 declare headerspace (sys_info$max_seg_size) bit (36) aligned based (tsp (1)); 58 declare functionspace (sys_info$max_seg_size) bit (36) aligned based (tsp (2)); 59 declare stringspace character (sys_info$max_seg_size * 4) based (tsp (3)); 60 61 declare fx fixed bin (19); 62 declare sx fixed bin (21); 63 64 declare h_ptr pointer; 65 66 /* No refer extents, because we construct with addrel technology, 67* and do not touch the functions at all until the very end. */ 68 69 declare 1 header based (h_ptr) aligned, 70 2 n_keys fixed bin, 71 2 n_ctl_args fixed bin, 72 2 string_length fixed bin (21), 73 2 names (header.n_keys) aligned, 74 3 long character (32) unaligned, 75 3 undocumented_long 76 character (32) unaligned, 77 3 short character (8) unaligned, 78 3 undocumented_short 79 character (8) unaligned, 80 2 functions (header.n_keys) like function aligned, 81 2 ctl_args (header.n_ctl_args) like ctl_arg_info aligned, 82 2 string character (header.string_length) unaligned; 83 84 declare code fixed bin (35); 85 declare com_err_ entry () options (variable); 86 87 declare 1 cdsa aligned like cds_args; 88 89 declare create_data_segment_ entry (pointer, fixed binary (35)); 90 91 declare cleanup condition; 92 declare (addr, currentsize, null, string) 93 builtin; 94 95 96 tsp (*) = null (); 97 98 on cleanup call clean_it_up; 99 100 call get_temp_segments_ (ME, tsp, (0)); /* if it fails, we fault through null */ 101 102 fx = 0; 103 sx = 0; 104 105 h_ptr = addr (headerspace (1)); 106 header.n_keys = 0; 107 108 /* hx is not interesting until all the functions are ready */ 109 110 /* 1 */ 111 f_ptr = get_function ("clear_window", "clwd", "", "cw", "{-io_switch WINDOW_NAME}"); 112 f.args (C_SWITCH).allowed = "1"b; /* accept -io_switch */ 113 114 /* 2 */ 115 f_ptr = get_function ("bell", "", "", "", "{-io_switch WINDOW_NAME}"); 116 f.args (C_SWITCH).allowed = "1"b; 117 118 /* 3 */ 119 f_ptr = 120 get_function ("clear_region", "clrgn", "", "cr", 121 "{-io_switch WINDOW_NAME} -line LINE -height N_LINES -column COLUMN -width N_COLUMNS"); 122 f.args (C_SWITCH).allowed = "1"b; 123 f.args (C_LINE).allowed = "1"b; 124 f.args (C_LINE).required = "1"b; 125 f.args (C_N_LINES).allowed = "1"b; /* No Default, too dangerous */ 126 f.args (C_N_LINES).required = "1"b; 127 f.args (C_COLUMN).allowed = "1"b; 128 f.args (C_COLUMN).required = "1"b; 129 f.args (C_N_COLUMNS).allowed = "1"b; 130 f.args (C_N_COLUMNS).required = "1"b; 131 132 /* 4 */ 133 134 f_ptr = get_function ("clear_to_end_of_line", "cleol", "", "cteol", "{-io_switch WINDOW_NAME}"); 135 f.args (C_SWITCH).allowed = "1"b; 136 137 /* 5 */ 138 f_ptr = get_function ("clear_to_end_of_window", "cleowd", "", "cteow", "{-io_switch WINDOW_NAME}"); 139 f.args (C_SWITCH).allowed = "1"b; 140 141 /* 6 */ 142 f_ptr = get_function ("delete_chars", "dlch", "", "dc", "-count N {-io_switch WINDOW_NAME}"); 143 f.args (C_SWITCH).allowed = "1"b; 144 f.args (C_COUNT).allowed = "1"b; 145 f.args (C_COUNT).required = "1"b; 146 147 /* 7 */ 148 f_ptr = get_function ("get_position", "gpos", "get_cursor_position", "gcp", "{-io_switch WINDOW_NAME}"); 149 f.args (C_SWITCH).allowed = "1"b; 150 f.af_allowed = "1"b; 151 152 /* 8 */ 153 f_ptr = get_function ("get_echoed_chars", "gech", "", "gec", "-count N {-io_switch WINDOW_NAME}"); 154 f.args (C_SWITCH).allowed = "1"b; 155 f.args (C_COUNT).allowed = "1"b; 156 f.args (C_COUNT).required = "1"b; 157 f.af_allowed = "1"b; 158 159 /* 9 */ 160 f_ptr = get_function ("get_unechoed_chars", "guch", "", "guc", "-count N {-io_switch WINDOW_NAME}"); 161 f.args (C_SWITCH).allowed = "1"b; 162 f.args (C_COUNT).allowed = "1"b; 163 f.args (C_COUNT).required = "1"b; 164 f.af_allowed = "1"b; 165 166 /* 10 */ 167 f_ptr = get_function ("insert_text", "itx", "", "it", "-string TEXT {-io_switch WINDOW_NAME}"); 168 f.args (C_SWITCH).allowed = "1"b; 169 f.args (C_STRING).allowed = "1"b; 170 f.args (C_STRING).required = "1"b; 171 172 /* 11 */ 173 f_ptr = get_function ("overwrite_text", "otx", "", "ot", "-string TEXT {-io_switch WINDOW_NAME}"); 174 f.args (C_SWITCH).allowed = "1"b; 175 f.args (C_STRING).allowed = "1"b; 176 f.args (C_STRING).required = "1"b; 177 178 /* 12 */ 179 f_ptr = 180 get_function ("set_position", "spos", "position_cursor", "pc", 181 "-line LINE -column COLUMN {-io_switch WINDOW_NAME}"); 182 f.args (C_SWITCH).allowed = "1"b; 183 f.args (C_LINE).allowed, f.args (C_LINE).required = "1"b; 184 f.args (C_COLUMN).allowed, f.args (C_COLUMN).required = "1"b; 185 186 /* 13 */ 187 f_ptr = 188 get_function ("set_position_rel", "sposrel", "position_cursor_rel", "pcr", 189 "-line LINE_DELTA -column COLUMN_DELTA {-io_switch WINDOW_NAME}"); 190 f.args (C_SWITCH).allowed = "1"b; 191 f.args (C_LINE).allowed, f.args (C_LINE).required = "1"b; 192 f.args (C_COLUMN).allowed, f.args (C_COLUMN).required = "1"b; 193 194 /* 14 */ 195 f_ptr = 196 get_function ("scroll_region", "scrgn", "", "sr", 197 "{-line START -height SIZE} -count SCROLL_DISTANCE {-io_switch WINDOW_NAME}"); 198 f.args (C_SWITCH).allowed = "1"b; 199 f.args (C_LINE).allowed = "1"b; 200 f.args (C_N_LINES).allowed = "1"b; 201 f.args (C_COUNT).allowed, f.args (C_COUNT).required = "1"b; 202 203 /* 15 */ 204 f_ptr = get_function ("sync", "", "", "", "{-io_switch WINDOW_NAME}"); 205 f.args (C_SWITCH).allowed = "1"b; 206 207 /* 16 */ 208 f_ptr = 209 get_function ("write_sync_read", "wsr", "", "", "-count N_TO_READ -string PROMPT {-io_switch WINDOW_NAME}") 210 ; 211 f.args (C_SWITCH).allowed = "1"b; 212 f.af_allowed = "1"b; 213 f.args (C_COUNT).allowed, f.args (C_COUNT).required = "1"b; 214 f.args (C_STRING).allowed, f.args (C_STRING).required = "1"b; 215 216 /* 17 */ 217 f_ptr = get_function ("invoke", "", "", "", "{-line_speed LINE_SPEED}"); 218 f.args (C_LINE_SPEED).allowed = "1"b; 219 220 /* 18 */ 221 f_ptr = get_function ("revoke", "", "", "", ""); 222 223 /* 19 */ 224 f_ptr = 225 get_function ("create_window", "crwd", "", "crw", 226 "-io_switch WINDOW_NAME {-line FIRST_LINE} {-column FIRST_COLUMN} {-height N_LINES} {-width N_COLUMNS}"); 227 f.args (C_SWITCH).allowed, f.args (C_SWITCH).required = "1"b; 228 f.args (C_LINE).allowed, f.args (C_N_LINES).allowed = "1"b; 229 f.args (C_COLUMN).allowed = "1"b; 230 f.args (C_N_COLUMNS).allowed = "1"b; 231 232 /* 20 */ 233 f_ptr = get_function ("delete_window", "dlwd", "destroy_window", "dsw", "-io_switch WINDOW_NAME"); 234 f.args (C_SWITCH).required, f.args (C_SWITCH).allowed = "1"b; 235 236 /* 21 */ 237 f_ptr = get_function ("change_window", "chgwd", "", "chw", "{-io_switch WINDOW_NAME} {-line N} {-height N} {-column N} {-width N}"); 238 f.args (C_SWITCH).allowed = "1"b; 239 f.args (C_LINE).allowed = "1"b; 240 f.args (C_N_LINES).allowed = "1"b; 241 f.args (C_COLUMN).allowed = "1"b; 242 f.args (C_N_COLUMNS).allowed = "1"b; 243 244 /* 22 */ 245 246 f_ptr = get_function ("get_first_line", "gfl", "", "", "{-io_switch WINDOW_NAME}"); 247 f.args (C_SWITCH).allowed = "1"b; 248 f.af_allowed = "1"b; 249 250 /* 23 */ 251 252 f_ptr = get_function ("get_window_height", "gwdhgt", "get_n_lines", "gnl", "{-io_switch WINDOW_NAME}"); 253 f.args (C_SWITCH).allowed = "1"b; 254 f.af_allowed = "1"b; 255 256 /* 24 */ 257 f_ptr = get_function ("get_window_width", "gwdwid", "get_n_cols", "gnc", "{-io_switch WINDOW_NAME}"); 258 f.args (C_SWITCH).allowed = "1"b; 259 f.af_allowed = "1"b; 260 261 /* 25 */ 262 263 f_ptr = get_function ("get_terminal_height", "gtmhgt", "", "gtmh", ""); 264 f.af_allowed = "1"b; 265 266 /* 26 */ 267 268 f_ptr = get_function ("get_terminal_width", "gtmwid", "", "gtmw", ""); 269 f.af_allowed = "1"b; 270 271 /* 27 */ 272 f_ptr = get_function ("get_one_unechoed_char", "gouch", "", "gouc", "{-io_switch WINDOW}"); 273 f.af_allowed = "1"b; 274 f.args (C_SWITCH).allowed = "1"b; 275 276 /* 28 */ 277 f_ptr = get_function ("supported_terminal", "", "supported_ttp", "", "-ttp TERMINAL_TYPE"); 278 f.af_allowed = "1"b; 279 f.args (C_TERMINAL_TYPE).allowed = "1"b; 280 281 /* 29 */ 282 f_ptr = get_function ("video_invoked", "", "", "", ""); 283 f.af_allowed = "1"b; 284 285 /* Now header.n_keys is correct, we can copy the functions */ 286 287 begin; 288 declare 1 farray (header.n_keys) aligned like function based (fa_ptr); 289 declare fa_ptr pointer; 290 291 fa_ptr = addr (functionspace (1)); 292 293 header.functions = farray; /* Page faults! get um while their hot! */ 294 end; 295 296 /* Now build the control arguments in the functionspace seg */ 297 /* These calls must be in the order of the C_ constants for 298* this to work */ 299 300 fx = 0; 301 302 call make_ctl_arg ("line", "", "", "ln", A_NUMBER); 303 call make_ctl_arg ("column", "col", "", "cl", A_NUMBER); 304 call make_ctl_arg ("count", "ct", "", "", A_NUMBER); 305 call make_ctl_arg ("height", "hgt", "n_lines", "nl", A_NUMBER); 306 call make_ctl_arg ("io_switch", "is", "", "iosw", A_STRING); 307 call make_ctl_arg ("screen", "", "", "", A_STRING); 308 call make_ctl_arg ("string", "str", "", "", A_STRING); 309 call make_ctl_arg ("width", "wid", "n_columns", "nc", A_NUMBER); 310 call make_ctl_arg ("terminal_type", "ttp", "", "", A_STRING); 311 call make_ctl_arg ("line_speed", "ls", "", "", A_NUMBER); 312 header.n_ctl_args = N_CTL_ARGS; 313 314 begin; 315 316 declare 1 ctlargs (N_CTL_ARGS) aligned like ctl_arg_info based (cas_ptr); 317 declare cas_ptr pointer; 318 319 cas_ptr = addr (functionspace (1)); 320 header.ctl_args = ctlargs; 321 end; 322 323 /* now for usage strings */ 324 325 header.string_length = sx; /* points at last character */ 326 327 begin; 328 declare stringwewant character (header.string_length) defined (stringspace) position (1); 329 330 header.string = stringwewant; 331 end; 332 333 334 cdsa.sections (TEXT).p = addr (header); 335 cdsa.sections (TEXT).len = currentsize (header); 336 cdsa.sections (STATIC).p = null (); 337 cdsa.sections (STATIC).len = 0; 338 339 cdsa.struct_name = "header"; 340 cdsa.seg_name = ME; 341 342 cdsa.num_exclude_names = 0; 343 cdsa.exclude_array_ptr = null (); 344 345 string (cdsa.switches) = ""b; 346 cdsa.switches.have_text = "1"b; 347 348 call create_data_segment_ (addr (cdsa), code); 349 350 call clean_it_up; 351 352 if code ^= 0 then 353 call com_err_ (code, ME); 354 return; 355 356 357 clean_it_up: 358 procedure; 359 360 call release_temp_segments_ (ME, tsp, (0)); 361 end clean_it_up; 362 363 get_function: 364 procedure (lname, sname, ulname, usname, usage) returns (pointer); 365 366 declare (lname, sname, ulname, usname, usage) 367 character (*); 368 declare nf_ptr pointer; 369 declare 1 nf aligned like function based (nf_ptr); 370 declare usage_x fixed bin (21); 371 declare (string, length) builtin; 372 373 fx = fx + 1; /* point to first word of new one */ 374 nf_ptr = addr (functionspace (fx)); 375 fx = fx + currentsize (nf) - 1; /* point to last word of new one */ 376 377 usage_x = sx + 1; 378 begin; 379 declare u_in_string character (length (usage)) defined (stringspace) position (usage_x); 380 u_in_string = usage; 381 sx = sx + length (usage); 382 nf.usage.index = usage_x; 383 nf.usage.length = length (usage); 384 end; 385 header.n_keys = header.n_keys + 1; 386 header.names (header.n_keys).long = lname; 387 header.names (header.n_keys).short = sname; 388 header.names (header.n_keys).undocumented_long = ulname; 389 header.names (header.n_keys).undocumented_short = usname; 390 391 string (nf.args) = ""b; 392 return (nf_ptr); 393 end get_function; 394 395 make_ctl_arg: 396 procedure (lname, sname, ulname, usname, atype); 397 declare (lname, sname, ulname, usname) 398 character (*); 399 declare atype fixed bin; 400 401 fx = fx + 1; 402 ca_ptr = addr (functionspace (fx)); 403 ca.name.long = lname; 404 ca.name.short = sname; 405 ca.name.undocumented_long = ulname; 406 ca.name.undocumented_short = usname; 407 ca.argument = atype; 408 fx = fx + currentsize (ca) - 1; 409 end make_ctl_arg; 410 1 1 /* Begin include file window_call_info_.incl.pl1 */ 1 2 /* Written by Benson I. Margulies, sometime in 1981 */ 1 3 /* Modified by Chris Jones, 29 October 1981, to add "undocumented" names */ 1 4 /* Modified by Jon A. Rochlis, 14 June 1983, to add C_TERMINAL_TYPE control arg and bumped N_CTL_ARGS to 9 */ 1 5 /* Modified by C. Marker, 6 September 1984, to add C_LINE_SPEED control arg and bumped N_CTL_ARGS to 10 */ 1 6 /* format: style3 */ 1 7 1 8 declare 1 packed_string aligned, 1 9 2 index fixed bin (21), 1 10 2 length fixed bin (21); 1 11 1 12 declare 1 ctl_arg unaligned based, 1 13 2 allowed bit (1) unaligned, 1 14 2 required bit (1) unaligned; 1 15 1 16 declare 1 function aligned based, 1 17 2 args (10 /* N_CTL_ARGS */) unaligned like ctl_arg, 1 18 2 af_allowed bit (1) unaligned, /* just for check */ 1 19 2 usage like packed_string aligned; 1 20 1 21 declare 1 ctl_arg_info aligned based, 1 22 2 name aligned, 1 23 3 long character (16) unaligned, 1 24 3 undocumented_long 1 25 character (16) unaligned, 1 26 3 short character (8) unaligned, 1 27 3 undocumented_short 1 28 character (8) unaligned, 1 29 2 argument fixed bin; 1 30 1 31 declare ( 1 32 A_NONE init (1), 1 33 A_NUMBER init (2), 1 34 A_STRING init (3) 1 35 ) fixed bin internal static options (constant); 1 36 1 37 declare ( 1 38 C_LINE init (1), 1 39 C_COLUMN init (2), 1 40 C_COUNT init (3), 1 41 C_N_LINES init (4), 1 42 C_SWITCH init (5), 1 43 C_SCREEN init (6), 1 44 C_STRING init (7), 1 45 C_N_COLUMNS init (8), 1 46 C_TERMINAL_TYPE init (9), 1 47 C_LINE_SPEED init (10), 1 48 N_CTL_ARGS init (10) 1 49 ) internal static options (constant) fixed bin; 1 50 1 51 declare window_call_data_$n_keys 1 52 fixed bin external static; 1 53 declare window_call_data_$n_ctl_args 1 54 fixed bin external static; 1 55 declare window_call_data_$string_length 1 56 fixed bin (21) external static; 1 57 1 58 declare wcd_string_ptr pointer; 1 59 declare window_call_data_$string 1 60 bit (36) aligned external static; 1 61 1 62 declare window_call_data_string 1 63 character (window_call_data_$string_length) aligned based (wcd_string_ptr); 1 64 1 65 declare wcd_names_ptr pointer; 1 66 declare window_call_data_$names 1 67 bit (36) aligned external static; 1 68 1 69 declare 1 window_call_data_names 1 70 (window_call_data_$n_keys) aligned based (wcd_names_ptr), 1 71 2 long character (32) unaligned, 1 72 2 undocumented_long 1 73 character (32) unaligned, 1 74 2 short character (8) unaligned, 1 75 2 undocumented_short 1 76 character (8) unaligned; 1 77 1 78 declare wcd_functions_ptr pointer; 1 79 declare window_call_data_$functions 1 80 bit (36) aligned external static; 1 81 1 82 declare 1 window_call_data_functions 1 83 (window_call_data_$n_keys) aligned like function based (wcd_functions_ptr); 1 84 1 85 declare wcd_ctl_args_ptr pointer; 1 86 declare window_call_data_$ctl_args 1 87 bit (36) aligned external static; 1 88 1 89 declare 1 window_call_data_ctl_args 1 90 (window_call_data_$n_ctl_args) aligned like ctl_arg_info based (wcd_ctl_args_ptr); 1 91 1 92 /* End include file window_call_info_.incl.pl1 */ 411 2 1 /* BEGIN INCLUDE FILE cds_args.incl.pl1 */ 2 2 2 3 dcl 1 cds_args based aligned, 2 4 2 sections (2), 2 5 3 p ptr, /* pointer to data for text/static section */ 2 6 3 len fixed bin (18), /* size of text/static section */ 2 7 3 struct_name char (32), /* name of declared structure for this section */ 2 8 2 seg_name char (32), /* name to create segment by */ 2 9 2 num_exclude_names fixed bin, /* number of names in exclude array */ 2 10 2 exclude_array_ptr ptr, /* pointer to array of exclude names */ 2 11 2 switches, /* control switches */ 2 12 3 defs_in_link bit (1) unal, /* says put defs in linkage */ 2 13 3 separate_static bit (1) unal, /* says separate static section is wanted */ 2 14 3 have_text bit (1) unal, /* ON if text section given */ 2 15 3 have_static bit (1) unal, /* ON if static section given */ 2 16 3 pad bit (32) unal; 2 17 2 18 dcl exclude_names (1) char (32) based; /* pointed to be cds_args.exclude_array_ptr */ 2 19 2 20 /* END INCLUDE FILE cds_args.incl.pl1 */ 412 413 414 end window_call_data_; 415 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/13/87 1324.1 !BBBJWhxfLnjqqj.pl1 >special_ldd>install>MR12.1-1086>window_call_data_.cds 411 1 12/03/84 1015.1 window_call_info_.incl.pl1 >ldd>include>window_call_info_.incl.pl1 412 2 04/01/76 2209.5 cds_args.incl.pl1 >ldd>include>cds_args.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. A_NUMBER 000114 constant fixed bin(17,0) initial dcl 1-31 set ref 302* 303* 304* 305* 309* 311* A_STRING 000113 constant fixed bin(17,0) initial dcl 1-31 set ref 306* 307* 308* 310* C_COLUMN 000114 constant fixed bin(17,0) initial dcl 1-37 ref 127 128 184 184 192 192 229 241 C_COUNT 000113 constant fixed bin(17,0) initial dcl 1-37 ref 144 145 155 156 162 163 201 201 213 213 C_LINE 005707 constant fixed bin(17,0) initial dcl 1-37 ref 123 124 183 183 191 191 199 228 239 C_LINE_SPEED 005702 constant fixed bin(17,0) initial dcl 1-37 ref 218 C_N_COLUMNS 005704 constant fixed bin(17,0) initial dcl 1-37 ref 129 130 230 242 C_N_LINES 005706 constant fixed bin(17,0) initial dcl 1-37 ref 125 126 200 228 240 C_STRING 000000 constant fixed bin(17,0) initial dcl 1-37 ref 169 170 175 176 214 214 C_SWITCH 005705 constant fixed bin(17,0) initial dcl 1-37 ref 112 116 122 135 139 143 149 154 161 168 174 182 190 198 205 211 227 227 234 234 238 247 253 258 274 C_TERMINAL_TYPE 005703 constant fixed bin(17,0) initial dcl 1-37 ref 279 ME 000001 constant char(32) initial unaligned dcl 47 set ref 100* 340 352* 360* N_CTL_ARGS 005702 constant fixed bin(17,0) initial dcl 1-37 ref 312 316 316 316 316 316 316 316 320 STATIC 000114 constant fixed bin(17,0) initial dcl 48 ref 336 337 TEXT 005707 constant fixed bin(17,0) initial dcl 48 ref 334 335 addr builtin function dcl 92 ref 105 291 319 334 348 348 374 402 af_allowed 0(20) based bit(1) level 2 packed unaligned dcl 38 set ref 150* 157* 164* 212* 248* 254* 259* 264* 269* 273* 278* 283* allowed based bit(1) array level 3 packed unaligned dcl 38 set ref 112* 116* 122* 123* 125* 127* 129* 135* 139* 143* 144* 149* 154* 155* 161* 162* 168* 169* 174* 175* 182* 183* 184* 190* 191* 192* 198* 199* 200* 201* 205* 211* 213* 214* 218* 227* 228* 228* 229* 230* 234* 238* 239* 240* 241* 242* 247* 253* 258* 274* 279* args based structure array level 2 in structure "f" packed unaligned dcl 38 in procedure "window_call_data_" args based structure array level 2 in structure "nf" packed unaligned dcl 369 in procedure "get_function" set ref 391* argument 14 based fixed bin(17,0) level 2 dcl 41 set ref 407* atype parameter fixed bin(17,0) dcl 399 ref 395 407 ca based structure level 1 dcl 41 set ref 408 ca_ptr 000102 automatic pointer dcl 42 set ref 41 41 41 41 41 41 41 402* 403 404 405 406 407 408 cas_ptr 000212 automatic pointer dcl 317 set ref 316 316 316 316 316 316 316 319* 320 cds_args based structure level 1 dcl 2-3 cdsa 000120 automatic structure level 1 dcl 87 set ref 348 348 cleanup 000166 stack reference condition dcl 91 ref 98 code 000116 automatic fixed bin(35,0) dcl 84 set ref 348* 352 352* com_err_ 000020 constant entry external dcl 85 ref 352 create_data_segment_ 000022 constant entry external dcl 89 ref 348 ctl_arg based structure level 1 packed unaligned dcl 1-12 ctl_arg_info based structure level 1 dcl 1-21 ctl_args based structure array level 2 dcl 69 set ref 320* ctlargs based structure array level 1 dcl 316 ref 320 currentsize builtin function dcl 92 ref 335 375 408 exclude_array_ptr 42 000120 automatic pointer level 2 dcl 87 set ref 343* f based structure level 1 dcl 38 f_ptr 000100 automatic pointer dcl 39 set ref 38 38 38 38 38 38 38 38 111* 112 115* 116 119* 122 123 124 125 126 127 128 129 130 134* 135 138* 139 142* 143 144 145 148* 149 150 153* 154 155 156 157 160* 161 162 163 164 167* 168 169 170 173* 174 175 176 179* 182 183 183 184 184 187* 190 191 191 192 192 195* 198 199 200 201 201 204* 205 208* 211 212 213 213 214 214 217* 218 221* 224* 227 227 228 228 229 230 233* 234 234 237* 238 239 240 241 242 246* 247 248 252* 253 254 257* 258 259 263* 264 268* 269 272* 273 274 277* 278 279 282* 283 fa_ptr 000210 automatic pointer dcl 289 set ref 288 288 288 288 288 288 288 288 291* 293 farray based structure array level 1 dcl 288 ref 293 function based structure level 1 dcl 1-16 functions based structure array level 2 dcl 69 set ref 293* functionspace based bit(36) array dcl 58 set ref 291 319 374 402 fx 000112 automatic fixed bin(19,0) dcl 61 set ref 102* 300* 373* 373 374 375* 375 401* 401 402 408* 408 get_temp_segments_ 000012 constant entry external dcl 44 ref 100 h_ptr 000114 automatic pointer dcl 64 set ref 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 105* 106 293 293 293 312 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 325 328 330 330 330 330 330 334 335 335 335 335 335 385 385 386 386 387 387 388 388 389 389 have_text 44(02) 000120 automatic bit(1) level 3 packed unaligned dcl 87 set ref 346* header based structure level 1 dcl 69 set ref 334 335 headerspace based bit(36) array dcl 57 set ref 105 index 1 based fixed bin(21,0) level 3 dcl 369 set ref 382* len 2 000120 automatic fixed bin(18,0) array level 3 dcl 87 set ref 335* 337* length 2 based fixed bin(21,0) level 3 in structure "nf" dcl 369 in procedure "get_function" set ref 383* length builtin function dcl 371 in procedure "get_function" ref 379 381 383 lname parameter char unaligned dcl 397 in procedure "make_ctl_arg" ref 395 403 lname parameter char unaligned dcl 366 in procedure "get_function" ref 363 386 long 3 based char(32) array level 3 in structure "header" packed unaligned dcl 69 in procedure "window_call_data_" set ref 386* long based char(16) level 3 in structure "ca" packed unaligned dcl 41 in procedure "window_call_data_" set ref 403* n_ctl_args 1 based fixed bin(17,0) level 2 dcl 69 set ref 69 69 69 69 69 69 69 69 312* 320 330 335 n_keys based fixed bin(17,0) level 2 dcl 69 set ref 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 106* 288 288 288 288 288 288 288 288 293 293 320 320 320 320 320 320 320 320 320 320 320 320 320 320 330 330 335 335 385* 385 386 387 388 389 name based structure level 2 dcl 41 names 3 based structure array level 2 dcl 69 nf based structure level 1 dcl 369 set ref 375 nf_ptr 000224 automatic pointer dcl 368 set ref 369 369 369 369 369 369 369 369 374* 375 382 383 391 392 null builtin function dcl 92 ref 96 336 343 num_exclude_names 40 000120 automatic fixed bin(17,0) level 2 dcl 87 set ref 342* p 000120 automatic pointer array level 3 dcl 87 set ref 334* 336* packed_string 000174 automatic structure level 1 dcl 1-8 release_temp_segments_ 000014 constant entry external dcl 45 ref 360 required 0(01) based bit(1) array level 3 packed unaligned dcl 38 set ref 124* 126* 128* 130* 145* 156* 163* 170* 176* 183* 184* 191* 192* 201* 213* 214* 227* 234* sections 000120 automatic structure array level 2 dcl 87 seg_name 30 000120 automatic char(32) level 2 dcl 87 set ref 340* short 23 based char(8) array level 3 in structure "header" packed unaligned dcl 69 in procedure "window_call_data_" set ref 387* short 10 based char(8) level 3 in structure "ca" packed unaligned dcl 41 in procedure "window_call_data_" set ref 404* sname parameter char unaligned dcl 366 in procedure "get_function" ref 363 387 sname parameter char unaligned dcl 397 in procedure "make_ctl_arg" ref 395 404 string builtin function dcl 92 in procedure "window_call_data_" set ref 345* string builtin function dcl 371 in procedure "get_function" set ref 391* string based char level 2 in structure "header" packed unaligned dcl 69 in procedure "window_call_data_" set ref 330* string_length 2 based fixed bin(21,0) level 2 dcl 69 set ref 69 325* 328 330 335 stringspace based char unaligned dcl 59 set ref 328 328 330 330 379 379 380* 380 stringwewant defined char unaligned dcl 328 ref 330 struct_name 3 000120 automatic char(32) array level 3 dcl 87 set ref 339* switches 44 000120 automatic structure level 2 dcl 87 set ref 345* sx 000113 automatic fixed bin(21,0) dcl 62 set ref 103* 325 377 381* 381 sys_info$max_seg_size 000016 external static fixed bin(19,0) dcl 53 ref 57 58 59 328 330 379 380 tsp 000104 automatic pointer array dcl 55 set ref 57 58 59 96* 100* 105 291 319 330 360* 374 380 402 u_in_string defined char unaligned dcl 379 set ref 380* ulname parameter char unaligned dcl 397 in procedure "make_ctl_arg" ref 395 405 ulname parameter char unaligned dcl 366 in procedure "get_function" ref 363 388 undocumented_long 13 based char(32) array level 3 in structure "header" packed unaligned dcl 69 in procedure "window_call_data_" set ref 388* undocumented_long 4 based char(16) level 3 in structure "ca" packed unaligned dcl 41 in procedure "window_call_data_" set ref 405* undocumented_short 25 based char(8) array level 3 in structure "header" packed unaligned dcl 69 in procedure "window_call_data_" set ref 389* undocumented_short 12 based char(8) level 3 in structure "ca" packed unaligned dcl 41 in procedure "window_call_data_" set ref 406* usage 1 based structure level 2 in structure "nf" dcl 369 in procedure "get_function" usage parameter char unaligned dcl 366 in procedure "get_function" ref 363 379 380 381 383 usage_x 000226 automatic fixed bin(21,0) dcl 370 set ref 377* 379 380 382 usname parameter char unaligned dcl 397 in procedure "make_ctl_arg" ref 395 406 usname parameter char unaligned dcl 366 in procedure "get_function" ref 363 389 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A_NONE constant fixed bin(17,0) initial dcl 1-31 C_SCREEN constant fixed bin(17,0) initial dcl 1-37 exclude_names based char(32) array unaligned dcl 2-18 wcd_ctl_args_ptr 000204 automatic pointer dcl 1-85 wcd_functions_ptr 000202 automatic pointer dcl 1-78 wcd_names_ptr 000200 automatic pointer dcl 1-65 wcd_string_ptr 000176 automatic pointer dcl 1-58 window_call_data_$ctl_args 000040 external static bit(36) dcl 1-86 window_call_data_$functions 000036 external static bit(36) dcl 1-79 window_call_data_$n_ctl_args 000026 external static fixed bin(17,0) dcl 1-53 window_call_data_$n_keys 000024 external static fixed bin(17,0) dcl 1-51 window_call_data_$names 000034 external static bit(36) dcl 1-66 window_call_data_$string 000032 external static bit(36) dcl 1-59 window_call_data_$string_length 000030 external static fixed bin(21,0) dcl 1-55 window_call_data_ctl_args based structure array level 1 dcl 1-89 window_call_data_functions based structure array level 1 dcl 1-82 window_call_data_names based structure array level 1 dcl 1-69 window_call_data_string based char dcl 1-62 NAMES DECLARED BY EXPLICIT CONTEXT. clean_it_up 003465 constant entry internal dcl 357 ref 98 350 get_function 003515 constant entry internal dcl 363 ref 111 115 119 134 138 142 148 153 160 167 173 179 187 195 204 208 217 221 224 233 237 246 252 257 263 268 272 277 282 make_ctl_arg 003673 constant entry internal dcl 395 ref 302 303 304 305 306 307 308 309 310 311 window_call_data_ 001307 constant entry external dcl 31 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 6104 6146 5710 6114 Length 12336 5710 42 4153 173 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME window_call_data_ 249 external procedure is an external procedure. on unit on line 98 64 on unit begin block on line 287 begin block shares stack frame of external procedure window_call_data_. begin block on line 314 begin block shares stack frame of external procedure window_call_data_. begin block on line 327 begin block shares stack frame of external procedure window_call_data_. clean_it_up 80 internal procedure is called by several nonquick procedures. get_function internal procedure shares stack frame of external procedure window_call_data_. begin block on line 378 begin block shares stack frame of external procedure window_call_data_. make_ctl_arg internal procedure shares stack frame of external procedure window_call_data_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME window_call_data_ 000100 f_ptr window_call_data_ 000102 ca_ptr window_call_data_ 000104 tsp window_call_data_ 000112 fx window_call_data_ 000113 sx window_call_data_ 000114 h_ptr window_call_data_ 000116 code window_call_data_ 000120 cdsa window_call_data_ 000174 packed_string window_call_data_ 000176 wcd_string_ptr window_call_data_ 000200 wcd_names_ptr window_call_data_ 000202 wcd_functions_ptr window_call_data_ 000204 wcd_ctl_args_ptr window_call_data_ 000210 fa_ptr begin block on line 287 000212 cas_ptr begin block on line 314 000224 nf_ptr get_function 000226 usage_x get_function THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this call_int_other return_mac bound_ck_signal enable_op ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ create_data_segment_ get_temp_segments_ release_temp_segments_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. sys_info$max_seg_size window_call_data_$ctl_args window_call_data_$functions window_call_data_$n_ctl_args window_call_data_$n_keys window_call_data_$names window_call_data_$string window_call_data_$string_length LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 31 001306 96 001314 98 001327 100 001351 102 001373 103 001374 105 001375 106 001377 111 001400 112 001416 115 001423 116 001433 119 001440 122 001457 123 001464 124 001470 125 001474 126 001500 127 001504 128 001510 129 001514 130 001520 134 001524 135 001544 138 001551 139 001566 142 001573 143 001611 144 001616 145 001622 148 001626 149 001650 150 001655 153 001657 154 001677 155 001704 156 001710 157 001714 160 001716 161 001736 162 001743 163 001747 164 001753 167 001755 168 001773 169 002000 170 002004 173 002010 174 002030 175 002035 176 002041 179 002045 182 002072 183 002077 184 002107 187 002117 190 002142 191 002147 192 002157 195 002167 198 002207 199 002214 200 002220 201 002224 204 002234 205 002244 208 002251 211 002267 212 002274 213 002276 214 002306 217 002316 218 002326 221 002333 224 002340 227 002360 228 002371 229 002401 230 002405 233 002411 234 002437 237 002450 238 002470 239 002475 240 002501 241 002505 242 002511 246 002515 247 002533 248 002540 252 002542 253 002566 254 002573 257 002575 258 002622 259 002627 263 002631 264 002643 268 002645 269 002662 272 002664 273 002701 274 002703 277 002710 278 002732 279 002734 282 002741 283 002752 291 002754 293 002756 300 002771 302 002772 303 003001 304 003012 305 003021 306 003034 307 003047 308 003054 309 003063 310 003101 311 003114 312 003125 319 003130 320 003132 325 003312 328 003314 330 003317 334 003345 335 003350 336 003372 337 003376 339 003400 340 003414 342 003417 343 003420 345 003422 346 003423 348 003425 350 003440 352 003444 354 003463 357 003464 360 003472 361 003514 363 003515 373 003552 374 003553 375 003557 377 003562 379 003565 380 003573 381 003612 382 003614 383 003617 385 003621 386 003622 387 003633 388 003644 389 003655 391 003666 392 003670 395 003673 401 003723 402 003724 403 003730 404 003736 405 003743 406 003750 407 003755 408 003757 409 003762 Object Segment >special_ldd>install>MR12.1-1086>window_call_data_ Created on 08/13/87 1331.6 mst Thu by GJohnson.SysMaint.a using create_data_segment_, Version II of Thursday, November 20, 1986 Object Text Defs Link Symb Static Start 0 0 2022 2114 2124 2124 Length 2415 2022 72 10 255 0 9 Definitions: segname: window_call_data_ text|1236 ctl_args text|1107 functions text|1 n_ctl_args text|0 n_keys text|3 names text|1440 string text|2 string_length symb|0 symbol_table No Links. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved