COMPILATION LISTING OF SEGMENT bce_check_abort Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 11/11/89 1015.9 mst Sat Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 6* * * 7* *********************************************************** */ 8 9 /* format: style4,indattr,ifthenstmt,ifthen,idind33,^indcomtxt */ 10 11 bce_check_abort: proc; 12 13 /* Check to see if the operator wants us to abort (unsolicited request key). 14*If so, ask operator (at console) to what extent he wants to abort. 15*Keith Loepere, November 1983. */ 16 17 18 /****^ HISTORY COMMENTS: 19* 1) change(86-04-22,Farley), approve(86-07-18,MCR7439), 20* audit(86-08-18,Fawcett), install(86-10-20,MR12.0-1189): 21* Added check of ss_info.flags.request_handling_opr_aborts to see if 22* handling required. 23* END HISTORY COMMENTS */ 24 25 26 dcl Abort char (7) static options (constant) init ("Abort? "); 27 dcl Unknown_response char (18) static options (constant) init ("Unknown response. 28 "); 29 dcl bce_data$console_get_line entry (ptr, ptr, fixed bin, fixed bin, fixed bin (35)) variable ext; 30 dcl bce_data$console_put_chars entry (ptr, ptr, fixed bin, fixed bin (35)) variable ext; 31 dcl bce_data$subsys_info_ptr ptr external; 32 dcl buffer char (16); 33 dcl buffer_read char (n_read) based (addr (buffer)); 34 dcl n_read fixed bin; 35 dcl (addr, length) builtin; 36 dcl request_abort_ condition; 37 dcl sub_request_abort_ condition; 38 dcl sys_boot_info$at_bce_cl bit (1) aligned external; 39 dcl wired_hardcore_data$abort_request bit (1) aligned external; 40 41 if ^wired_hardcore_data$abort_request then return; 42 if ^sys_boot_info$at_bce_cl then return; 43 if bce_data$subsys_info_ptr -> ss_info.flags.request_handling_opr_aborts then return; 44 query: wired_hardcore_data$abort_request = "0"b; 45 call bce_data$console_put_chars (addr (bce_data$console_put_chars), addr (Abort), length (Abort), (0)); 46 call bce_data$console_get_line (addr (bce_data$console_get_line), addr (buffer), length (buffer), n_read, (0)); 47 n_read = n_read - 1; /* no nl */ 48 if buffer_read = "n" | buffer_read = "no" then return; /* false alarm */ 49 else if buffer_read = "y" | buffer_read = "yes" then signal sub_request_abort_; 50 else if buffer_read = "request" | buffer_read = "req" | buffer_read = "r" then signal sub_request_abort_; 51 else if buffer_read = "command" | buffer_read = "com" | buffer_read = "c" then signal request_abort_; 52 else if buffer_read = "all" | buffer_read = "a" then go to bce_data$subsys_info_ptr -> ss_info.abort_label; 53 else do; 54 call bce_data$console_put_chars (addr (bce_data$console_put_chars), addr (Unknown_response), length (Unknown_response), (0)); 55 go to query; 56 end; 57 /* Begin include file bce_subsystem_info_.incl.pl1 BIM 11/82 */ 1 2 1 3 /* format: style3 */ 1 4 1 5 /* Deleted unused items, Keith Loepere, 5/84 */ 1 6 1 7 1 8 /****^ HISTORY COMMENTS: 1 9* 1) change(86-04-22,Farley), approve(86-07-18,MCR7439), 1 10* audit(86-10-08,Fawcett), install(86-10-20,MR12.0-1189): 1 11* Added request_handling_opr_aborts flag for save/restore. 1 12* END HISTORY COMMENTS */ 1 13 1 14 declare ss_info_ptr pointer; 1 15 declare 1 ss_info aligned based (ss_info_ptr), 1 16 2 request_table_ptr 1 17 pointer, 1 18 2 abort_label label, 1 19 2 name char (32) unaligned, 1 20 2 arg_list_ptr pointer, 1 21 2 info_ptr pointer, 1 22 2 flags aligned, 1 23 3 forbid_semicolons bit (1) unaligned, 1 24 3 request_handling_opr_aborts bit (1) unaligned; 1 25 1 26 /* End include file bce_subsystem_info_ */ 57 58 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0839.0 bce_check_abort.pl1 >special_ldd>install>MR12.3-1114>bce_check_abort.pl1 57 1 10/21/86 1251.6 bce_subsystem_info_.incl.pl1 >ldd>include>bce_subsystem_info_.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. Abort 000006 constant char(7) initial packed unaligned dcl 26 set ref 45 45 45 45 Unknown_response 000000 constant char(18) initial packed unaligned dcl 27 set ref 54 54 54 54 abort_label 2 based label variable level 2 dcl 1-15 ref 52 addr builtin function dcl 35 ref 45 45 45 45 46 46 46 46 48 48 49 49 50 50 50 51 51 51 52 52 54 54 54 54 bce_data$console_get_line 000010 external static entry variable dcl 29 set ref 46 46 46 bce_data$console_put_chars 000012 external static entry variable dcl 30 set ref 45 45 45 54 54 54 bce_data$subsys_info_ptr 000014 external static pointer dcl 31 ref 43 52 buffer 000100 automatic char(16) packed unaligned dcl 32 set ref 46 46 46 46 48 48 49 49 50 50 50 51 51 51 52 52 buffer_read based char packed unaligned dcl 33 ref 48 48 49 49 50 50 50 51 51 51 52 52 flags 22 based structure level 2 dcl 1-15 length builtin function dcl 35 ref 45 45 46 46 54 54 n_read 000104 automatic fixed bin(17,0) dcl 34 set ref 46* 47* 47 48 48 49 49 50 50 50 51 51 51 52 52 request_abort_ 000106 stack reference condition dcl 36 ref 51 request_handling_opr_aborts 22(01) based bit(1) level 3 packed packed unaligned dcl 1-15 ref 43 ss_info based structure level 1 dcl 1-15 sub_request_abort_ 000114 stack reference condition dcl 37 ref 49 50 sys_boot_info$at_bce_cl 000016 external static bit(1) dcl 38 ref 42 wired_hardcore_data$abort_request 000020 external static bit(1) dcl 39 set ref 41 44* NAME DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ss_info_ptr automatic pointer dcl 1-14 NAMES DECLARED BY EXPLICIT CONTEXT. bce_check_abort 000032 constant entry external dcl 11 query 000050 constant label dcl 44 ref 55 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 370 412 263 400 Length 610 263 22 161 105 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME bce_check_abort 114 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME bce_check_abort 000100 buffer bce_check_abort 000104 n_read bce_check_abort THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ent_var return_mac tra_ext_2 signal_op ext_entry NO EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. bce_data$console_get_line bce_data$console_put_chars bce_data$subsys_info_ptr sys_boot_info$at_bce_cl wired_hardcore_data$abort_request LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000031 41 000037 42 000041 43 000043 44 000050 45 000052 46 000075 47 000123 48 000125 49 000136 50 000152 51 000172 52 000212 54 000227 55 000253 58 000254 ----------------------------------------------------------- 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