COMPILATION LISTING OF SEGMENT iodc_message_ Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/15/82 1655.9 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 iodc_message_: proc (a_severity, err_code, message); 12 13 /* Procedure for writing error and other messages for the I/O coordinator, both 14* * on the log and to "users" (i.e. on error_output and user_output). 15**/ 16 17 /* Coded August 1973 by Robert S. Coren */ 18 /* Modified by J. Stern, 2/10/75 to combine with iod_set_streams_ */ 19 /* Modified by J. Stern, 12/4/75 to eliminate log output except through mrd_ */ 20 21 dcl a_severity bit (3) aligned; /* bit 0 = log, bit 1 = user_output, bit 2 = error_output */ 22 dcl err_code fixed bin (35); 23 dcl message char (*); 24 25 dcl severity bit (3) aligned; 26 dcl short char (8) aligned; 27 dcl long char (100) aligned; 28 dcl out_msg char (300) aligned; 29 dcl out_len fixed bin; 30 dcl time_string char (16) aligned; 31 dcl bells char (10) int static init ((10)""); /* BEL (007) chars */ 32 dcl stars char (30) int static init ((30)"*"); 33 34 dcl bell_out char (10); 35 dcl (star1, star2) char (31); 36 dcl nl char (1) int static init (" 37 "); /* new-line char. */ 38 39 40 dcl clock_ entry returns (fixed bin (71)); 41 dcl date_time_ entry (fixed bin (71), char (*) aligned); 42 dcl convert_status_code_ entry (fixed bin (35), char (8) aligned, char (100) aligned); 43 dcl ioa_ entry options (variable); 44 dcl ioa_$ioa_stream entry options (variable); 45 dcl ioa_$rsnnl entry options (variable); 46 47 dcl substr builtin; 48 49 50 51 star1, star2, bell_out = ""; 52 join: 53 if err_code ^= 0 then do; 54 call convert_status_code_ (err_code, short, long); 55 call ioa_$rsnnl ("^a^/^a", out_msg, out_len, long, message); 56 end; 57 58 else out_msg = message; 59 60 61 severity = a_severity; 62 if no_log then /* don't write on log_output */ 63 if substr (severity, 1, 1) then do; 64 substr (severity, 1, 1) = "0"b; 65 if substr (severity, 2, 2) then; /* message was not for log_output only */ 66 else substr (severity, 2, 1) = "1"b; /* write it on user_output */ 67 end; 68 69 if substr (severity, 1, 1) 70 then call ioa_$ioa_stream ("log_output", "^a^a^a", star1, out_msg, star2); 71 72 if substr (severity, 2, 1) then call ioa_ ("^a^a^a^a", bell_out, star1, out_msg, star2); 73 74 if substr (severity, 3, 1) then call ioa_$ioa_stream ("error_output", "^a^a^a^a", bell_out, star1, out_msg, star2); 75 76 return; 77 78 79 80 loud: entry (a_severity, err_code, message); 81 82 star1 = stars || nl; 83 star2 = nl || stars; 84 bell_out = bells; 85 go to join; 86 87 88 89 init: entry; 90 91 /* This entry, formerly called iod_set_streams_, makes sure that 92* * appropriate stream attachments are made through the message coordinator 93* * if it is being used. 94**/ 95 96 dcl get_at_entry_ entry (char (*), char (*) aligned, char (*) aligned, 97 char (*), fixed bin (35)); 98 dcl ios_$attach entry (char (*), char (*), char (*) aligned, char (*), bit (72) aligned); 99 100 dcl code fixed bin (35); 101 dcl dev_id char (32) aligned; 102 dcl dim_name char (32) aligned; 103 dcl ig char (4); 104 dcl stat bit (72) aligned; 105 dcl no_log bit (1) int static; /* ON if not using log_output */ 106 107 call get_at_entry_ ("user_i/o", dim_name, dev_id, ig, code); 108 if dim_name = "mrd_" 109 then do; 110 111 call ios_$attach ("error_i/o", "mrd_", dev_id, "", stat); 112 call ios_$attach ("log_i/o", "mrd_", dev_id, "", stat); 113 call ios_$attach ("error_output", "syn", "error_i/o", "w", stat); 114 call ios_$attach ("log_output", "syn", "log_i/o", "w", stat); 115 no_log = "0"b; 116 end; 117 118 else no_log = "1"b; 119 120 return; 121 122 123 end iodc_message_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/15/82 1507.1 iodc_message_.pl1 >dumps>old>recomp>iodc_message_.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_severity parameter bit(3) dcl 21 ref 11 61 80 bell_out 000251 automatic char(10) unaligned dcl 34 set ref 51* 72* 74* 84* bells constant char(10) initial unaligned dcl 31 ref 84 code 000274 automatic fixed bin(35,0) dcl 100 set ref 107* convert_status_code_ 000012 constant entry external dcl 42 ref 54 dev_id 000275 automatic char(32) dcl 101 set ref 107* 111* 112* dim_name 000305 automatic char(32) dcl 102 set ref 107* 108 err_code parameter fixed bin(35,0) dcl 22 set ref 11 52 54* 80 get_at_entry_ 000022 constant entry external dcl 96 ref 107 ig 000315 automatic char(4) unaligned dcl 103 set ref 107* ioa_ 000014 constant entry external dcl 43 ref 72 ioa_$ioa_stream 000016 constant entry external dcl 44 ref 69 74 ioa_$rsnnl 000020 constant entry external dcl 45 ref 55 ios_$attach 000024 constant entry external dcl 98 ref 111 112 113 114 long 000104 automatic char(100) dcl 27 set ref 54* 55* message parameter char unaligned dcl 23 set ref 11 55* 58 80 nl 000670 constant char(1) initial unaligned dcl 36 ref 82 83 no_log 000010 internal static bit(1) unaligned dcl 105 set ref 62 115* 118* out_len 000250 automatic fixed bin(17,0) dcl 29 set ref 55* out_msg 000135 automatic char(300) dcl 28 set ref 55* 58* 69* 72* 74* severity 000100 automatic bit(3) dcl 25 set ref 61* 62 64* 65 66* 69 72 74 short 000102 automatic char(8) dcl 26 set ref 54* star1 000254 automatic char(31) unaligned dcl 35 set ref 51* 69* 72* 74* 82* star2 000264 automatic char(31) unaligned dcl 35 set ref 51* 69* 72* 74* 83* stars 000671 constant char(30) initial unaligned dcl 32 ref 82 83 stat 000316 automatic bit(72) dcl 104 set ref 111* 112* 113* 114* substr builtin function dcl 47 set ref 62 64* 65 66* 69 72 74 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. clock_ 000000 constant entry external dcl 40 date_time_ 000000 constant entry external dcl 41 time_string automatic char(16) dcl 30 NAMES DECLARED BY EXPLICIT CONTEXT. init 000410 constant entry external dcl 89 iodc_message_ 000057 constant entry external dcl 11 join 000103 constant label dcl 52 ref 85 loud 000354 constant entry external dcl 80 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1010 1036 701 1020 Length 1216 701 26 144 106 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME iodc_message_ 269 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 no_log iodc_message_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME iodc_message_ 000100 severity iodc_message_ 000102 short iodc_message_ 000104 long iodc_message_ 000135 out_msg iodc_message_ 000250 out_len iodc_message_ 000251 bell_out iodc_message_ 000254 star1 iodc_message_ 000264 star2 iodc_message_ 000274 code iodc_message_ 000275 dev_id iodc_message_ 000305 dim_name iodc_message_ 000315 ig iodc_message_ 000316 stat iodc_message_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. convert_status_code_ get_at_entry_ ioa_ ioa_$ioa_stream ioa_$rsnnl ios_$attach NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000053 51 000072 52 000103 54 000106 55 000121 56 000156 58 000157 61 000164 62 000170 64 000176 65 000200 66 000204 69 000206 72 000246 74 000303 76 000351 80 000352 82 000367 83 000375 84 000403 85 000406 89 000407 107 000415 108 000447 111 000453 112 000512 113 000547 114 000615 115 000660 116 000662 118 000663 120 000666 ----------------------------------------------------------- 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