COMPILATION LISTING OF SEGMENT linus_stifle_mrds_sub_error Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 07/29/86 0951.3 mst Tue Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1986 * 4* * * 5* *********************************************************** */ 6 /* 7* This is the procedure called by linus active requests to stifle 8* the sub_error_ action of mrds, for certain error codes. An example of 9* when this would be used would be for requests like "[open foobar u]". 10* If the database can't be opened because of mrds_error_$db_busy, the 11* request would like to return the value "false" without mrds printing 12* all of the sub_error_ garbage on the terminal. If the database couldn't 13* be opened for other reasons (trouble switch set, doesn't exist, etc.), 14* the garbage will be printed on the terminal and ssu_$abort_line will 15* eventually get called. 16**/ 17 /****^ HISTORY COMMENTS: 18* 1) change(86-01-07,Dupuis), approve(86-05-23,MCR7404), audit(86-07-23,GWMay), 19* install(86-07-29,MR12.0-1106): 20* Initially written. 21* END HISTORY COMMENTS */ 22 /* format: off */ 23 24 linus_stifle_mrds_sub_error: proc ( 25 26 error_codes_parm /* input: an array of codes to look for */ 27 ); 28 29 dcl error_codes_parm (*) fixed bin (35); 30 31 condition_info_ptr = addr (local_condition_info); 32 condition_info.version = condition_info_version_1; 33 call find_condition_info_ (null (), condition_info_ptr, (0)); 34 35 sub_error_info_ptr = condition_info.info_ptr; 36 if substr (sub_error_info.name, 1, 9) ^= "mrds_dsl_" 37 & substr (sub_error_info.name, 1, 3) ^= "mu_" 38 & substr (sub_error_info.name, 1, 4) ^= "mus_" 39 then call continue_to_signal_ ((0)); 40 else do loop = 1 to hbound (error_codes_parm, 1); 41 if sub_error_info.header.status_code = error_codes_parm (loop) 42 then return; 43 end; 44 call continue_to_signal_ ((0)); 45 46 return; 47 48 dcl addr builtin; 49 dcl continue_to_signal_ entry (fixed bin(35)); 50 dcl find_condition_info_ entry (ptr, ptr, fixed bin(35)); 51 dcl hbound builtin; 52 dcl 1 local_condition_info like condition_info; 53 dcl loop fixed bin; 54 dcl null builtin; 55 dcl substr builtin; 56 1 1 /* BEGIN INCLUDE FILE ... condition_info.incl.pl1 */ 1 2 1 3 /* Structure for find_condition_info_. 1 4* 1 5* Written 1-Mar-79 by M. N. Davidoff. 1 6**/ 1 7 1 8 /* automatic */ 1 9 1 10 declare condition_info_ptr pointer; 1 11 1 12 /* based */ 1 13 1 14 declare 1 condition_info aligned based (condition_info_ptr), 1 15 2 mc_ptr pointer, /* pointer to machine conditions at fault time */ 1 16 2 version fixed binary, /* Must be 1 */ 1 17 2 condition_name char (32) varying, /* name of condition */ 1 18 2 info_ptr pointer, /* pointer to the condition data structure */ 1 19 2 wc_ptr pointer, /* pointer to wall crossing machine conditions */ 1 20 2 loc_ptr pointer, /* pointer to location where condition occured */ 1 21 2 flags unaligned, 1 22 3 crawlout bit (1), /* on if condition occured in lower ring */ 1 23 3 pad1 bit (35), 1 24 2 pad2 bit (36), 1 25 2 user_loc_ptr pointer, /* ptr to most recent nonsupport loc before condition occurred */ 1 26 2 pad3 (4) bit (36); 1 27 1 28 /* internal static */ 1 29 1 30 declare condition_info_version_1 1 31 fixed binary internal static options (constant) initial (1); 1 32 1 33 /* END INCLUDE FILE ... condition_info.incl.pl1 */ 57 58 2 1 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 2 2 /* format: style2 */ 2 3 2 4 declare condition_info_header_ptr 2 5 pointer; 2 6 declare 1 condition_info_header 2 7 aligned based (condition_info_header_ptr), 2 8 2 length fixed bin, /* length in words of this structure */ 2 9 2 version fixed bin, /* version number of this structure */ 2 10 2 action_flags aligned, /* tell handler how to proceed */ 2 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 2 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 2 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 2 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 2 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 2 16 3 pad bit (32) unaligned, 2 17 2 info_string char (256) varying, /* may contain printable message */ 2 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 2 19 2 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 59 60 3 1 /* BEGIN INCLUDE FILE sub_error_info.incl.pl1 */ 3 2 /* format: style2 */ 3 3 3 4 /* The include file condition_info_header must be used with this file */ 3 5 3 6 declare sub_error_info_ptr pointer; 3 7 declare 1 sub_error_info aligned based (sub_error_info_ptr), 3 8 2 header aligned like condition_info_header, 3 9 2 retval fixed bin (35), /* return value */ 3 10 2 name char (32), /* module name */ 3 11 2 info_ptr ptr; 3 12 3 13 declare sub_error_info_version_1 3 14 internal static options (constant) fixed bin init (1); 3 15 3 16 /* END INCLUDE FILE sub_error_info.incl.pl1 */ 61 62 63 end linus_stifle_mrds_sub_error; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/29/86 0938.6 linus_stifle_mrds_sub_error.pl1 >special_ldd>install>MR12.0-1106>linus_stifle_mrds_sub_error.pl1 57 1 06/28/79 1204.8 condition_info.incl.pl1 >ldd>include>condition_info.incl.pl1 59 2 03/24/82 1347.2 condition_info_header.incl.pl1 >ldd>include>condition_info_header.incl.pl1 61 3 07/18/81 1100.0 sub_error_info.incl.pl1 >ldd>include>sub_error_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. addr builtin function dcl 48 ref 31 condition_info based structure level 1 dcl 1-14 condition_info_header based structure level 1 dcl 2-6 condition_info_ptr 000134 automatic pointer dcl 1-10 set ref 31* 32 33* 35 condition_info_version_1 constant fixed bin(17,0) initial dcl 1-30 ref 32 continue_to_signal_ 000010 constant entry external dcl 49 ref 36 44 error_codes_parm parameter fixed bin(35,0) array dcl 29 ref 24 40 41 find_condition_info_ 000012 constant entry external dcl 50 ref 33 hbound builtin function dcl 51 ref 40 header based structure level 2 dcl 3-7 info_ptr 14 based pointer level 2 dcl 1-14 ref 35 local_condition_info 000100 automatic structure level 1 unaligned dcl 52 set ref 31 loop 000132 automatic fixed bin(17,0) dcl 53 set ref 40* 41* name 106 based char(32) level 2 dcl 3-7 ref 36 36 36 null builtin function dcl 54 ref 33 33 status_code 104 based fixed bin(35,0) level 3 dcl 3-7 ref 41 sub_error_info based structure level 1 dcl 3-7 sub_error_info_ptr 000136 automatic pointer dcl 3-6 set ref 35* 36 36 36 41 substr builtin function dcl 55 ref 36 36 36 version 2 based fixed bin(17,0) level 2 dcl 1-14 set ref 32* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. condition_info_header_ptr automatic pointer dcl 2-4 sub_error_info_version_1 internal static fixed bin(17,0) initial dcl 3-13 NAME DECLARED BY EXPLICIT CONTEXT. linus_stifle_mrds_sub_error 000016 constant entry external dcl 24 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 210 224 136 220 Length 454 136 14 213 51 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME linus_stifle_mrds_sub_error 108 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME linus_stifle_mrds_sub_error 000100 local_condition_info linus_stifle_mrds_sub_error 000132 loop linus_stifle_mrds_sub_error 000134 condition_info_ptr linus_stifle_mrds_sub_error 000136 sub_error_info_ptr linus_stifle_mrds_sub_error THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. continue_to_signal_ find_condition_info_ NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 24 000013 31 000023 32 000025 33 000027 35 000044 36 000047 40 000073 41 000105 43 000123 44 000125 46 000135 ----------------------------------------------------------- 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