COMPILATION LISTING OF SEGMENT memo_util_ Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/04/82 1647.4 mst Thu 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 memo_util_: proc (); 12 13 return; 14 15 /* * This procedure exists to perform various utility functions for the memo command, 16* * primarily concerned with the maintenance of memo vs. GMT times. The procedures 17* * for converting to/from GMT are DUPLICATED here and in the procedure memo.pl1 18* * itself, for efficiency reasons. */ 19 20 dcl (P_memo_time fixed bin (35), 21 P_clock_value fixed bin (71)) parameter; 22 23 dcl end_of_memo_time fixed bin (35); 24 dcl end_of_time fixed bin (71); 25 dcl clock_value fixed bin (71); 26 dcl memo_time fixed bin (35); 27 28 dcl sys_info$time_correction_constant fixed bin (71) external static; 29 30 dcl convert_date_to_binary_ entry (char (*), fixed bin (71), fixed bin (35)); 31 32 dcl (multiply, divide) builtin; 33 34 /* */ 35 36 memo_util_$end_of_time: entry () returns (fixed bin (71)); 37 38 /* * This returns a GMT clock value corresponding to the "End of Time". */ 39 40 /* 41* call convert_date_to_binary_ ("12/31/99 2359.9 gmt", end_of_time, (0)); 42* end_of_memo_time = memo_util_$from_gmt (end_of_time); 43* */ 44 45 /* * This implementation of end_of_time is somewhat deficient. The old version of memo used 46* * an inline constant for the value, which happened to be 12/30/99 1859.9 est Thursday. 47* * However, this turns out to be someewhat inconvenient to use elsewhere. Since we are 48* * only using it as the date value for invisible memos, however, this inconvenience can 49* * be put up with until we have a better implementation (a flag, rather than a random date 50* * value) for detecting invisibility. Hence, the above code for setting end_of_time is not 51* * presently used, and instead we depend on the silly inline constant, copied directly from 52* * the previous version of the program. */ 53 54 end_of_memo_time = 3124051200; /* KLUDGE! */ 55 end_of_time = memo_util_$to_gmt (end_of_memo_time); 56 57 return (end_of_time); 58 59 60 61 memo_util_$end_of_memo_time: entry () returns (fixed bin (35)); 62 63 /* * This is just like the above, but returns the end of "memo" time. */ 64 65 end_of_memo_time = 3124051200; /* KLUDGE! (copied from above) */ 66 67 return (end_of_memo_time); 68 69 /* */ 70 71 memo_util_$to_gmt: entry (P_memo_time) returns (fixed bin (71)); 72 73 clock_value = 1000000 * P_memo_time + sys_info$time_correction_constant; 74 75 return (clock_value); 76 77 78 79 memo_util_$from_gmt: entry (P_clock_value) returns (fixed bin (35)); 80 81 memo_time = divide ((P_clock_value - sys_info$time_correction_constant), 1000000, 35, 0); 82 83 return (memo_time); 84 85 end; /* external procedure memo_util_ */ SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/04/82 1615.1 memo_util_.pl1 >dumps>old>recomp>memo_util_.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. P_clock_value parameter fixed bin(71,0) dcl 20 ref 79 81 P_memo_time parameter fixed bin(35,0) dcl 20 ref 71 73 clock_value 000104 automatic fixed bin(71,0) dcl 25 set ref 73* 75 divide builtin function dcl 32 ref 81 end_of_memo_time 000100 automatic fixed bin(35,0) dcl 23 set ref 54* 55* 65* 67 end_of_time 000102 automatic fixed bin(71,0) dcl 24 set ref 55* 57 memo_time 000106 automatic fixed bin(35,0) dcl 26 set ref 81* 83 sys_info$time_correction_constant 000010 external static fixed bin(71,0) dcl 28 ref 73 81 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. convert_date_to_binary_ 000000 constant entry external dcl 30 multiply builtin function dcl 32 NAMES DECLARED BY EXPLICIT CONTEXT. memo_util_ 000013 constant entry external dcl 11 memo_util_$end_of_memo_time 000103 constant entry external dcl 61 memo_util_$end_of_time 000036 constant entry external dcl 36 memo_util_$from_gmt 000203 constant entry external dcl 79 memo_util_$to_gmt 000141 constant entry external dcl 71 ref 55 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 400 412 243 410 Length 566 243 12 137 135 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME memo_util_ 82 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME memo_util_ 000100 end_of_memo_time memo_util_ 000102 end_of_time memo_util_ 000104 clock_value memo_util_ 000106 memo_time memo_util_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_in return signal ext_entry divide_fx3 NO EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. sys_info$time_correction_constant LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000012 13 000022 36 000033 54 000050 55 000052 57 000062 61 000100 65 000114 67 000116 71 000135 73 000153 75 000161 79 000177 81 000214 83 000224 ----------------------------------------------------------- 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