COMPILATION LISTING OF SEGMENT gcos_fms_error_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-17_1946.14_Mon_mdt 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 /* ******************************************************************************************* 12* ******************************************************************************************* 13* * 14* * 15* * Written by M. R. Jordan, October 1977 16* * 17* ******************************************************************************************* 18* ******************************************************************************************* */ 19 20 21 22 23 gcos_fms_error_: procedure (fms_ecode, buf_ptr, fms_code); 24 25 dcl addr builtin; 26 dcl bit36 bit (36) aligned based; 27 dcl buf_ptr ptr; 28 dcl code fixed bin(35); 29 dcl convert_status_code_ entry (fixed bin(35), char (8), char (100)); 30 dcl cv_dec_check_ entry (char (*), fixed bin(35)) returns (fixed bin(35)); 31 dcl fms_buf_ptr ptr; 32 dcl fms_code bit (72) aligned; 33 dcl fms_ecode fixed bin(35); 34 dcl gcos_cv_ascii_gebcd_ entry (ptr, fixed bin(24), ptr, fixed bin(24)); 35 dcl gcos_mme_bort_$system entry options (variable); 36 dcl i fixed bin(24); 37 dcl long_message char (100); 38 dcl reason_code fixed bin(35); 39 dcl rel builtin; 40 dcl short_message char (8); 41 dcl substr builtin; 42 43 dcl 1 fms_buf aligned based (fms_buf_ptr), 44 2 pad1 (30) bit (36), 45 2 dcw, 46 3 data_loc bit (18) unal, 47 3 op bit (6) unal, 48 3 tally bit (12) unal, 49 2 pad2 (3) bit (36), 50 2 message bit (30*6) unal; 51 52 /* 53* 54* Initialize needed data items. 55* 56**/ 57 58 59 fms_buf_ptr = buf_ptr; 60 fms_return_code_ptr = addr (fms_code); 61 62 63 /* 64* 65* Get the messages associated with the specified fms_ecode value. 66* If the message is not an FMS error message then abort. If it is then prepare to 67* process the message. 68* 69**/ 70 71 72 call convert_status_code_ (fms_ecode, short_message, long_message); 73 if substr (short_message, 1, 3) ^= "FMS" then 74 call gcos_mme_bort_$system (fms_ecode, "Bad FMS error code - contact support personnel"); 75 else do; 76 reason_code = cv_dec_check_ (substr (short_message, 4, 5), code); 77 if code ^= 0 then reason_code = 2047; 78 end; 79 80 81 /* 82* 83* Now that we have verified the message, put all the data where the user 84* can get to it from his GCOS slave job. 85* 86**/ 87 88 89 fms_return_code.reason = substr (addr (reason_code) -> bit36, 26, 11); 90 fms_buf.dcw.data_loc = rel (addr (fms_buf.message)); 91 fms_buf.dcw.tally = "0005"b3; 92 call gcos_cv_ascii_gebcd_ (addr (long_message), 30, addr (fms_buf.message), i); 93 fms_return_code.err_mess_dcw.data_loc = fms_buf.dcw.data_loc; 94 fms_return_code.err_mess_dcw.tally = fms_buf.dcw.tally; 95 96 return; 97 1 1 /* BEGIN INCLUDE FILE gcos_fms_return_code_.incl.pl1 April 1977 MRJ */ 1 2 1 3 1 4 dcl fms_return_code_ptr ptr; 1 5 1 6 dcl 1 fms_return_code aligned based (fms_return_code_ptr), 1 7 2 termination_indicator bit (1) unal, 1 8 2 reason bit (11) unal, 1 9 2 fill bit (6) unal, 1 10 2 bad_name_loc bit (18) unal, 1 11 2 err_mess_dcw unal, 1 12 3 data_loc bit (18), 1 13 3 character_position bit (3), 1 14 3 character_tally bit (1), 1 15 3 dcw_type bit (2), 1 16 3 tally bit (12); 1 17 1 18 1 19 /* END INCULDE FILE gcos_fms_return_code_.incl.pl1 */ 98 99 100 101 end gcos_fms_error_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/17/00 1946.1 gcos_fms_error_.pl1 >udd>sm>ds>w>ml>gcos_fms_error_.pl1 98 1 03/27/82 0539.3 gcos_fms_return_code_.incl.pl1 >ldd>incl>gcos_fms_return_code_.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 25 ref 60 89 90 92 92 92 92 bit36 based bit(36) dcl 26 ref 89 buf_ptr parameter pointer dcl 27 ref 23 59 code 000100 automatic fixed bin(35,0) dcl 28 set ref 76* 77 convert_status_code_ 000010 constant entry external dcl 29 ref 72 cv_dec_check_ 000012 constant entry external dcl 30 ref 76 data_loc 36 based bit(18) level 3 in structure "fms_buf" packed packed unaligned dcl 43 in procedure "gcos_fms_error_" set ref 90* 93 data_loc 1 based bit(18) level 3 in structure "fms_return_code" packed packed unaligned dcl 1-6 in procedure "gcos_fms_error_" set ref 93* dcw 36 based structure level 2 dcl 43 err_mess_dcw 1 based structure level 2 packed packed unaligned dcl 1-6 fms_buf based structure level 1 dcl 43 fms_buf_ptr 000102 automatic pointer dcl 31 set ref 59* 90 90 91 92 92 93 94 fms_code parameter bit(72) dcl 32 set ref 23 60 fms_ecode parameter fixed bin(35,0) dcl 33 set ref 23 72* 73* fms_return_code based structure level 1 dcl 1-6 fms_return_code_ptr 000142 automatic pointer dcl 1-4 set ref 60* 89 93 94 gcos_cv_ascii_gebcd_ 000014 constant entry external dcl 34 ref 92 gcos_mme_bort_$system 000016 constant entry external dcl 35 ref 73 i 000104 automatic fixed bin(24,0) dcl 36 set ref 92* long_message 000105 automatic char(100) packed unaligned dcl 37 set ref 72* 92 92 message 42 based bit(180) level 2 packed packed unaligned dcl 43 set ref 90 92 92 reason 0(01) based bit(11) level 2 packed packed unaligned dcl 1-6 set ref 89* reason_code 000136 automatic fixed bin(35,0) dcl 38 set ref 76* 77* 89 rel builtin function dcl 39 ref 90 short_message 000140 automatic char(8) packed unaligned dcl 40 set ref 72* 73 76 76 substr builtin function dcl 41 ref 73 76 76 89 tally 36(24) based bit(12) level 3 in structure "fms_buf" packed packed unaligned dcl 43 in procedure "gcos_fms_error_" set ref 91* 94 tally 1(24) based bit(12) level 3 in structure "fms_return_code" packed packed unaligned dcl 1-6 in procedure "gcos_fms_error_" set ref 94* NAME DECLARED BY EXPLICIT CONTEXT. gcos_fms_error_ 000026 constant entry external dcl 23 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 266 306 177 276 Length 474 177 20 151 67 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gcos_fms_error_ 152 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gcos_fms_error_ 000100 code gcos_fms_error_ 000102 fms_buf_ptr gcos_fms_error_ 000104 i gcos_fms_error_ 000105 long_message gcos_fms_error_ 000136 reason_code gcos_fms_error_ 000140 short_message gcos_fms_error_ 000142 fms_return_code_ptr gcos_fms_error_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. convert_status_code_ cv_dec_check_ gcos_cv_ascii_gebcd_ gcos_mme_bort_$system NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 23 000022 59 000033 60 000037 72 000041 73 000053 76 000101 77 000124 89 000130 90 000135 91 000142 92 000144 93 000170 94 000174 96 000176 ----------------------------------------------------------- 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