COMPILATION LISTING OF SEGMENT fdump_fnp_ Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/05/82 1447.2 mst Fri 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 fdump_fnp_: 12 proc (a_fnp_no, a_fnp_type, a_fnp_mem_size, entry_name, code); 13 14 /* This subroutine is called to create an fdump of an FNP that has crashed. 15* * It creates a segment in >dumps whose name is derived from the FNP tag 16* * and the date and time, and calls hphcs_$fdump_fnp to read all of FNP core 17* * into that segment. 18* * 19* * 20* * Written in summer 1976 by Robert Coren 21* * Modified 4/6/77 by Robert Coren to use privileged_make_seg_ 22* * Modified 79 May 14 by Art Beattie to pass FNP type and memory size to hphcs_$fdump_fnp. 23**/ 24 25 26 /* PARAMETERS */ 27 28 dcl a_fnp_no fixed bin; /* FNP number (input) */ 29 dcl a_fnp_mem_size fixed bin; /* FNP memory size in 1024 18-bit words (INPUT) */ 30 dcl a_fnp_type fixed bin; /* FNP type (INPUT) */ 31 dcl entry_name char (*); /* entry name of created seg (OUTPUT) */ 32 dcl code fixed bin (35); /* status code (OUTPUT) */ 33 34 35 /* ENTRIES */ 36 37 dcl privileged_make_seg_ entry (char (*), char (*), char (*), fixed bin (5), ptr, fixed bin (35)); 38 dcl system_privilege_$seg_priv_on entry (fixed bin (35)); 39 dcl system_privilege_$seg_priv_off entry (fixed bin (35)); 40 dcl hphcs_$fdump_fnp entry (fixed bin, fixed bin, fixed bin, ptr, fixed bin (35)); 41 dcl date_time_ entry (fixed bin (71), char (*)); 42 dcl ioa_$rsnnl entry options (variable); 43 dcl hcs_$set_bc_seg entry (ptr, fixed bin (24), fixed bin (35)); 44 dcl hcs_$terminate_noname entry (ptr, fixed bin (35)); 45 dcl get_fnp_name_ entry (fixed bin) returns (char (32)); 46 47 /* AUTOMATIC */ 48 49 dcl date_string char (24); 50 dcl fnp_no fixed bin; 51 dcl fnp_mem_size fixed bin; 52 dcl fnp_type fixed bin; 53 dcl seg_ptr ptr; 54 dcl x fixed bin; /* for length from ioa_$rsnnl, ignored */ 55 dcl priv_code fixed bin (35); 56 dcl ignore fixed bin (35); 57 58 59 /* INTERNAL STATIC */ 60 61 dcl DUMP_DIR char (6) int static options (constant) init (">dumps"); 62 63 64 /* BUILTIN */ 65 66 dcl (clock, null, rtrim, substr) builtin; 67 68 69 dcl cleanup condition; 70 71 72 fnp_no = a_fnp_no; 73 fnp_mem_size = a_fnp_mem_size; 74 fnp_type = a_fnp_type; 75 call date_time_ (clock (), date_string); 76 77 /* make entry name of the form fnp.T.MMDDYY.HHMM */ 78 79 call ioa_$rsnnl ("fnp.^a.^a^a^a.^a", entry_name, x, rtrim (get_fnp_name_ (fnp_no)), substr (date_string, 1, 2), 80 substr (date_string, 4, 2), substr (date_string, 7, 2), substr (date_string, 11, 4)); 81 82 call privileged_make_seg_ (DUMP_DIR, entry_name, "", 01010b, seg_ptr, code); 83 if seg_ptr = null then return; /* code tells why */ 84 85 call hphcs_$fdump_fnp (fnp_no, fnp_type, fnp_mem_size, seg_ptr, code); 86 if code ^= 0 then return; 87 88 priv_code = -1; 89 on cleanup 90 begin; 91 if priv_code = 0 then call system_privilege_$seg_priv_off (ignore); 92 end; 93 94 call system_privilege_$seg_priv_on (priv_code); 95 call hcs_$set_bc_seg (seg_ptr, 1024 * fnp_mem_size * 18, code); 96 if priv_code = 0 then call system_privilege_$seg_priv_off (ignore); 97 98 call hcs_$terminate_noname (seg_ptr, code); 99 return; 100 101 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/05/82 1446.9 fdump_fnp_.pl1 >spec>sup>6.2a>fdump_fnp_.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. DUMP_DIR 000000 constant char(6) initial unaligned dcl 61 set ref 82* a_fnp_mem_size parameter fixed bin(17,0) dcl 29 ref 11 73 a_fnp_no parameter fixed bin(17,0) dcl 28 ref 11 72 a_fnp_type parameter fixed bin(17,0) dcl 30 ref 11 74 cleanup 000120 stack reference condition dcl 69 ref 89 clock builtin function dcl 66 ref 75 75 code parameter fixed bin(35,0) dcl 32 set ref 11 82* 85* 86 95* 98* date_string 000100 automatic char(24) unaligned dcl 49 set ref 75* 79 79 79 79 79 79 79 79 date_time_ 000020 constant entry external dcl 41 ref 75 entry_name parameter char unaligned dcl 31 set ref 11 79* 82* fnp_mem_size 000107 automatic fixed bin(17,0) dcl 51 set ref 73* 85* 95 fnp_no 000106 automatic fixed bin(17,0) dcl 50 set ref 72* 79* 79* 85* fnp_type 000110 automatic fixed bin(17,0) dcl 52 set ref 74* 85* get_fnp_name_ 000030 constant entry external dcl 45 ref 79 79 hcs_$set_bc_seg 000024 constant entry external dcl 43 ref 95 hcs_$terminate_noname 000026 constant entry external dcl 44 ref 98 hphcs_$fdump_fnp 000016 constant entry external dcl 40 ref 85 ignore 000116 automatic fixed bin(35,0) dcl 56 set ref 91* 96* ioa_$rsnnl 000022 constant entry external dcl 42 ref 79 null builtin function dcl 66 ref 83 priv_code 000115 automatic fixed bin(35,0) dcl 55 set ref 88* 91 94* 96 privileged_make_seg_ 000010 constant entry external dcl 37 ref 82 rtrim builtin function dcl 66 ref 79 79 seg_ptr 000112 automatic pointer dcl 53 set ref 82* 83 85* 95* 98* substr builtin function dcl 66 ref 79 79 79 79 79 79 79 79 system_privilege_$seg_priv_off 000014 constant entry external dcl 39 ref 91 96 system_privilege_$seg_priv_on 000012 constant entry external dcl 38 ref 94 x 000114 automatic fixed bin(17,0) dcl 54 set ref 79* NAME DECLARED BY EXPLICIT CONTEXT. fdump_fnp_ 000035 constant entry external dcl 11 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 552 604 411 562 Length 764 411 32 143 141 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME fdump_fnp_ 146 external procedure is an external procedure. on unit on line 89 68 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME fdump_fnp_ 000100 date_string fdump_fnp_ 000106 fnp_no fdump_fnp_ 000107 fnp_mem_size fdump_fnp_ 000110 fnp_type fdump_fnp_ 000112 seg_ptr fdump_fnp_ 000114 x fdump_fnp_ 000115 priv_code fdump_fnp_ 000116 ignore fdump_fnp_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs call_ext_out_desc call_ext_out return enable shorten_stack ext_entry_desc int_entry clock THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. date_time_ get_fnp_name_ hcs_$set_bc_seg hcs_$terminate_noname hphcs_$fdump_fnp ioa_$rsnnl privileged_make_seg_ system_privilege_$seg_priv_off system_privilege_$seg_priv_on NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000030 72 000050 73 000053 74 000055 75 000057 79 000076 82 000215 83 000257 85 000263 86 000303 88 000306 89 000310 91 000324 92 000335 94 000336 95 000345 96 000365 98 000376 99 000410 ----------------------------------------------------------- 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