THIS FILE IS DAMAGED COMPILATION LISTING OF SEGMENT date_time_interval Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/13/84 1140.9 mst Thu Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /**** format: ind3,ll80,initcol6,indattr,^inddcls,dclind4,idind16 */ 8 /**** format: struclvlind2,^ifthenstmt,^ifthendo,^ifthen,^indnoniterdo */ 9 /**** format: ^inditerdo,^indnoniterend,^indthenelse,case,^indproc,^indend */ 10 /**** format: ^delnl,^insnl,comcol41,^indcom,^indblkcom,linecom,^indcomtxt */ 11 12 date_time_interval: dti: proc; 13 14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 15 /* */ 16 /* Names: date_time_interval, dti */ 17 /* */ 18 /* SYNTAX AS A COMMAND: */ 19 /* dti {date1} date2 {-control_args} */ 20 /* */ 21 /* SYNTAX AS AN ACTIVE FUNCTION: */ 22 /* [dti {date1} date2 {-control_args}] */ 23 /* */ 24 /* FUNCTION: */ 25 /* returns the difference between 2 date values, relative to the */ 26 /* first, in offset terms: */ 27 /* "0 yr 0 mo -2 da -6 hr 0 min -4.64 sec" */ 28 /* The user is able to specify that the result be only in terms of */ 29 /* certain units. */ 30 /* */ 31 /* ARGUMENTS: */ 32 /* date1 */ 33 /* is the beginning of the interval. If not specified, the */ 34 /* current time is used. */ 35 /* date2 */ 36 /* is the end of the interval. If the end is earlier than the */ 37 /* beginning, all numbers will be preceeded by a minus sign. */ 38 /* */ 39 /* CONTROL ARGUMENTS: */ 40 /* -brief, -bf */ 41 /* specifies that the units displayed will be in the abbreviated */ 42 /* form (Default). */ 43 /* -fractional_digits {N}, -fd {N} */ 44 /* specifies the maximum number of fractional digits to be */ 45 /* included on the smallest unit. All trailing zeros are removed */ 46 /* and then the decimal point if it is last. N may not exceed */ 47 /* 20. Default is 2. If N is not specified, the maximum is */ 48 /* used. */ 49 /* -zero_units, -zu */ 50 /* specifies that all units will be output even if their value is */ 51 /* zero. */ 52 /* Example: "2 da 0 hr 0 min 4.2 sec" */ 53 /* -language X, -lang X */ 54 /* X specifies the language in which the result is to be */ 55 /* expressed. This may be in any of the languages known to the */ 56 /* date/time system. If X is "system_lang", the system default */ 57 /* is used. If this control argument is not given or it is */ 58 /* present with X being "", the per-process default is used. */ 59 /* -long, -lg */ 60 /* specifies that the units displayed will be in the */ 61 /* singular/plural form. */ 62 /* -no_zero_units, -nzu */ 63 /* specifies that any unit which has a value of zero will not be */ 64 /* included in the output. However, if all units are zero, the */ 65 /* smallest will be shown with the value of "0". (Default) */ 66 /* Example: "2 da 4.2 sec" */ 67 /* -units STRs */ 68 /* specifies that the result is to be expressed in terms of a */ 69 /* given set of units. All arguments following -units on the */ 70 /* command line are taken as the set of units to use. Therefore */ 71 /* -units, if present, must be the last control argument present. */ 72 /* The units may be entered in any language available on the site */ 73 /* and in any order. All units, however, must be in the same */ 74 /* language. These are the units which may be specified: */ 75 /* year month week day hour minute second microsecond */ 76 /* The output will appear in the order shown in the list above. */ 77 /* */ 78 /* NOTES: */ 79 /* When no units have been specified, this set is used: */ 80 /* years months days hours minutes seconds */ 81 /* A default result could look like this: */ 82 /* "-2 da -6 hr -4.05 sec" */ 83 /* But if the arguments given were: */ 84 /* -fd -units hr min */ 85 /* the same interval could be: */ 86 /* -54hr -0.0676252166666666666666666666666666666666666666666666min */ 87 /* */ 88 /* Note there is a truncation in the first instance to 2 decimal */ 89 /* places with the corresponding loss of accuracy. */ 90 /* */ 91 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 92 /* Status: */ 93 /* 1) 83-02-14 JFalksen Created */ 94 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *-* */ 95 /**** Assume we were called as an active function. Get ptr & length of our */ 96 /**** return argument, and count of our input arguments. */ 97 lang_l = 0; 98 lang_p = addr (ME); /* need to point somewhere for "" */ 99 lang_ctl_arg = "-default-"; 100 fractional_digits = 2; 101 string (sw) = "010"b; 102 toa.flag (*) = UNUSED; 103 flag_sw = ""b; 104 105 call cu_$af_return_arg (arg_ct, ret_p, ret_l, code); 106 if code = 0 /* if called as an active function, */ 107 then do; 108 command = "0"b; 109 err = active_fnc_err_; 110 get_arg = cu_$af_arg_ptr; 111 ret = ""; 112 end; 113 else if code = error_table_$not_act_fnc /* if called as a command, */ 114 then do; 115 command = "1"b; /* indicate so */ 116 get_arg = cu_$arg_ptr; 117 err = com_err_; 118 end; 119 else do; /* WHAT ELSE IS THERE?! */ 120 command = "0"b; /* if some unknown error occurs, */ 121 err = active_fnc_err_; /* ..report it to user as if we were */ 122 go to bad_call; /* ..called as an active fnc */ 123 end; 124 if arg_ct = 0 /* Report missing format_string in */ 125 then do; /* ..clock entry. */ 126 no_arg: 127 code = error_table_$noarg; 128 bad_call: 129 call err (code, ME, 130 "^/Usage:^-date_time_interval {from-time} to-time {-ctl_args}"); 131 return; 132 end; 133 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 134 /* Process all arguments presented */ 135 result = ""; 136 smallest_unit, state, pos_ct, unit_ct = 0; 137 do argno = 1 to arg_ct; 138 call get_arg (argno, arg_p, arg_l, code); 139 if (state = 1) 140 then do; /* -lang argument */ 141 state = 0; 142 lang_p = arg_p; 143 lang_l = arg_l; 144 end; 145 else if (state = 2) 146 then do; /* -fractional_digits argument */ 147 state = 0; 148 if (index (arg, "-") = 1) 149 then goto an_arg; 150 if (verify (arg, " 0123456789") ^= 0) 151 then do; 152 call err (0, ME, 153 "Numeric value required. ^a ^a", last_arg, arg); 154 sw.error = "1"b; 155 end; 156 else do; 157 fractional_digits = convert (fractional_digits, arg); 158 if (fractional_digits > 20) 159 then do; 160 call err (0, ME, 161 "Value may not exceed 20. ^a ^a", last_arg, arg); 162 sw.error = "1"b; 163 end; 164 end; 165 end; 166 else if (state = 3) 167 then do; /* -units argument */ 168 i = date_time_$get_time_info_index (arg, Offset_table); 169 if (i <= 0) 170 then do; 171 call err (0, ME, "Unknown offset name. ^a", arg); 172 sw.error = "1"b; 173 end; 174 else toa.flag (i) = INTEGER; 175 flag_sw = "1"b; 176 smallest_unit = max (i, smallest_unit); 177 unit_ct = unit_ct + 1; 178 end; 179 else if (index (arg, "-") = 1) 180 then do; /* it's a ctl_arg */ 181 an_arg: 182 last_arg = arg; 183 if (arg = "-brief") | (arg = "-bf") 184 then sw.bf = "1"b; 185 else if (arg = "-fractional_digits") | (arg = "-fd") 186 then do; 187 state = 2; 188 fractional_digits = 20; /* set default */ 189 end; 190 else if (arg = "-language") | (arg = "-lang") 191 then do; 192 state = 1; 193 lang_ctl_arg = arg; €TuGimbel €ˆHTÌ.ö Gimbel i = 1 to 8; /* go thru all the units */ 290 if (toa.flag (i) ^= UNUSED) 291 then do; /* this is a wanted unit */ 292 fld24 = toa.val (i); 293 /**** if this is a not-zero value OR they want zero values */ 294 /**** OR this is the last one and nothing has happened yet...DO IT */ 295 if (fld24 ^= 0) | sw.izu 296 | (i = smallest_unit) & (result = "") 297 then do; 298 if (toa.flag (i) ^= INTEGER) 299 | (i = smallest_unit) 300 then fd = fractional_digits; 301 else fd = 0; 302 if (fld24 < 0) /* first take care of the sign */ 303 then do; 304 fld24 = - fld24; 305 result = result || "-"; 306 end; 307 fldpic = fld24 + rounder (fd); 308 result = result || ltrim (substr (fldpic, 1, 26+fd)); 309 result = rtrim (result, "0"); /* drop any trailing SPs */ 310 result = rtrim (result, "."); /* and then the "." if last */ 311 result = result || " "; 312 /**** Units may be in singular/plural or short form. */ 313 if sw.bf 314 then result = result || ti_offset.short (lang_index, i); 315 else do; 316 if (abs (fld24) = 1) 317 then result = result || ti_offset.singular (lang_index, i); 318 else result = result || ti_offset.plural (lang_index, i); 319 end; 320 result = result || " "; 321 end; 322 end; 323 end; 324 result = rtrim (result); 325 326 /**** It's easy when all the hard work is being done elsewhere. */ 327 328 if command /* print command's result */ 329 then call ioa_ ("^va", length (result), result); 330 else ret = result; /* return AFs result */ 331 return; 332 dcl arg char (arg_l) based (arg_p); 333 dcl arg_ct fixed bin; 334 dcl arg_l fixed bin (21); 335 dcl argno fixed bin; 336 dcl arg_p ptr; 337 dcl code fixed bin (35); 338 dcl command bit (1); 339 dcl cvalue (2) fixed bin (71); 340 dcl err entry automatic options (variable); 341 dcl error_table_$badopt fixed bin (35) ext static; 342 dcl error_table_$not_act_fnc fixed bin (35) ext static; 343 dcl error_table_$noarg fixed bin (35) ext static; 344 dcl fd fixed bin; 345 dcl flag_sw bit (1); 346 dcl fld24 float dec (24); 347 dcl fldpic pic "(24)-9v.(24)9"; 348 dcl fractional_digits fixed bin; 349 dcl get_arg entry (fixed bin, ptr, fixed bin (21), 350 fixed bin (35)) automatic; 351 dcl i fixed bin; 352 dcl lang_index fixed bin; 353 dcl lang_ctl_arg char (16); 354 dcl lang_l fixed bin; 355 dcl lang_p ptr; 356 dcl last_arg char (32); 357 dcl ME char (18) int static init ("date_time_interval"); 358 dcl now_clock fixed bin (71); 359 dcl pos_ct fixed bin; /* number of positional args */ 360 dcl pos_l (2) fixed bin; 361 dcl pos_p (2) ptr; 362 dcl result char (1024) var; 363 dcl ret char (ret_l) var based (ret_p); 364 dcl ret_l fixed bin (21); 365 dcl ret_p ptr; 366 dcl rounder (0:20) float dec (24) int static options (constant) init ( 367 .0, 368 .05, 369 .005, 370 .0005, 371 .00005, 372 .000005, 373 .0000005, 374 .00000005, 375 .000000005, 376 .0000000005, 377 .00000000005, 378 .000000000005, 379 .0000000000005, 380 .00000000000005, 381 .000000000000005, 382 .0000000000000005, 383 .00000000000000005, 384 .000000000000000005, 385 .0000000000000000005, 386 .00000000000000000005, 387 .000000000000000000005); 388 €ÐæÆ”`J Cerami Multics [Hindbo .†" ü®². Hindbo Multics $MW3ÑTVrâETå™dwnoneASCII_CRT MI9\dcl time_info_$month_names fixed bin ext static; /* Table of month names in various languages. */ 1 51 1 52 dcl 1 ti_month based (addr (time_info_$month_names)), 1 53 2 number_lang fixed bin, /* number of languages in the table. */ 1 54 2 pad fixed bin, 1 55 2 e (0 refer (ti_month.number_lang), 12), 1 56 3 short char(8) var, /* short form of a month name, i.e., Nov */ 1 57 3 long char(32) var; /* long form of a month name, i.e. November */ 1 58 dcl time_info_$day_names fixed bin ext static; /* Table of day names in various languages. */ 1 59 1 60 dcl 1 ti_day based (addr (time_info_$day_names)), 1 61 2 number_lang fixed bin, /* number of languages in the table. */ 1 62 2 pad fixed bin, 1 63 2 e (0 refer (ti_day.number_lang), 7), 1 64 3 short char(8) var, /* short for of a day name, i.e. Sat */ 1 65 3 long char(32) var; /* long form of a day name, i.e. Saturday */ 1 66 dcl time_info_$offset_names fixed bin ext static; /* Table of offset names in various languages. */ 1 67 1 68 dcl 1 ti_offset based (addr (time_info_$offset_names)), 1 69 2 number_lang fixed bin, /* number of languages in the table. */ 1 70 2 number_offset fixed bin, 1 71 2 e (0 refer (ti_offset.number_lang), 0 refer (ti_offset.number_offset)), 1 72 3 short char(32) var, /* short form of an offset name, i.e. min */ 1 73 3 plural char(32) var, /* plural form of an offset name, i.e. minutes */ 1 74 3 singular char(32) var, /* singular for of an offset name, i.e. minute */ 1 75 3 this char(32) var; /* "this" which goes with singular */ 1 76 dcl time_info_$word_names fixed bin ext static; /* Table of word names in various languages. */ 1 77 1 78 dcl 1 ti_word based (addr (time_info_$word_names)), 1 79 2 number_lang fixed bin, /* number of languages in the table. */ 1 80 2 number_word fixed bin, 1 81 2 short (0 refer (ti_word.number_lang), 0 refer (ti_word.number_word)) 1 82 char (8) var, 1 83 2 word (0 refer (ti_word.number_lang), 0 refer (ti_word.number_word)) 1 84 char(32) var; /* a "word", i.e. Midnight */ 1 85 1 86 dcl time_info_$zone_names fixed bin ext static; /* Table of known time zones. */ 1 87 1 88 dcl 1 ti_zone based (addr (time_info_$zone_names)), 1 89 2 number_lang fixed bin, /* number of languages in which zone names */ 1 90 /* are defined. */ 1 91 2 number_zone fixed bin, /* number of zone names in the table. */ 1 92 2 e (0 refer (ti_zone.number_lang), 0 refer (ti_zone.number_zone)), 1 93 3 short char(4) var, /* short form of the zone name. */ 1 94 3 long char(64) var, /* long form of the zone name */ 1 95 3 pad fixed bin, 1 96 3 delta fixed bin(71); /* offset, in microseconds, of this time zone */ 1 97 /* from GMT (Greenwich mean time). This value */ 1 98 /* should be subtracted from a clock value */ 1 99 /* (which is expressed in GMT by definition). */ 1 100 /* to obtain a date/time expressed in the */ 1 101 /* named time zone. */ 1 102 /* NOTE: zones are listed in order of descending */ 1 103 /* delta, from +11 to -12. print_time_zones */ 1 104 /* requires this. */ 1 105 1 106 1 107 dcl (tiw_FiscalIndicator init (11) 1 108 ) fixed bin int static options (constant); 1 109 1 110 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 111 /* NOTE TO MAINTAINER: Before changing this file, see the comments in */ 1 112 /* time_info_cds.incl.pl1 */ 1 113 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 114 1 115 /* END OF: time_names_.incl.pl1 * * * * * * * * * * * * * * * * */ 419 2 1 /* BEGIN INCLUDE FILE .... time_info_search.incl.pl1 .... 03/16/83 J Falksen */ 2 2 2 3 /* This include file describes an internal interface mainly used by */ 2 4 /* convert_date_to_binary_ to rapidly search the words in time_info_. */ 2 5 /* ** USER PROGRAMS ARE NOT TO USE THIS TABLE. ** */ 2 6 2 7 dcl time_info_$tokens fixed bin ext static; 2 8 /* reference point for token table */ 2 9 2 10 dcl 1 ti_token based (ti_token_p), 2 11 2 count fixed bin, 2 12 2 ambig bit (1)aligned, /* 1- str does not have same */ 2 13 /* ..meaning in all languages */ 2 14 2 item (0 refer (ti_token.count)), 2 15 3 symbol char (32),/* canonical lowercase form */ 2 16 3 list_r bit (18)aligned; 2 17 /**** list_r is the offset of the item list which goes with symbol. To */ 2 18 /**** build a pointer to the list, use: */ 2 19 /**** addrel (addr (time_info_$version), ti_token.list_r (cur_token)) */ 2 20 2 21 2 22 dcl ti_token_p ptr; /* = addr (time_info_$tokens) */ 2 23 2 24 dcl item_p ptr, 2 25 1 item based (item_p)unal, 2 26 2 count fixed bin aligned, /* >1 => diff mean/diff lang */ 2 27 2 e (0 refer (item.count)), 2 28 3 ambig bit (1), /* 1-same mean/diff lang */ 2 29 3 table fixed bin (7) unsigned, /* what table is this */ 2 30 3 element fixed bin (10) unsigned, /* which element in table */ 2 31 3 in_lang bit (18); /* languages using it */ 2 32 2 33 2 34 /**** Note that this last element places a limit of 18 on the */ 2 35 /**** number of languages which may be defined in the table. */ 2 36 2 37 /* The table name values assigned here are as needed by CDTB */ 2 38 dcl (Day_table init (1), 2 39 Language_table init (2), 2 40 Month_table init (3), 2 41 Offset_table init (4), 2 42 Word_table init (5), 2 43 Zone_table init (6), 2 44 This_table init (7) /* resides in offset table */ 2 45 ) fixed bin int static options (constant); 2 46 2 47 dcl mo_name (12) char (3) int static options (constant) init ( 2 48 "Jan", "Feb", "Mar", "Apr", "May", "Jun", 2 49 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); 2 50 dcl da_name (7) char (3) int static options (constant) init ( 2 51 "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"); 2 52 2 53 dcl the_offset_count fixed bin int static options (constant) init (8); 2 54 dcl of_name (8) char (12) int static options (constant) init ( 2 55 "year", "month", "week", "day", 2 56 "Hour", "Minute", "Second", "Microsecond"); 2 57 2 58 dcl the_word_count fixed bin int static options (constant) init (13); 2 59 dcl wo_name (13) char (12) int static options (constant) init ( 2 60 "Before", "Or", "After", "On", "Noon", "Midnight", "Now", 2 61 "Yesterday", "Today", "Tomorrow", "FiscalWeek", 2 62 "AM", "PM"); 2 63 2 64 2 65 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 66 /* NOTE TO MAINTAINER: Before changing this file, see the comments in */ 2 67 /* time_info_cds.incl.pl1 */ 2 68 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 69 2 70 /* END INCLUDE FILE ..... time_info_search.incl.pl1 ..... */ 420 3 1 /* BEGIN INCLUDE FILE ..... time_offset.incl.pl1 ..... 08/23/79 J Falksen */ 3 2 3 3 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 3 4 /* */ 3 5 /* Name: time_offset.incl.pl1 */ 3 6 /* */ 3 7 /* 1) This structure provides input to date_time_$offset_to_clock. */ 3 8 /* Both integer and real fields may be supplied. Each field containing data */ 3 9 /* must have its use bit set. All values may be positive or negative. */ 3 10 /* a) dw is applied first. */ 3 11 /* b) The size of a year is dependant upon WHICH year. The base year is */ 3 12 /* determined. The (adjusted) clock value is the reference for this. */ 3 13 /* The integral years (whether from fixed, float, or both) are added to */ 3 14 /* this base year. The new base year is used to determine what value the */ 3 15 /* fraction is applied to. */ 3 16 /* c) The size of a month is dependant upon WHICH month of WHICH year. */ 3 17 /* The base year/month is determined. The (adjusted) clock value is the */ 3 18 /* reference for this. The integral months are added to this base month, */ 3 19 /* forming a new base year/month. The new base month in used to determine */ 3 20 /* value the fraction is applied to. */ 3 21 /* d) Values smaller than a month are added "in parallel" because their */ 3 22 /* size is always constant (leap-seconds ignored). */ 3 23 /* */ 3 24 /* 2) This structure receives output from date_time_$from_clock_interval. */ 3 25 /* time_offset.dw is not used. The input values in val are ignored; they */ 3 26 /* are reset. flag specifies the units in which the output is to be */ 3 27 /* expressed and whether the fractional amount is desired. If only the */ 3 28 /* smallest unit is set to receive the fraction it leaves the structure in */ 3 29 /* a state that it may be given to $offset_to_clock without modification. */ 3 30 /* */ 3 31 /* Status */ 3 32 /* 06/07/83 jaf 0) Created */ 3 33 /* 84-11-19 jaf 1) Changed the form of the dw field, added named constants */ 3 34 /* */ 3 35 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 3 36 3 37 dcl 1 time_offset aligned based(Ptime_offset), 3 38 2 version char (8), 3 39 2 flag, 3 40 3 yr fixed bin, 3 41 3 mo fixed bin, 3 42 3 wk fixed bin, 3 43 3 da fixed bin, 3 44 3 hr fixed bin, 3 45 3 min fixed bin, 3 46 3 sec fixed bin, 3 47 3 Usec fixed bin, 3 48 2 val, 3 49 3 yr float dec (20), /* years */ 3 50 3 mo float dec (20), /* months */ 3 51 3 wk float dec (20), /* weeks */ 3 52 3 da float dec (20), /* days */ 3 53 3 hr float dec (20), /* hours */ 3 54 3 min float dec (20), /* minutes */ 3 55 3 sec float dec (20), /* seconds */ 3 56 3 Usec float dec (20), /* microseconds */ 3 57 2 dw, 3 58 3 flag fixed bin, /* how to select day, if at all */ 3 59 3 val fixed bin; /* Day of the week (1=Mon...7=Sun). */ 3 60 3 61 /**** time_offset.flag settings for $offset_to_clock */ 3 62 dcl (UNUSED init (0), /* this offset unit is unused */ 3 63 USED init (1), /* this offset unit has a value */ 3 64 /**** time_offset.flag settings for $from_clock_interval */ 3 65 /****UNUSED init (0), /* this offset unit is unused */ 3 66 INTEGER init (1), /* return interval unit as an integer */ 3 67 FRACTION init (2), /* return interval unit as integer+fraction */ 3 68 /**** offset.dw.flag settings for $offset_to_clock. Tells how to select the */ 3 69 /* day given in offset.dw.val */ 3 70 BEFORE init (-2),/* before day given in clock_in */ 3 71 ON_OR_BEFORE init (-1),/* on or before day given in clock_in */ 3 72 /****UNUSED init (0), /* don't apply day of week offset */ 3 73 ON_OR_AFTER init (1), /* on or after day given in clock_in */ 3 74 AFTER init (2) /* after day given in clock_in */ 3 75 ) fixed bin int static options (constant); 3 76 3 77 dcl Ptime_offset ptr, 3 78 Vtime_offset_2 char (8) int static options(constant) init("timeoff2"); 3 79 3 80 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 3 81 /* */ 3 82 /* Name: time_offset_array_.incl.pl1 */ 3 83 /* */ 3 84 /* This is an array form of time_offset. */ 3 85 /* */ 3 86 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 3 87 3 88 dcl 1 time_offset_array aligned based(Ptime_offset), 3 89 2 version char (8), 3 90 2 flag (8) fixed bin, 3 91 2 val (8) float dec (20), 3 92 2 dw, 3 93 3 (flag, val) fixed bin; 3 94 3 95 /* END INCLUDE FILE ..... time_offset.incl.pl1 ..... */ 421 422 end date_time_interval; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/13/84 1140.2 date_time_interval.pl1 >spec>temp>7065>date_time_interval.pl1 419 1 09/06/84 0850.2 time_names.incl.pl1 >ldd>include>time_names.incl.pl1 420 2 09/06/84 0850.2 time_info_search.incl.pl1 >ldd>include>time_info_search.incl.pl1 421 3 12/13/84 1138.9 time_offset.incl.pl1 >spec>temp>7065>time_offset.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. FRACTION constant fixed bin(17,0) initial dcl 3-62 ref 275 INTEGER constant fixed bin(17,0) initial dcl 3-62 ref 174 266 267 268 269 270 271 298 Language_table 000260 constant fixed bin(17,0) initial dcl 2-38 set ref 243* ME 000010 internal static char(18) initial unaligned dcl 357 set ref 98 128* 152* 160* 171* 204* 216* 236* 247* 254* 282* Offset_table 000231 constant fixed bin(17,0) initial dcl 2-38 set ref 168* UNUSED constant fixed bin(17,0) initial dcl 3-62 ref 102 290 Vtime_offset_2 000000 constant char(8) initial unaligned dcl 3-77 ref 277 abs builtin function dcl 415 ref 316 active_fnc_err_ 000024 constant entry external dcl 400 ref 109 121 addr builtin function dcl 415 ref 98 279 279 313 316 318 arg based char unaligned dcl 332 set ref 148 150 152* 157 160* 168* 171* 179 181 183 183 185 185 190 190 193 195 195 197 197 199 199 201 201 204* 216* 233* 236* 243* 247* arg_ct 000100 automatic fixed bin(17,0) dcl 333 set ref 105* 124 137 arg_l 000101 automatic fixed bin(21,0) dcl 334 set ref 138* 143 148 150 152 152 157 160 160 168 168 171 171 179 181 183 183 185 185 190 190 193 195 195 197 197 199 199 201 201 204 204 213 216 216 232* 233 233 236 236 242* 243 243 247 247 arg_p 000104 automatic pointer dcl 336 set ref 138* 142 148 150 152 157 160 168 171 179 181 183 183 185 185 190 190 193 195 195 197 197 199 199 201 201 204 212 216 231* 233 236 241* 243 247 argno 000102 automatic fixed bin(17,0) dcl 335 set ref 137* 138* 230* 231 232 233 236* bf 0(01) 000617 automatic bit(1) level 2 packed unaligned dcl 394 set ref 183* 195* 313 clock builtin function dcl 415 ref 229 code 000106 automatic fixed bin(35,0) dcl 337 set ref 105* 106 113 126* 128* 138* 233* 234 236* 279* 280 282* com_err_ 000026 constant entry external dcl 401 ref 117 command 000107 automatic bit(1) unaligned dcl 338 set ref 108* 115* 120* 328 convert builtin function dcl 415 ref 157 convert_date_to_binary_$relative 000030 constant entry external dcl 402 ref 233 cu_$af_arg_ptr 000032 constant entry external dcl 405 ref 110 cu_$af_return_arg 000034 constant entry external dcl 406 ref 105 cu_$arg_ptr 000036 constant entry external dcl 407 ref 116 cvalue 000110 automatic fixed bin(71,0) array dcl 339 set ref 233* 279* 279* date_time_$from_clock_interval 000040 constant entry external dcl 408 ref 279 date_time_$get_time_info_index 000042 constant entry external dcl 410 ref 168 243 dimension builtin function dcl 415 ref 209 e 2 based structure array level 2 unaligned dcl 1-68 err 000114 automatic entry variable dcl 340 set ref 109* 117* 121* 128 152 160 171 204 216 236 247 254 282 error 000617 automatic bit(1) level 2 packed unaligned dcl 394 set ref 154* 162* 172* 205* 217* 238* 248* 257* 260 error_table_$badopt 000016 external static fixed bin(35,0) dcl 341 set ref 204* error_table_$noarg 000022 external static fixed bin(35,0) dcl 343 ref 126 error_table_$not_act_fnc 000020 external static fixed bin(35,0) dcl 342 ref 113 fd 000120 automatic fixed bin(17,0) dcl 344 set ref 298* 301* 307 308 flag 2 000620 automatic fixed bin(17,0) array level 2 dcl 414 set ref 102* 174* 266* 267* 268* 269* 270* 271* 275* 290 298 flag_sw 000121 automatic bit(1) unaligned dcl 345 set ref 103* 175* 264 fld24 000122 automatic float dec(24) dcl 346 set ref 292* 295 302 304* 304 307 316 fldpic 000131 automatic picture(50) unaligned dcl 347 set ref 307* 308 fractional_digits 000146 automatic fixed bin(17,0) dcl 348 set ref 100* 157* 157 158 188* 275 298 get_arg 000150 automatic entry variable dcl 349 set ref 110* 116* 138 i 000154 automatic fixed bin(17,0) dcl 351 set ref 168* 169 174 176 289* 290 292 295 298 298 313 316 318* index builtin function dcl 415 ref 148 179 ioa_ 000044 constant entry external dcl 412 ref 328 izu 0(02) 000617 automatic bit(1) level 2 packed unaligned dcl 394 set ref 197* 201* 295 lang_ctl_arg 000156 automatic char(16) unaligned dcl 353 set ref 99* 193* 247* lang_index 000155 automatic fixed bin(17,0) dcl 352 set ref 243* 245 313 316 318 lang_l 000162 automatic fixed bin(17,0) dcl 354 set ref 97* 143* 242 lang_p 000164 automatic pointer dcl 355 set ref 98* 142* 241 last_arg 000166 automatic char(32) unaligned dcl 356 set ref 152* 160* 181* length builtin function dcl 415 ref 328 328 ltrim builtin function dcl 415 ref 308 max builtin function dcl 415 ref 176 now_clock 000176 automatic fixed bin(71,0) dcl 358 set ref 229* 233* number_offset 1 based fixed bin(17,0) level 2 dcl 1-68 ref 313 313 316 316 318 318 plural 13 based varying char(32) array level 3 dcl 1-68 ref 318 pos_ct 000200 automatic fixed bin(17,0) dcl 359 set ref 136* 209 211* 211 212 213 221 223 pos_l 000202 automatic fixed bin(17,0) array dcl 360 set ref 213* 226* 226 227* 232 pos_p 000204 automatic pointer array dcl 361 set ref 209 212* 225* 225 231 result 000210 automatic varying char(1024) dcl 362 set ref 135* 288* 295 305* 305 308* 308 309* 309 310* 310 311* 311 313* 313 316* 316 318* 318 320* 320 324* 324 328 328 328* 330 ret based varying char dcl 363 set ref 111* 330* ret_l 000611 automatic fixed bin(21,0) dcl 364 set ref 105* 111 330 ret_p 000612 automatic pointer dcl 365 set ref 105* 111 330 rounder 000002 constant float dec(24) initial array dcl 366 ref 307 rtrim builtin function dcl 415 ref 309 310 324 short 2 based varying char(32) array level 3 dcl 1-68 ref 313 singular 24 based varying char(32) array level 3 dcl 1-68 ref 316 smallest_unit 000614 automatic fixed bin(17,0) dcl 389 set ref 136* 176* 176 272* 275 295 298 state 000615 automatic fixed bin(17,0) dcl 390 set ref 136* 139 141* 145 147* 166 187* 192* 199* 250 250 252 254* string builtin function dcl 415 set ref 101* substr builtin function dcl 415 ref 308 sw 000617 automatic structure level 1 packed unaligned dcl 394 set ref 101* ti_offset based structure level 1 unaligned dcl 1-68 time_info_$offset_names 000046 external static fixed bin(17,0) dcl 1-66 set ref 313 316 318 time_offset_array based structure level 1 dcl 3-88 toa 000620 automatic structure level 1 unaligned dcl 414 set ref 279 279 unit_ct 000616 automatic fixed bin(17,0) dcl 391 set ref 136* 177* 177 252 val 12 000620 automatic float dec(20) array level 2 dcl 414 set ref 292 verify builtin function dcl 415 ref 150 version 000620 automatic char(8) level 2 packed unaligned dcl 414 set ref 277* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. AFTER internal static fixed bin(17,0) initial dcl 3-62 BEFORE internal static fixed bin(17,0) initial dcl 3-62 Day_table internal static fixed bin(17,0) initial dcl 2-38 Month_table internal static fixed bin(17,0) initial dcl 2-38 ON_OR_AFTER internal static fixed bin(17,0) initial dcl 3-62 ON_OR_BEFORE internal static fixed bin(17,0) initial dcl 3-62 Ptime_offset automatic pointer dcl 3-77 This_table internal static fixed bin(17,0) initial dcl 2-38 USED internal static fixed bin(17,0) initial dcl 3-62 Vtime_info_2 internal static char(8) initial unaligned dcl 1-23 Word_table internal static fixed bin(17,0) initial dcl 2-38 Zone_table internal static fixed bin(17,0) initial dcl 2-38 da_name internal static char(3) initial array unaligned dcl 2-50 item based structure level 1 unaligned dcl 2-24 item_p automatic pointer dcl 2-24 mo_name internal static char(3) initial array unaligned dcl 2-47 of_name internal static char(12) initial array unaligned dcl 2-54 site_date internal static fixed bin(17,0) initial dcl 1-35 site_date_time internal static fixed bin(17,0) initial dcl 1-35 site_time internal static fixed bin(17,0) initial dcl 1-35 the_offset_count internal static fixed bin(17,0) initial dcl 2-53 the_word_count internal static fixed bin(17,0) initial dcl 2-58 ti_day based structure level 1 unaligned dcl 1-60 ti_keyword based structure level 1 unaligned dcl 1-29 ti_language based structure level 1 unaligned dcl 1-42 ti_month based structure level 1 unaligned dcl 1-52 ti_token based structure level 1 unaligned dcl 2-10 ti_toke¾ Zemmin 0^\¼˜zø Zemmin SiteSA  Rÿ+þ!€jMcGinn bä&&ÎÄj² McGinn jm Develcon !HLÕ0 6LY˜ÅL m´bšnoneVIP7400_DTR LKð"ŠÄEichele z¸phвº Eichele de Multics !myOU·ÛÝQØÉÏÍQ!'_„noneSTY_TELNET LKsd*¢½Slack ä˜ÔÆð´šê Slack Multics ! T%´<T.já„ŠSØ» ¸enoneSTY_TELNET S¾Ú7 “ÄGaunt €B¦Lô0ÊV ¼@ Ü8¶ Gaunt DEVM QšI{&Q¿C\ü³Q¿