COMPILATION LISTING OF SEGMENT gr_get_rates_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-05-05_1832.40_Fri_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 gr_get_rates_: proc (cpu_rate, real_rate, io_ops_rate, kmu_rate, next_shift); 12 13 dcl next_shift fixed bin (71); 14 dcl (dv_index, number_of_devices) fixed bin; 15 dcl tty_charge_type char (8); 16 dcl (cpu_rate, 17 real_rate, 18 io_ops_rate, 19 kmu_rate) float bin; 20 dcl ip ptr; 21 dcl ec fixed bin; 22 dcl shift_index fixed bin; 23 dcl abs_queue fixed bin; 24 dcl part_of_week fixed bin (71); 25 dcl time fixed bin (71); 26 dcl s fixed bin; 27 dcl shift fixed bin; 28 dcl shift_tab (336) fixed bin; 29 dcl (cpu (0:7), 30 log (0:7), 31 io_ops (0:7), 32 cor (0:7), 33 dsk, 34 reg, 35 abs_cpu_rate (4), 36 abs_kmu_rate (4)) float bin; 37 dcl user_info_$terminal_data ext entry (char(*), char(*), char(*), fixed bin, char(*)); 38 dcl system_info_$device_prices ext entry options (variable); 39 dcl user_info_$absentee_queue ext entry (fixed bin); 40 dcl system_info_$shift_table ext entry ((336) fixed bin); 41 dcl system_info_$next_shift_change ext entry (fixed, fixed bin (71)); 42 dcl system_info_$prices ext entry ((0:7) float bin, (0:7) float bin, (0:7) float bin, (0:7) float bin, float bin, float bin); 43 dcl system_info_$abs_prices ext entry ((4) float bin, (4) float bin); 44 dcl sys_info$time_delta fixed bin (35) ext static; 45 dcl (fixed, 46 divide, 47 mod) builtin; 48 49 50 51 call user_info_$absentee_queue (abs_queue); 52 /* are we executing in an absentee process and if so, what queue are we in? */ 53 if abs_queue > 0 then do; 54 call system_info_$abs_prices (abs_cpu_rate, abs_kmu_rate); 55 cpu_rate = abs_cpu_rate (abs_queue); 56 kmu_rate = abs_kmu_rate (abs_queue); 57 real_rate, io_ops_rate = 0.; 58 next_shift = 0; 59 end; 60 else do; 61 call system_info_$prices (cpu, log, io_ops, cor, dsk, reg); /* get prices for various things for each shift */ 62 call system_info_$next_shift_change (s, next_shift); /* this may differ from static system data */ 63 64 /* return prices */ 65 cpu_rate = cpu (s); 66 io_ops_rate = io_ops (s); 67 kmu_rate = cor (s); 68 real_rate = log (s); /* get connect time base price */ 69 /* now determine surcharge on login rate */ 70 71 call user_info_$terminal_data ("", "", "", 0, tty_charge_type); 72 call system_info_$device_prices (number_of_devices); 73 begin; 74 75 dcl 1 dvt (number_of_devices) aligned, 76 2 id char (8), 77 2 prices (0:7) float bin (27); 78 79 call system_info_$device_prices ((0), addr (dvt)); 80 do dv_index = 1 to number_of_devices; 81 if tty_charge_type = dvt.id (dv_index) then do; 82 real_rate = real_rate + dvt.prices (dv_index, s); 83 /* add in surcharge */ 84 dv_index = number_of_devices; 85 end; 86 end; 87 end; 88 89 end; 90 91 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/05/00 1832.4 gr_get_rates_.pl1 >udd>sm>ds>w>ml>gr_get_rates_.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. abs_cpu_rate 000150 automatic float bin(27) array dcl 29 set ref 54* 55 abs_kmu_rate 000154 automatic float bin(27) array dcl 29 set ref 54* 56 abs_queue 000104 automatic fixed bin(17,0) dcl 23 set ref 51* 53 55 56 cor 000136 automatic float bin(27) array dcl 29 set ref 61* 67 cpu 000106 automatic float bin(27) array dcl 29 set ref 61* 65 cpu_rate parameter float bin(27) dcl 16 set ref 11 55* 65* dsk 000146 automatic float bin(27) dcl 29 set ref 61* dv_index 000100 automatic fixed bin(17,0) dcl 14 set ref 80* 81 82 84* dvt 000100 automatic structure array level 1 dcl 75 set ref 79 79 id 000100 automatic char(8) array level 2 dcl 75 set ref 81 io_ops 000126 automatic float bin(27) array dcl 29 set ref 61* 66 io_ops_rate parameter float bin(27) dcl 16 set ref 11 57* 66* kmu_rate parameter float bin(27) dcl 16 set ref 11 56* 67* log 000116 automatic float bin(27) array dcl 29 set ref 61* 68 next_shift parameter fixed bin(71,0) dcl 13 set ref 11 58* 62* number_of_devices 000101 automatic fixed bin(17,0) dcl 14 set ref 72* 75 80 84 prices 2 000100 automatic float bin(27) array level 2 dcl 75 set ref 82 real_rate parameter float bin(27) dcl 16 set ref 11 57* 68* 82* 82 reg 000147 automatic float bin(27) dcl 29 set ref 61* s 000105 automatic fixed bin(17,0) dcl 26 set ref 62* 65 66 67 68 82 system_info_$abs_prices 000022 constant entry external dcl 43 ref 54 system_info_$device_prices 000012 constant entry external dcl 38 ref 72 79 system_info_$next_shift_change 000016 constant entry external dcl 41 ref 62 system_info_$prices 000020 constant entry external dcl 42 ref 61 tty_charge_type 000102 automatic char(8) packed unaligned dcl 15 set ref 71* 81 user_info_$absentee_queue 000014 constant entry external dcl 39 ref 51 user_info_$terminal_data 000010 constant entry external dcl 37 ref 71 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. divide builtin function dcl 45 ec automatic fixed bin(17,0) dcl 21 fixed builtin function dcl 45 ip automatic pointer dcl 20 mod builtin function dcl 45 part_of_week automatic fixed bin(71,0) dcl 24 shift automatic fixed bin(17,0) dcl 27 shift_index automatic fixed bin(17,0) dcl 22 shift_tab automatic fixed bin(17,0) array dcl 28 sys_info$time_delta external static fixed bin(35,0) dcl 44 system_info_$shift_table 000000 constant entry external dcl 40 time automatic fixed bin(71,0) dcl 25 NAME DECLARED BY EXPLICIT CONTEXT. gr_get_rates_ 000017 constant entry external dcl 11 NAME DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 79 79 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 366 412 261 376 Length 566 261 24 137 104 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gr_get_rates_ 162 external procedure is an external procedure. begin block on line 73 82 begin block uses auto adjustable storage. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME begin block on line 73 000100 dvt begin block on line 73 gr_get_rates_ 000100 dv_index gr_get_rates_ 000101 number_of_devices gr_get_rates_ 000102 tty_charge_type gr_get_rates_ 000104 abs_queue gr_get_rates_ 000105 s gr_get_rates_ 000106 cpu gr_get_rates_ 000116 log gr_get_rates_ 000126 io_ops gr_get_rates_ 000136 cor gr_get_rates_ 000146 dsk gr_get_rates_ 000147 reg gr_get_rates_ 000150 abs_cpu_rate gr_get_rates_ 000154 abs_kmu_rate gr_get_rates_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. enter_begin_block leave_begin_block call_ext_out_desc call_ext_out return_mac alloc_auto_adj ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. system_info_$abs_prices system_info_$device_prices system_info_$next_shift_change system_info_$prices user_info_$absentee_queue user_info_$terminal_data NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000012 51 000024 53 000032 54 000034 55 000045 56 000051 57 000053 58 000056 59 000060 61 000061 62 000102 65 000114 66 000120 67 000122 68 000124 71 000126 72 000156 73 000167 75 000172 79 000200 80 000220 81 000232 82 000242 84 000253 86 000255 87 000257 91 000260 ----------------------------------------------------------- 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