COMPILATION LISTING OF SEGMENT sys_full_report Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/12/82 1239.7 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 sys_full_report: proc; 12 13 /* command to print report of system full times */ 14 15 dcl xxx char (101) aligned init ((101)"x"), 16 dn char (168) aligned, 17 en char (32) aligned, 18 ioa_ entry options (variable), 19 hcs_$terminate_noname entry (ptr, fixed bin), 20 rsp ptr, 21 expand_path_ entry (ptr, fixed bin, ptr, ptr, fixed bin), 22 datebin_ entry (fixed bin (71), 23 fixed bin, fixed bin, fixed bin, fixed bin, fixed bin, fixed bin, fixed bin, fixed bin, fixed bin), 24 (iad, imo, ida, iyr, ihr, imm, iss, iwk, ish) fixed bin, 25 dayn (7) char (4) aligned init ("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"), 26 ec fixed bin, 27 cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin), 28 bchr char (al) based (ap) unaligned, 29 inx fixed bin, 30 get_wdir_ entry () returns (char (168) aligned), 31 hcs_$initiate entry (char (*) aligned, char (*) aligned, char (*) aligned, 32 fixed bin, fixed bin, ptr, fixed bin), 33 hcs_$make_seg entry (char (*) aligned, char (*) aligned, char (*) aligned, 34 fixed bin (5), ptr, fixed bin), 35 f float bin, 36 ap ptr, 37 al fixed bin, 38 date_time_ entry (fixed bin (71), char (*) aligned), 39 sys_log_ptr ptr, 40 com_err_ entry options (variable), 41 (timestr, timestr1) char (16) aligned, 42 system_info_$titles entry (char (*) aligned, char (*) aligned), 43 (coxx, dpxx) char (64) aligned, 44 title char (64) aligned int static init ("^/Total counts for ^a - ^d^/^/ TIME Count Percent^/"), 45 odate char (8) aligned init (" "), 46 i fixed bin, 47 ss fixed bin init (1), 48 an fixed bin init (1); 49 50 dcl 1 sys_full_report_seg based (rsp) aligned, 51 2 tfirst fixed bin (71), 52 2 tlast fixed bin (71), 53 2 t fixed bin, 54 2 wkdct fixed bin, 55 2 dayc (7) fixed bin, 56 2 pad (3) fixed bin, 57 2 arryx (96) fixed bin; 58 59 dcl (addr, divide, index, null, substr) builtin; 60 1 1 /* Declaration of the system log file. 1 2* 1 3* This file contains all error messages put out by the answering service */ 1 4 1 5 dcl 1 sys_log_file based (sys_log_ptr) aligned, 1 6 2 count fixed bin, /* number of messages */ 1 7 2 max fixed bin, /* maximum number */ 1 8 2 ttime fixed bin (71), /* date & time of last message */ 1 9 2 lep fixed bin, /* last entry processed by daily_log_process */ 1 10 2 lls char (12), /* suffix on last log */ 1 11 2 array (8159), 1 12 3 time fixed bin (71), /* time of entry */ 1 13 3 svty fixed bin, /* severity of entry */ 1 14 3 line char (116); /* error message. entry is 32 words */ 1 15 1 16 /* end of system log declaration */ 61 62 63 /* ======================================================= */ 64 65 call hcs_$make_seg ((get_wdir_ ()), "sys_full_report_seg", "", 1011b, rsp, ec); 66 if rsp = null then go to er; 67 if t = 0 then call ioa_ ("making sys_full_report_seg"); 68 69 arglp: call cu_$arg_ptr (an, ap, al, ec); 70 if ec ^= 0 then go to endarg; 71 if bchr = "-print" then go to print; 72 73 call expand_path_ (ap, al, addr (dn), addr (en), ec); 74 if ec ^= 0 then do; 75 er: call com_err_ (ec, "sys_full_report", bchr); 76 return; 77 end; 78 call hcs_$initiate (dn, en, "", 0, 1, sys_log_ptr, ec); 79 if sys_log_ptr = null then go to er; 80 81 if ttime > tlast then tlast = ttime; 82 if time (1) < tfirst then tfirst = time (1); 83 else if tfirst = 0 then tfirst = time (1); 84 85 do i = 1 to count; 86 87 if svty (i) > 0 then go to endlp; 88 if substr (line (i), 1, 11) ^= "lg_ctl_: no" then go to endlp; 89 if index (line (i), "sys_full") = 0 then 90 if index (line (i), "groupmax") = 0 then 91 if index (line (i), "grp_full") = 0 then 92 if index (line (i), "nf_nosec") = 0 then 93 if index (line (i), "saturate") = 0 then 94 if index (line (i), "sysgrpfl") = 0 then 95 if index (line (i), "cant_bum") = 0 then go to endlp; 96 97 call datebin_ (time (i), iad, imo, ida, iyr, ihr, imm, iss, iwk, ish); 98 dayc (iwk) = dayc (iwk) + 1; 99 t = t + 1; 100 if iwk < 6 then do; /* Weekday? */ 101 inx = ihr*4 + divide (imm, 15, 17, 0) + 1; 102 arryx (inx) = arryx (inx) + 1; 103 wkdct = wkdct + 1; 104 end; 105 106 endlp: end; 107 call hcs_$terminate_noname (sys_log_ptr, ec); 108 an = an + 1; 109 go to arglp; 110 111 print: call system_info_$titles (coxx, dpxx); 112 call date_time_ (tlast, timestr1); 113 call date_time_ (tfirst, timestr); 114 call ioa_ ("^|^a^/^/^a^/^/""System full"" report from ^a to ^a", coxx, dpxx, timestr, timestr1); 115 116 call ioa_ ("^/Total ^d^/", t); 117 118 do i = 1 to 7; 119 call ioa_ ("^a ^4d", dayn (i), dayc (i)); 120 end; 121 122 if wkdct = 0 then goto endarg; /* if no instances of full system, don't waste time */ 123 /* also, avoid division by zero below */ 124 call ioa_ (title, "weekdays", wkdct); 125 do inx = 0 to 23; 126 do ish = 0 to 3; 127 iad = inx*4 + ish + 1; 128 f = 1.0e2 * arryx (iad) / wkdct; 129 iyr = f + 0.5e0; 130 if iyr > 0 then 131 call ioa_ ("^2d:^2d ^6d ^10.2f ^a", inx, 15*ish, arryx (iad), f, substr (xxx, 1, iyr)); 132 end; 133 end; 134 135 endarg: call hcs_$terminate_noname (rsp, ec); 136 137 end sys_full_report; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/12/82 1110.9 sys_full_report.pl1 >spec>on>11/12/82>sys_full_report.pl1 61 1 01/05/79 1311.1 syslog.incl.pl1 >ldd>include>syslog.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 59 ref 73 73 73 73 al 000244 automatic fixed bin(17,0) dcl 15 set ref 69* 71 73* 75 75 an 000324 automatic fixed bin(17,0) initial dcl 15 set ref 15* 69* 108* 108 ap 000242 automatic pointer dcl 15 set ref 69* 71 73* 75 array 10 based structure array level 2 dcl 1-5 arryx 20 based fixed bin(17,0) array level 2 dcl 50 set ref 102* 102 128 130* bchr based char unaligned dcl 15 set ref 71 75* com_err_ 000052 constant entry external dcl 15 ref 75 count based fixed bin(17,0) level 2 dcl 1-5 ref 85 coxx 000260 automatic char(64) dcl 15 set ref 111* 114* cu_$arg_ptr 000040 constant entry external dcl 15 ref 69 date_time_ 000050 constant entry external dcl 15 ref 112 113 datebin_ 000036 constant entry external dcl 15 ref 97 dayc 6 based fixed bin(17,0) array level 2 dcl 50 set ref 98* 98 119* dayn 000227 automatic char(4) initial array dcl 15 set ref 15* 15* 15* 15* 15* 15* 15* 119* divide builtin function dcl 59 ref 101 dn 000132 automatic char(168) dcl 15 set ref 73 73 78* dpxx 000300 automatic char(64) dcl 15 set ref 111* 114* ec 000236 automatic fixed bin(17,0) dcl 15 set ref 65* 69* 70 73* 74 75* 78* 107* 135* en 000204 automatic char(32) dcl 15 set ref 73 73 78* expand_path_ 000034 constant entry external dcl 15 ref 73 f 000240 automatic float bin(27) dcl 15 set ref 128* 129 130* get_wdir_ 000042 constant entry external dcl 15 ref 65 hcs_$initiate 000044 constant entry external dcl 15 ref 78 hcs_$make_seg 000046 constant entry external dcl 15 ref 65 hcs_$terminate_noname 000032 constant entry external dcl 15 ref 107 135 i 000322 automatic fixed bin(17,0) dcl 15 set ref 85* 87 88 89 89 89 89 89 89 89 97* 118* 119 119* iad 000216 automatic fixed bin(17,0) dcl 15 set ref 97* 127* 128 130 ida 000220 automatic fixed bin(17,0) dcl 15 set ref 97* ihr 000222 automatic fixed bin(17,0) dcl 15 set ref 97* 101 imm 000223 automatic fixed bin(17,0) dcl 15 set ref 97* 101 imo 000217 automatic fixed bin(17,0) dcl 15 set ref 97* index builtin function dcl 59 ref 89 89 89 89 89 89 89 inx 000237 automatic fixed bin(17,0) dcl 15 set ref 101* 102 102 125* 127 130* ioa_ 000030 constant entry external dcl 15 ref 67 114 116 119 124 130 ish 000226 automatic fixed bin(17,0) dcl 15 set ref 97* 126* 127 130* iss 000224 automatic fixed bin(17,0) dcl 15 set ref 97* iwk 000225 automatic fixed bin(17,0) dcl 15 set ref 97* 98 98 100 iyr 000221 automatic fixed bin(17,0) dcl 15 set ref 97* 129* 130 130 130 line 13 based char(116) array level 3 dcl 1-5 ref 88 89 89 89 89 89 89 89 null builtin function dcl 59 ref 66 79 odate 000320 automatic char(8) initial dcl 15 set ref 15* rsp 000214 automatic pointer dcl 15 set ref 65* 66 67 81 81 82 82 83 83 98 98 99 99 102 102 103 103 112 113 116 119 122 124 128 128 130 135* ss 000323 automatic fixed bin(17,0) initial dcl 15 set ref 15* substr builtin function dcl 59 ref 88 130 130 svty 12 based fixed bin(17,0) array level 3 dcl 1-5 ref 87 sys_full_report_seg based structure level 1 dcl 50 sys_log_file based structure level 1 dcl 1-5 sys_log_ptr 000246 automatic pointer dcl 15 set ref 78* 79 81 81 82 82 83 85 87 88 89 89 89 89 89 89 89 97 107* system_info_$titles 000054 constant entry external dcl 15 ref 111 t 4 based fixed bin(17,0) level 2 dcl 50 set ref 67 99* 99 116* tfirst based fixed bin(71,0) level 2 dcl 50 set ref 82 82* 83 83* 113* time 10 based fixed bin(71,0) array level 3 dcl 1-5 set ref 82 82 83 97* timestr 000250 automatic char(16) dcl 15 set ref 113* 114* timestr1 000254 automatic char(16) dcl 15 set ref 112* 114* title 000010 internal static char(64) initial dcl 15 set ref 124* tlast 2 based fixed bin(71,0) level 2 dcl 50 set ref 81 81* 112* ttime 2 based fixed bin(71,0) level 2 dcl 1-5 ref 81 81 wkdct 5 based fixed bin(17,0) level 2 dcl 50 set ref 103* 103 122 124* 128 xxx 000100 automatic char(101) initial dcl 15 set ref 15* 130 130 NAMES DECLARED BY EXPLICIT CONTEXT. arglp 000303 constant label dcl 69 ref 109 endarg 001203 constant label dcl 135 ref 70 122 endlp 000651 constant label dcl 106 ref 87 88 89 er 000355 constant label dcl 75 ref 66 79 print 000666 constant label dcl 111 ref 71 sys_full_report 000133 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 1354 1432 1215 1364 Length 1634 1215 56 166 136 20 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME sys_full_report 299 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 title sys_full_report STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME sys_full_report 000100 xxx sys_full_report 000132 dn sys_full_report 000204 en sys_full_report 000214 rsp sys_full_report 000216 iad sys_full_report 000217 imo sys_full_report 000220 ida sys_full_report 000221 iyr sys_full_report 000222 ihr sys_full_report 000223 imm sys_full_report 000224 iss sys_full_report 000225 iwk sys_full_report 000226 ish sys_full_report 000227 dayn sys_full_report 000236 ec sys_full_report 000237 inx sys_full_report 000240 f sys_full_report 000242 ap sys_full_report 000244 al sys_full_report 000246 sys_log_ptr sys_full_report 000250 timestr sys_full_report 000254 timestr1 sys_full_report 000260 coxx sys_full_report 000300 dpxx sys_full_report 000320 odate sys_full_report 000322 i sys_full_report 000323 ss sys_full_report 000324 an sys_full_report THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. fx1_to_fl2 alloc_cs call_ext_out_desc call_ext_out return fl2_to_fx1 shorten_stack ext_entry set_cs_eis index_cs_eis THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_ptr date_time_ datebin_ expand_path_ get_wdir_ hcs_$initiate hcs_$make_seg hcs_$terminate_noname ioa_ system_info_$titles NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000132 15 000140 65 000205 66 000260 67 000264 69 000303 70 000320 71 000322 73 000330 74 000353 75 000355 76 000405 78 000406 79 000450 81 000454 82 000462 83 000467 85 000473 87 000502 88 000507 89 000515 97 000577 98 000630 99 000633 100 000634 101 000637 102 000647 103 000650 106 000651 107 000653 108 000664 109 000665 111 000666 112 000702 113 000720 114 000735 116 000767 118 001011 119 001016 120 001043 122 001045 124 001050 125 001073 126 001077 127 001103 128 001110 129 001122 130 001125 132 001176 133 001201 135 001203 137 001214 ----------------------------------------------------------- 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