COMPILATION LISTING OF SEGMENT !BBBJWhxfMQDCkp 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.7 mst Thu Options: table map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright (c) 1987 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 9* * * 10* * Copyright (c) 1972 by Massachusetts Institute of * 11* * Technology and Honeywell Information Systems, Inc. * 12* * * 13* *********************************************************** */ 14 15 16 17 /* HISTORY COMMENTS: 18* 1) change(86-11-26,LJAdams), approve(86-11-26,MCR7485), 19* audit(86-12-16,Margolin), install(87-01-06,MR12.0-1255): 20* Changed version number for video. 21* END HISTORY COMMENTS */ 22 23 24 /* terminal control and window control data segment. */ 25 26 /* June 1981, Benson I. Margulies */ 27 /* Modified 8 October 1983 by Jon A. Rochlis to add version number */ 28 /* Modified 2 June 1984 by JR to add the EXL flags and to remove 29* saved_sus_handler since it is longer needed */ 30 31 /* format: style2 */ 32 33 video_data_: 34 procedure; 35 1 1 /* BEGIN INCLUDE FILE cds_args.incl.pl1 */ 1 2 1 3 dcl 1 cds_args based aligned, 1 4 2 sections (2), 1 5 3 p ptr, /* pointer to data for text/static section */ 1 6 3 len fixed bin (18), /* size of text/static section */ 1 7 3 struct_name char (32), /* name of declared structure for this section */ 1 8 2 seg_name char (32), /* name to create segment by */ 1 9 2 num_exclude_names fixed bin, /* number of names in exclude array */ 1 10 2 exclude_array_ptr ptr, /* pointer to array of exclude names */ 1 11 2 switches, /* control switches */ 1 12 3 defs_in_link bit (1) unal, /* says put defs in linkage */ 1 13 3 separate_static bit (1) unal, /* says separate static section is wanted */ 1 14 3 have_text bit (1) unal, /* ON if text section given */ 1 15 3 have_static bit (1) unal, /* ON if static section given */ 1 16 3 pad bit (32) unal; 1 17 1 18 dcl exclude_names (1) char (32) based; /* pointed to be cds_args.exclude_array_ptr */ 1 19 1 20 /* END INCLUDE FILE cds_args.incl.pl1 */ 36 37 declare 1 cdsa aligned like cds_args; 38 39 40 declare create_ips_mask_ entry (pointer, fixed binary, bit (36) aligned); 41 declare create_data_segment_ entry (pointer, fixed binary (35)); 42 declare com_err_ entry () options (variable); 43 44 declare code fixed bin (35); 45 declare create_ips_mask_err condition; 46 47 declare 1 video_text aligned, 48 2 terminal_switch character (32), 49 2 shut_mask bit (36) aligned, 50 2 open_mask bit (36) aligned, 51 2 only_quit_mask bit (36) aligned, 52 2 alrm_only_mask bit (36) aligned, 53 2 as_only_mask bit (36) aligned, 54 2 error_name character (32), 55 2 version character (12), 56 2 exl_video_system bit (1) unaligned, 57 2 mbz bit (35) unaligned, 58 2 pad_end bit (0) aligned; 59 60 declare 1 video_static aligned, 61 2 terminal_iocb pointer, 62 2 exl_initialized bit (1) unaligned, 63 2 mbz bit (35) unaligned, 64 2 pad_end bit (0) aligned; 65 66 67 declare quit_name (4) character (32) aligned static internal 68 init ("quit", "trm_", "sus_", "neti") options (constant); 69 70 declare alrm_only_name (1) character (32) aligned static internal init ("alrm") options (constant); 71 72 declare as_only_name (3) character (32) aligned static internal init ("trm_", "sus_", "neti") 73 options (constant); 74 75 declare all_name (1) character (32) aligned static internal init ("-all") options (constant); 76 77 declare pad_name (1) character (32) static internal init ("pad*") options (constant); 78 79 declare ME character (32) static internal init ("video_data_") internal static 80 options (constant); 81 82 declare (addr, currentsize, hbound, null, string, unspec) 83 builtin; 84 85 unspec (video_text) = ""b; 86 unspec (video_static) = ""b; 87 88 on create_ips_mask_err 89 begin; 90 call com_err_ (0, ME, "IPS mask generation failed."); 91 go to give_up; 92 end; 93 94 call create_ips_mask_ (addr (quit_name), hbound (quit_name, 1), video_text.only_quit_mask); 95 video_text.only_quit_mask = ^video_text.only_quit_mask; 96 call create_ips_mask_ (addr (all_name), hbound (all_name, 1), video_text.shut_mask); 97 video_text.open_mask = ^video_text.shut_mask; 98 call create_ips_mask_ (addr (as_only_name), hbound (as_only_name, 1), video_text.as_only_mask); 99 call create_ips_mask_ (addr (alrm_only_name), hbound (alrm_only_name, 1), video_text.alrm_only_mask); 100 video_text.error_name = "internal terminal control"; 101 102 video_text.terminal_switch = "user_terminal_"; 103 video_text.version = "MR12"; 104 video_text.exl_video_system = "0"b; /* video_utils_ will use this when deciding whether or not to call use_exl_video_system */ 105 video_static.terminal_iocb = null (); 106 video_static.exl_initialized = "0"b; 107 108 string (cdsa.switches) = ""b; 109 cdsa.switches.separate_static, cdsa.switches.have_static, cdsa.switches.have_text = "1"b; 110 111 cdsa.p (1) = addr (video_text); 112 cdsa.len (1) = currentsize (video_text); 113 cdsa.struct_name (1) = "video_text"; 114 cdsa.p (2) = addr (video_static); 115 cdsa.len (2) = currentsize (video_static); 116 cdsa.struct_name (2) = "video_static"; 117 cdsa.seg_name = ME; 118 cdsa.num_exclude_names = 1; 119 cdsa.exclude_array_ptr = addr (pad_name); 120 121 call create_data_segment_ (addr (cdsa), code); 122 if code ^= 0 123 then call com_err_ (code, ME); 124 return; 125 give_up: 126 end video_data_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/13/87 1324.2 !BBBJWhxfMQDCkp.pl1 >special_ldd>install>MR12.1-1086>video_data_.cds 36 1 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. ME 000000 constant char(32) initial unaligned dcl 79 set ref 90* 117 122* addr builtin function dcl 82 ref 94 94 96 96 98 98 99 99 111 114 119 121 121 all_name 000020 constant char(32) initial array dcl 75 set ref 96 96 96 96 alrm_only_mask 13 000154 automatic bit(36) level 2 dcl 47 set ref 99* alrm_only_name 000060 constant char(32) initial array dcl 70 set ref 99 99 99 99 as_only_mask 14 000154 automatic bit(36) level 2 dcl 47 set ref 98* as_only_name 000030 constant char(32) initial array dcl 72 set ref 98 98 98 98 cds_args based structure level 1 dcl 1-3 cdsa 000100 automatic structure level 1 dcl 37 set ref 121 121 code 000145 automatic fixed bin(35,0) dcl 44 set ref 121* 122 122* com_err_ 000016 constant entry external dcl 42 ref 90 122 create_data_segment_ 000014 constant entry external dcl 41 ref 121 create_ips_mask_ 000012 constant entry external dcl 40 ref 94 96 98 99 create_ips_mask_err 000146 stack reference condition dcl 45 ref 88 currentsize builtin function dcl 82 ref 112 115 error_name 15 000154 automatic char(32) level 2 dcl 47 set ref 100* exclude_array_ptr 42 000100 automatic pointer level 2 dcl 37 set ref 119* exl_initialized 2 000206 automatic bit(1) level 2 packed unaligned dcl 60 set ref 106* exl_video_system 30 000154 automatic bit(1) level 2 packed unaligned dcl 47 set ref 104* have_static 44(03) 000100 automatic bit(1) level 3 packed unaligned dcl 37 set ref 109* have_text 44(02) 000100 automatic bit(1) level 3 packed unaligned dcl 37 set ref 109* hbound builtin function dcl 82 ref 94 94 96 96 98 98 99 99 len 2 000100 automatic fixed bin(18,0) array level 3 dcl 37 set ref 112* 115* null builtin function dcl 82 ref 105 num_exclude_names 40 000100 automatic fixed bin(17,0) level 2 dcl 37 set ref 118* only_quit_mask 12 000154 automatic bit(36) level 2 dcl 47 set ref 94* 95* 95 open_mask 11 000154 automatic bit(36) level 2 dcl 47 set ref 97* p 000100 automatic pointer array level 3 dcl 37 set ref 111* 114* pad_name 000010 constant char(32) initial array unaligned dcl 77 set ref 119 quit_name 000070 constant char(32) initial array dcl 67 set ref 94 94 94 94 sections 000100 automatic structure array level 2 dcl 37 seg_name 30 000100 automatic char(32) level 2 dcl 37 set ref 117* separate_static 44(01) 000100 automatic bit(1) level 3 packed unaligned dcl 37 set ref 109* shut_mask 10 000154 automatic bit(36) level 2 dcl 47 set ref 96* 97 string builtin function dcl 82 set ref 108* struct_name 3 000100 automatic char(32) array level 3 dcl 37 set ref 113* 116* switches 44 000100 automatic structure level 2 dcl 37 set ref 108* terminal_iocb 000206 automatic pointer level 2 dcl 60 set ref 105* terminal_switch 000154 automatic char(32) level 2 dcl 47 set ref 102* unspec builtin function dcl 82 set ref 85* 86* version 25 000154 automatic char(12) level 2 dcl 47 set ref 103* video_static 000206 automatic structure level 1 dcl 60 set ref 86* 114 115 video_text 000154 automatic structure level 1 dcl 47 set ref 85* 111 112 NAME DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. exclude_names based char(32) array unaligned dcl 1-18 NAMES DECLARED BY EXPLICIT CONTEXT. give_up 000464 constant label dcl 125 ref 91 video_data_ 000176 constant entry external dcl 33 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 562 602 466 572 Length 2176 466 20 1357 73 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME video_data_ 158 external procedure is an external procedure. on unit on line 88 88 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME video_data_ 000100 cdsa video_data_ 000145 code video_data_ 000154 video_text video_data_ 000206 video_static video_data_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac tra_ext_1 enable_op ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ create_data_segment_ create_ips_mask_ NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 33 000175 85 000203 86 000206 88 000211 90 000225 91 000251 94 000254 95 000273 96 000276 97 000315 98 000320 99 000337 100 000356 102 000361 103 000364 104 000367 105 000371 106 000373 108 000375 109 000376 111 000404 112 000406 113 000410 114 000413 115 000415 116 000417 117 000422 118 000425 119 000427 121 000431 122 000444 124 000463 125 000464 Object Segment >special_ldd>install>MR12.1-1086>video_data_ Created on 08/13/87 1331.7 mst Thu by GJohnson.SysMaint.a using create_data_segment_, Version II of Thursday, November 20, 1986 with separate static Object Text Defs Link Symb Static Start 0 0 32 200 210 174 Length 371 32 142 10 145 4 15 Definitions: segname: video_data_ text|13 alrm_only_mask text|14 as_only_mask text|15 error_name stat|2 exl_initialized text|30 exl_video_system stat|111 mbz text|1541 mbz text|12 only_quit_mask text|11 open_mask text|10 shut_mask symb|0 symbol_table stat|0 terminal_iocb text|0 terminal_switch text|25 version 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