COMPILATION LISTING OF SEGMENT !BBBJPCKkdfxNjX Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 08/30/84 1200.9 mst Thu Options: table 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 /* Name: time_table_ */ 14 /* */ 15 /* Table of values used in converting date/time character strings to or from */ 16 /* Multics standard clock values. */ 17 /* */ 18 /* Entry: time_table_$zones */ 19 /* */ 20 /* This table contains the list of acceptable time zone character strings which */ 21 /* may be specified in a date/time string, and the offsets which must be added to */ 22 /* convert a clock value from the zone to Greenwich Mean Time (GMT). The offsets are */ 23 /* in microseconds. Refer to time_zones_.incl.pl1 for a description of these strings. */ 24 /* */ 25 /* Note */ 26 /* */ 27 /* A Multics standard clock value is a number of microseconds from */ 28 /* January 1, 1901 0000.0 GMT. */ 29 /* */ 30 /* Status */ 31 /* 0) Created by: Gary C. Dixon, October 5, 1976 from an ALM data segment. */ 32 /* 1) Modified by: Gary C. Dixon, June 1, 1981 to add European Time Zones. */ 33 /* */ 34 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 35 36 37 time_table_: proc; 38 39 dcl /* automatic variables */ 40 P ptr, /* ptr to storage for time zones. */ 41 1 cdsa aligned like cds_args, 42 /* automatic arg struc for create_data_segment_. */ 43 code fixed bin(35), /* status code. */ 44 1 time_table structure aligned, /* automatic copy of the time_table_. */ 45 2 zones structure, /* time zones defined by table. */ 46 3 version fixed bin, 47 3 number fixed bin, 48 3 values (19) like time_zones.values; 49 50 dcl (addr, dimension, null, size, string) 51 builtin; 52 53 dcl /* entries */ 54 com_err_ entry options(variable), 55 create_data_segment_ entry (ptr, fixed bin(35)); 56 57 dcl /* static variables. */ 58 microseconds_per_hour fixed bin(71) int static options(constant) init (3600000000); 59 /* number of microseconds in an hour. */ 60 61 1 1 /* BEGIN INCLUDE FILE cds_args.incl.pl1 */ 1 2 1 3 dcl 1 cds_args based aligned, 1 4 2 sections (2), 1 5 3 p ptr, /* pointer to data for text/static section */ 1 6 3 len fixed bin (18), /* size of text/static section */ 1 7 3 struct_name char (32), /* name of declared structure for this section */ 1 8 2 seg_name char (32), /* name to create segment by */ 1 9 2 num_exclude_names fixed bin, /* number of names in exclude array */ 1 10 2 exclude_array_ptr ptr, /* pointer to array of exclude names */ 1 11 2 switches, /* control switches */ 1 12 3 defs_in_link bit (1) unal, /* says put defs in linkage */ 1 13 3 separate_static bit (1) unal, /* says separate static section is wanted */ 1 14 3 have_text bit (1) unal, /* ON if text section given */ 1 15 3 have_static bit (1) unal, /* ON if static section given */ 1 16 3 pad bit (32) unal; 1 17 1 18 dcl exclude_names (1) char (32) based; /* pointed to be cds_args.exclude_array_ptr */ 1 19 1 20 /* END INCLUDE FILE cds_args.incl.pl1 */ 62 63 2 1 /* START OF: time_zones_.incl.pl1 Created: August, 1973 by G. C. Dixon */ 2 2 2 3 dcl time_table_$zones fixed bin(35) ext static; 2 4 /* the table of acceptable time zone values, */ 2 5 /* and their offset, in microseconds, from */ 2 6 /* Greenwich Mean Time (GMT). */ 2 7 2 8 dcl 1 time_zones aligned based (addr (time_table_$zones)), 2 9 2 version fixed bin, /* table version number. (This is version 1). */ 2 10 2 number fixed bin, /* number of time zones in table. */ 2 11 2 values (0 refer (time_zones.number)), 2 12 3 zone char(3) aligned, /* the time zone character string. */ 2 13 3 pad fixed bin, 2 14 3 zone_offset fixed bin(71); /* the offset, in microseconds, which must be */ 2 15 /* added to convert a time expressed in this */ 2 16 /* time zone to a time expressed in the */ 2 17 /* Greenwich Mean Time (GMT) zone. */ 2 18 dcl Vtime_zones_1 fixed bin int static options(constant) init (1); 2 19 /* time_table_$zones version number. */ 2 20 2 21 /* END OF: time_zones_.incl.pl1 */ 64 65 66 67 /* * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * */ 68 69 70 P = addr (time_table); /* address storage for time table. */ 71 P -> time_zones.version = Vtime_zones_1; /* fill in time zone table. */ 72 P -> time_zones.number = dimension (time_table.zones.values,1); 73 P -> time_zones.values.zone( 1) = "fwt"; 74 P -> time_zones.values.zone_offset( 1) = -1 * microseconds_per_hour; 75 P -> time_zones.values.zone( 2) = "fst"; 76 P -> time_zones.values.zone_offset( 2) = -2 * microseconds_per_hour; 77 P -> time_zones.values.zone( 3) = "hfh"; 78 P -> time_zones.values.zone_offset( 3) = -1 * microseconds_per_hour; 79 P -> time_zones.values.zone( 4) = "hfe"; 80 P -> time_zones.values.zone_offset( 4) = -2 * microseconds_per_hour; 81 P -> time_zones.values.zone( 5) = "swt"; 82 P -> time_zones.values.zone_offset( 5) = -1 * microseconds_per_hour; 83 P -> time_zones.values.zone( 6) = "sst"; 84 P -> time_zones.values.zone_offset( 6) = -2 * microseconds_per_hour; 85 P -> time_zones.values.zone( 7) = "bst"; 86 P -> time_zones.values.zone_offset( 7) = -1 * microseconds_per_hour; 87 P -> time_zones.values.zone( 8) = "z"; 88 P -> time_zones.values.zone_offset( 8) = 0 * microseconds_per_hour; 89 P -> time_zones.values.zone( 9) = "gmt"; 90 P -> time_zones.values.zone_offset( 9) = 0 * microseconds_per_hour; 91 P -> time_zones.values.zone(10) = "ast"; 92 P -> time_zones.values.zone_offset(10) = 4 * microseconds_per_hour; 93 P -> time_zones.values.zone(11) = "adt"; 94 P -> time_zones.values.zone_offset(11) = 3 * microseconds_per_hour; 95 P -> time_zones.values.zone(12) = "est"; 96 P -> time_zones.values.zone_offset(12) = 5 * microseconds_per_hour; 97 P -> time_zones.values.zone(13) = "edt"; 98 P -> time_zones.values.zone_offset(13) = 4 * microseconds_per_hour; 99 P -> time_zones.values.zone(14) = "cst"; 100 P -> time_zones.values.zone_offset(14) = 6 * microseconds_per_hour; 101 P -> time_zones.values.zone(15) = "cdt"; 102 P -> time_zones.values.zone_offset(15) = 5 * microseconds_per_hour; 103 P -> time_zones.values.zone(16) = "mst"; 104 P -> time_zones.values.zone_offset(16) = 7 * microseconds_per_hour; 105 P -> time_zones.values.zone(17) = "mdt"; 106 P -> time_zones.values.zone_offset(17) = 6 * microseconds_per_hour; 107 P -> time_zones.values.zone(18) = "pst"; 108 P -> time_zones.values.zone_offset(18) = 8 * microseconds_per_hour; 109 P -> time_zones.values.zone(19) = "pdt"; 110 P -> time_zones.values.zone_offset(19) = 7 * microseconds_per_hour; 111 P -> time_zones.values.pad(*) = 0; 112 113 cdsa.sections(1).p = P; /* fill in arg struc for create_data_segment_. */ 114 cdsa.sections(1).len = size(time_table); 115 cdsa.sections(1).struct_name = "time_table"; 116 cdsa.seg_name = "time_table_"; 117 cdsa.num_exclude_names = 0; 118 cdsa.exclude_array_ptr = null; 119 string (cdsa.switches) = "0"b; 120 cdsa.have_text = "1"b; 121 122 call create_data_segment_ (addr(cdsa), code); 123 if code ^= 0 then 124 call com_err_ (code, "time_table_"); 125 126 end time_table_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/29/84 1113.7 !BBBJPCKkdfxNjX.pl1 >special_ldd>on>date_time>time_table_.cds 62 1 04/01/76 2209.5 cds_args.incl.pl1 >ldd>include>cds_args.incl.pl1 64 2 11/04/76 1639.9 time_zones_.incl.pl1 >ldd>include>time_zones_.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. P 000100 automatic pointer dcl 39 set ref 70* 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 113 Vtime_zones_1 000304 constant fixed bin(17,0) initial dcl 2-18 ref 71 addr builtin function dcl 50 ref 70 122 122 2-8 2-8 2-8 2-8 2-8 2-8 2-8 cds_args based structure level 1 dcl 1-3 cdsa 000102 automatic structure level 1 dcl 39 set ref 122 122 code 000147 automatic fixed bin(35,0) dcl 39 set ref 122* 123 123* com_err_ 000012 constant entry external dcl 53 ref 123 create_data_segment_ 000014 constant entry external dcl 53 ref 122 dimension builtin function dcl 50 ref 72 exclude_array_ptr 42 000102 automatic pointer level 2 dcl 39 set ref 118* have_text 44(02) 000102 automatic bit(1) level 3 packed unaligned dcl 39 set ref 120* len 2 000102 automatic fixed bin(18,0) array level 3 dcl 39 set ref 114* microseconds_per_hour 000000 constant fixed bin(71,0) initial dcl 57 ref 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 null builtin function dcl 50 ref 118 num_exclude_names 40 000102 automatic fixed bin(17,0) level 2 dcl 39 set ref 117* number 1 based fixed bin(17,0) level 2 dcl 2-8 set ref 72* 111 2-8 2-8 2-8 2-8 p 000102 automatic pointer array level 3 dcl 39 set ref 113* pad 3 based fixed bin(17,0) array level 3 dcl 2-8 set ref 111* sections 000102 automatic structure array level 2 dcl 39 seg_name 30 000102 automatic char(32) level 2 dcl 39 set ref 116* size builtin function dcl 50 ref 114 string builtin function dcl 50 set ref 119* struct_name 3 000102 automatic char(32) array level 3 dcl 39 set ref 115* switches 44 000102 automatic structure level 2 dcl 39 set ref 119* time_table 000150 automatic structure level 1 dcl 39 set ref 70 114 time_table_$zones 000016 external static fixed bin(35,0) dcl 2-3 set ref 2-8 2-8 2-8 2-8 2-8 2-8 2-8 time_zones based structure level 1 dcl 2-8 values 2 000150 automatic structure array level 3 in structure "time_table" dcl 39 in procedure "time_table_" set ref 72 values 2 based structure array level 2 in structure "time_zones" dcl 2-8 in procedure "time_table_" version based fixed bin(17,0) level 2 dcl 2-8 set ref 71* zone 2 based char(3) array level 3 dcl 2-8 set ref 73* 75* 77* 79* 81* 83* 85* 87* 89* 91* 93* 95* 97* 99* 101* 103* 105* 107* 109* zone_offset 4 based fixed bin(71,0) array level 3 dcl 2-8 set ref 74* 76* 78* 80* 82* 84* 86* 88* 90* 92* 94* 96* 98* 100* 102* 104* 106* 108* 110* zones 000150 automatic structure level 2 dcl 39 NAME DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. exclude_names based char(32) array unaligned dcl 1-18 NAME DECLARED BY EXPLICIT CONTEXT. time_table_ 000041 constant entry external dcl 37 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 364 404 305 374 Length 1736 305 20 1316 57 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME time_table_ 202 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME time_table_ 000100 P time_table_ 000102 cdsa time_table_ 000147 code time_table_ 000150 time_table time_table_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return mpfx2 ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ create_data_segment_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. time_table_$zones LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 37 000040 70 000046 71 000050 72 000052 73 000054 74 000056 75 000062 76 000064 77 000067 78 000071 79 000074 80 000076 81 000101 82 000103 83 000106 84 000110 85 000113 86 000115 87 000120 88 000122 89 000125 90 000127 91 000132 92 000134 93 000137 94 000141 95 000144 96 000146 97 000151 98 000153 99 000156 100 000160 101 000163 102 000165 103 000170 104 000172 105 000175 106 000177 107 000202 108 000204 109 000207 110 000211 111 000214 113 000226 114 000227 115 000231 116 000234 117 000237 118 000240 119 000242 120 000243 122 000245 123 000260 126 000303 Object Segment >special_ldd>on>date_time>time_table_ Created on 08/30/84 1201.2 mst Thu by GJohnson.SysMaint.a using create_data_segment_, Version II of Monday, August 15, 1983 Object Text Defs Link Symb Static Start 0 0 116 144 154 154 Length 340 116 26 10 150 0 3 Definitions: segname: time_table_ symb|0 symbol_table text|0 zones No Links. ----------------------------------------------------------- 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