COMPILATION LISTING OF SEGMENT set_time_default Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-18_1146.45_Tue_mdt 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 std: set_time_default: set_time_defaults: proc; 13 14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 15 /* */ 16 /* Names: set_time_default, std */ 17 /* */ 18 /* SYNTAX AS A COMMAND: */ 19 /* std key value {-control_arg} */ 20 /* */ 21 /* SYNTAX AS AN ACTIVE FUNCTION: */ 22 /* [std key value {-control_arg}] */ 23 /* */ 24 /* FUNCTION: */ 25 /* This command sets a default date/time value for the process. */ 26 /* When used as an active function, it returns "true" if the key is */ 27 /* valid and the value is proper for the key. Otherwise, it returns */ 28 /* "false". */ 29 /* */ 30 /* ARGUMENTS: */ 31 /* key */ 32 /* is a keyword representing the default to set. */ 33 /* value */ 34 /* is a value to become the new default. If the value is */ 35 /* "-system" (or "-sys"), the system default is used. If the */ 36 /* value is -pop, it uses a remembered value, saved by an earlier */ 37 /* setting with the -push option. It is an error if no earlier */ 38 /* -push has been done. */ 39 /* */ 40 /* CONTROL ARGUMENTS: */ 41 /* -push */ 42 /* saves the current value of the default before setting to the */ 43 /* new value. */ 44 /* */ 45 46 /* LIST OF keys: */ 47 /* debug */ 48 /* Set the date/time software debugging switch. The value must be "off" */ 49 /* or "false", or "on" or "true". The initial default is "off". */ 50 /* date */ 51 /* Set the process default date. The value must be acceptable to */ 52 /* date_time_$format (see note). */ 53 /* date_time */ 54 /* Set the process default date_time. The value must be accept- */ 55 /* able to date_time_$format (see note). */ 56 /* language, lang */ 57 /* Set the process default language. The language name may be in */ 58 /* any of the languages known to the date/time system. */ 59 /* time */ 60 /* Set the process default date. The value must be acceptable to */ 61 /* date_time_$format (see note). */ 62 /* zone */ 63 /* Set the process default zone. The zone abbreviation may be in */ 64 /* any of the languages known to the date/time system. */ 65 /* */ 66 /* Notes */ 67 /* The named format strings acceptable to date_time_$format may be seen */ 68 /* by typing "display_time_info -format". The names "date", "time", and */ 69 /* "date_time" are not allowed in this context. */ 70 /* */ 71 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 72 /* Status: */ 73 /* 1) 03/30/83 - jaf Created */ 74 /* */ 75 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *-* */ 76 77 78 /****^ HISTORY COMMENTS: 79* 1) change(86-07-18,GDixon), approve(86-07-25,MCR7495), 80* audit(86-07-25,Martinson), install(86-08-19,MR12.0-1120): 81* Add the debug keyword, with values of "off" or "on". 82* END HISTORY COMMENTS */ 83 84 85 if (time_defaults_$zone_delta = -1) 86 then call date_time_$set_time_defaults; 87 88 call arg_start_up; 89 if err_sw then return; 90 if ^command 91 then do; 92 ret = "true"; /* assume a correct AF call */ 93 err = return_false; /* redirect the error output call */ 94 end; 95 sys_sw, pop_sw, push_sw = "0"b; 96 keyname, value = ""; 97 98 /* NOW process the arguments given. */ 99 100 do arg_no = 1 to arg_ct; 101 call get_arg (arg_no, arg_p, arg_l, code); 102 if (arg = "-push") 103 then push_sw = "1"b; 104 else if (keyname = "") 105 then do; 106 do keyno = 1 to keyword_last; 107 if (keyword (keyno) = arg) 108 then goto got_key; 109 end; 110 call err (error_table_$bad_arg, me_s, "^a", arg); 111 return; 112 got_key: 113 keyname = arg; 114 end; 115 else if (value = "") 116 then do; 117 if (arg = "-system") | (arg = "-sys") 118 then sys_sw = "1"b; 119 else if (arg = "-pop") 120 then pop_sw = "1"b; 121 value = arg; 122 end; 123 else do; 124 if (index (arg, "-") = 1) 125 then code = error_table_$badopt; 126 else code = error_table_$bad_arg; 127 goto usage_msg; 128 end; 129 end; 130 if (value = "") 131 then do; 132 code = error_table_$wrong_no_of_args; 133 arg_p = addr (arg_p); 134 arg_l = 0; 135 usage_msg: 136 call err (code, me_s, "^a 137 USAGE:^-std key value {-push} 138 value may be -pop or -sys", arg); 139 return; 140 end; 141 142 if (keyno < 4) & ^pop_sw & ^sys_sw 143 then do; /* validate format string */ 144 if (length (value) > 64) 145 then do; 146 call err (error_table_$bigarg, me_s, "^a ""^a""", keyname, 147 value); 148 return; 149 end; 150 if (value = "date") | (value = "time") | (value = "date_time") 151 then do; 152 call err (0, me_s, "The keyword is not usable here. ^a", 153 value); 154 return; 155 end; 156 call date_time_$valid_format ((value), errloc, code); 157 if (code ^= 0) 158 then do; 159 call err (code, me_s, "^[ 160 Format is: ""^va"" 161 error at: ^vx^^^]", 162 (errloc > 0), length (value), value, errloc); 163 return; 164 end; 165 end; 166 if push_sw | pop_sw 167 then if (p.heap = null()) 168 then p.heap = get_system_free_area_(); 169 170 /* ------------------------------------------------------------------------- */ 171 /* Note that the setting, pushing, & popping does not effect lower rings. */ 172 /* ------------------------------------------------------------------------- */ 173 goto rtn (keyno); /* format: tree */ 174 175 176 rtn (1): /** date */ 177 if push_sw 178 then call push (p.date, (time_defaults_$date)); 179 if pop_sw 180 then time_defaults_$date = pop (p.date); 181 else if sys_sw 182 then time_defaults_$date = "system_date"; 183 else time_defaults_$date = value; 184 return; 185 186 rtn (2): /** date_time */ 187 if push_sw 188 then call push (p.date_time, (time_defaults_$date_time)); 189 if pop_sw 190 then time_defaults_$date_time = pop (p.date_time); 191 else if sys_sw 192 then time_defaults_$date_time = "system_date_time"; 193 else time_defaults_$date_time = value; 194 return; 195 196 rtn (4): /** language */ 197 rtn (5): /** lang */ 198 if push_sw 199 then call push (p.lang, time_defaults_$language); 200 if pop_sw 201 then value = pop (p.lang); 202 else if sys_sw 203 then value = "system_lang"; 204 call date_time_$set_lang ((value), code); 205 if (code ^= 0) 206 then do; 207 call err (code, me_s, "Setting language ""^a"".", value); 208 if push_sw 209 then value = pop (p.lang); 210 end; 211 return; 212 213 rtn (3): /** time */ 214 if push_sw 215 then call push (p.time, (time_defaults_$time)); 216 if pop_sw 217 then time_defaults_$time = pop (p.time); 218 else if sys_sw 219 then time_defaults_$time = "system_time"; 220 else time_defaults_$time = value; 221 return; 222 223 rtn (6): /** zone */ 224 if push_sw 225 then call push (p.zone, (time_defaults_$zone_short)); 226 if pop_sw 227 then value = pop (p.zone); 228 else if sys_sw 229 then value = "system_zone"; 230 call date_time_$set_zone ((value), code); 231 if (code ^= 0) 232 then do; 233 call err (code, me_s, "Setting zone ""^a"".", value); 234 if push_sw 235 then value = pop (p.zone); 236 end; 237 return; 238 239 rtn (7): /** debug */ 240 rtn (8): /** db */ 241 if push_sw 242 then if time_defaults_$debug 243 then call push (p.debug, "on"); 244 else call push (p.debug, "off"); 245 if pop_sw 246 then value = pop (p.debug); 247 else if sys_sw 248 then value = "off"; 249 if value = "on" | value = "true" then 250 on_sw = "1"b; 251 else if value = "off" | value = "false" then 252 on_sw = "0"b; 253 else do; 254 call err (error_table_$bad_arg, me_s, "Setting debug switch to ""^a"".", value); 255 if push_sw 256 then value = pop (p.debug); 257 end; 258 time_defaults_$debug = on_sw; 259 return; 260 261 pop_err: 262 call err (0, me_s, "No value available to pop. ^a", keyname); 263 return; 264 265 return_false: proc; 266 267 ret = "false"; 268 269 end return_false; 270 /* * * * * * * * * * * * * END set_time_defaults * * * * * * * * * * * * * */ 271 272 ptd: print_time_default: print_time_defaults: entry; 273 274 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 275 /* */ 276 /* Names: print_time_defaults, ptd */ 277 /* */ 278 /* SYNTAX AS A COMMAND: */ 279 /* ptd {keys} {-control_arg} */ 280 /* */ 281 /* SYNTAX AS AN ACTIVE FUNCTION: */ 282 /* [ptd key {-control_arg}] */ 283 /* */ 284 /* FUNCTION: */ 285 /* This command displays system or process time-related defaults. */ 286 /* If set_time_default has pushed any values, these are also shown. */ 287 /* The keys specify which defaults to print. When called with no */ 288 /* keys, all time-related defaults are shown. When used as an */ 289 /* active function, it returns the current value of one of the */ 290 /* defaults. */ 291 /* */ 292 /* ARGUMENTS: */ 293 /* key */ 294 /* selects which default value is to be displayed. */ 295 /* */ 296 /* CONTROL ARGUMENTS: */ 297 /* -system, -sys */ 298 /* This requests that the system defaults be displayed instead of */ 299 /* the process defaults. */ 300 /* */ 301 /* LIST OF keys: */ 302 /* date */ 303 /* Display the default date format. A date format shows the */ 304 /* year, month, and day in month. */ 305 /* date_time */ 306 /* Display the default date/time format. This combines both date */ 307 /* and time. */ 308 /* debug */ 309 /* Display the date/time debugging switch. */ 310 /* language, lang */ 311 /* Display the default language. Any time words in output */ 312 /* date/time strings will be in this language. */ 313 /* time */ 314 /* Display the default time format. A time format shows the */ 315 /* hour, minutes, and perhaps seconds. */ 316 /* zone */ 317 /* Display the default time zone name. Unless explicitly speci- */ 318 /* fied, all input time strings will be interpreted relative to */ 319 /* this zone, and all output time values will be expressed in */ 320 /* this zone. */ 321 /* */ 322 /* NOTES: */ 323 /* The values displayed are in this order: */ 324 /* date, date_time, time, language, zone, debug (if on). */ 325 /* */ 326 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 327 /* Status: */ 328 /* 1) 03/30/83 - jaf Created */ 329 /* */ 330 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *-* */ 331 332 if (time_defaults_$zone_delta = -1) 333 then call date_time_$set_time_defaults; 334 335 /**** Assume we were called as an active function. Get ptr to/length of our */ 336 /**** return argument, and count of our input arguments. */ 337 err_sw = ""b; 338 string (k) = ""b; 339 call arg_start_up; 340 if err_sw then return; 341 342 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 343 /* NOW process all the arguments given. */ 344 do arg_no = 1 to arg_ct; 345 call get_arg (arg_no, arg_p, arg_l, code); 346 done = ""b; 347 do i = 1 to dimension (keyword, 1) while (^done); 348 if (keyword (i) = arg) 349 then do; 350 done = "1"b; 351 if ^command & (string (k.w) ^= ""b) & (i <= keyword_last) 352 then do; 353 call err (0, me_p, 354 "Active function only accepts one keyword. ^a", arg); 355 return; 356 end; 357 key_sw (i) = "1"b; 358 end; 359 end; 360 if ^done 361 then do; 362 call err (error_table_$badopt, me_p, "^a", arg); 363 err_sw = "1"b; 364 end; 365 end; 366 if ^command & (string (k.w) = ""b) 367 then do; 368 call err (0, me_p, "Active function must have a keyword."); 369 return; 370 end; 371 372 if err_sw 373 then return; 374 375 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 376 /* There are no errors. Do what is required for each option. */ 377 378 if (string (k.w) = ""b) 379 then do; 380 string (k.w) = "11110100"b; 381 if time_defaults_$debug 382 then k.debug_sw = "1"b; 383 end; 384 sys_sw = (k.system_sw ^= "00"b); 385 386 if k.date_sw 387 then do; 388 if sys_sw 389 then ret = ti_keyword.str (site_date); 390 else ret = time_defaults_$date; 391 if command 392 then if sys_sw 393 then call ioa_ ("System default date format: ""^a""", ret); 394 else call list$format (p.date, "date format:", ret); 395 end; 396 397 if k.date_time_sw 398 then do; 399 if sys_sw 400 then ret = ti_keyword.str (site_date_time); 401 else ret = time_defaults_$date_time; 402 if command 403 then if sys_sw 404 then call ioa_ ("System default date/time format: ""^a""", ret); 405 else call list$format (p.date_time, "date/time format:", ret); 406 end; 407 408 if k.time_sw 409 then do; 410 if sys_sw 411 then ret = ti_keyword.str (site_time); 412 else ret = time_defaults_$time; 413 if command 414 then if sys_sw 415 then call ioa_ ("System default time format: ""^a""", ret); 416 else call list$format (p.time, "time format:", ret); 417 end; 418 419 if k.lang_sw 420 then do; 421 if sys_sw 422 then ret = ti_language.name (time_info_$default_language_index, time_info_$default_language_index); 423 else ret = rtrim (time_defaults_$language); 424 if command 425 then if sys_sw 426 then call ioa_ ("System default language: ^a", ret); 427 else do; 428 if (time_info_$default_language_index = time_defaults_$language_index) 429 then ret = ret || " (system_lang)"; 430 call list (p.lang, "language:", ret); 431 end; 432 end; 433 434 if k.zone_sw 435 then do; 436 if sys_sw 437 then do; 438 ret = sys_info$time_zone; 439 if command 440 then do; 441 lang_index = time_info_$default_language_index; 442 zone_index = date_time_$get_time_info_index ((ret), Zone_table); 443 call ioa_ ("System default zone: ^a ^a (^a)", 444 zone_dif (ti_zone.delta (lang_index, zone_index)), 445 ret, ti_zone.long (lang_index, zone_index)); 446 end; 447 end; 448 else do; 449 ret = time_defaults_$zone_short; 450 if command 451 then do; 452 if (translate (ret, AZ, az) = translate (sys_info$time_zone, AZ, az)) 453 then ret = ret || " (system_zone, "; 454 else ret = ret || " ("; 455 ret = ret || time_defaults_$zone_long; 456 ret = ret || ")"; 457 call list (p.zone, "zone: "|| zone_dif (time_defaults_$zone_delta), 458 ret); 459 end; 460 end; 461 end; 462 463 if k.debug_sw 464 then do; 465 if sys_sw 466 then ret = "off"; 467 else if time_defaults_$debug 468 then ret = "on"; 469 else ret = "off"; 470 if command 471 then if sys_sw 472 then call ioa_ ("System default date/time debugging: ""^a""", ret); 473 else call list (p.debug, "date/time debugging:", ret); 474 else if ret = "on" 475 then ret = "true"; 476 else ret = "false"; 477 end; 478 479 return; 480 481 /* * * * * * * * * * * * * END print_time_defaults * * * * * * * * * * * * * */ 482 483 zone_dif: proc (td) returns (char (5)); 484 dcl td fixed bin (71); 485 486 dcl time fixed bin (71); 487 dcl 1 result, 488 2 s char (1), 489 2 (HH,MM) pic "99"; 490 491 time = td; 492 s = "-"; /* values stored in table have */ 493 if (time < 0) /* ..opposite sign from the way it */ 494 then do; /* ..is displayed. */ 495 s = "+"; 496 time = -time; 497 end; 498 HH, i = divide (time, 3600000000, 17, 0); 499 time = time - i*3600000000; 500 MM = divide (time, 60000000, 17, 0); 501 return (string (result)); 502 end zone_dif; 503 504 arg_start_up: proc; 505 506 err_sw = ""b; 507 call cu_$af_return_arg (arg_ct, ret_p, ret_l, code); 508 if code = 0 /* if called as an active function, */ 509 then do; 510 command = "0"b; 511 err = active_fnc_err_; 512 get_arg = cu_$af_arg_ptr; 513 end; 514 else if code = error_table_$not_act_fnc /* if called as a command, */ 515 then do; 516 command = "1"b; /* indicate so */ 517 get_arg = cu_$arg_ptr; 518 err = com_err_; 519 ret_p = addr (ret_temp); 520 ret_l = maxlength (ret_temp); 521 end; 522 else do; /* if some unknown error occurs, */ 523 command = "0"b; /* ..report it to user as if we were */ 524 call active_fnc_err_ (code, me_p); /* ..called as an active fnc */ 525 err_sw = "1"b; 526 end; 527 end arg_start_up; 528 529 push: proc (list_p, item); 530 531 dcl list_p ptr, 532 item char (*); 533 534 dcl e_p ptr; 535 dcl temp char (64)var; 536 dcl 1 e based (e_p), 537 2 version char (8), /* identification for dump tracing */ 538 2 next ptr, 539 2 data char (64)var; 540 541 542 allocate e in (heap); 543 e.version = "std_stk"; 544 e.next = list_p; 545 e.data = item; 546 list_p = e_p; 547 return; 548 549 pop: entry (list_p) returns (char (64)var); 550 551 if (list_p = null()) 552 then goto pop_err; 553 e_p = list_p; 554 temp = e.data; 555 list_p = e.next; 556 free e in (heap); 557 return (temp); 558 559 list: entry (list_p, item, current); 560 dcl current char (*)var; 561 dcl fmt_sw bit (1); 562 563 fmt_sw = ""b; 564 goto start; 565 566 list$format: entry (list_p, item, current); 567 568 fmt_sw = "1"b; 569 start: 570 call ioa_ ( "Default ^a ^a", item, form (current)); 571 do e_p = list_p repeat (e.next) while (e_p ^= null()); 572 call ioa_ (" ^vx ^a", length (item), form ((e.data))); 573 end; 574 return; 575 576 form: proc (format) returns (char (100)var); 577 dcl format char (*)var; 578 dcl result char (100)var; 579 dcl i fixed bin; 580 581 result = format; 582 if fmt_sw 583 then do; 584 if (index (format, "^") = 0) 585 then do; 586 done = ""b; 587 do i = 1 to ti_keyword.number_kwd while (^done); 588 if (ti_keyword.e.name (i) = format) 589 then do; 590 result = result || " ("; 591 result = result || ti_keyword.e.str (i); 592 result = result || ")"; 593 done = "1"b; 594 end; 595 end; 596 if ^done 597 then result = result || " (** UNKNOWN KEYWORD **)"; 598 end; 599 else do; 600 done = ""b; 601 do i = 1 to ti_keyword.number_kwd while (^done); 602 if (ti_keyword.e.str (i) = format) 603 then do; 604 result = result || " ("; 605 result = result || rtrim (ti_keyword.e.name (i)); 606 result = result || ")"; 607 done = "1"b; 608 end; 609 end; 610 end; 611 end; 612 return (result); 613 614 end form; 615 616 end push; 617 618 dcl AZ char (26) int static options (constant) init ( 619 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); 620 dcl az char (26) int static options (constant) init ( 621 "abcdefghijklmnopqrstuvwxyz"); 622 dcl active_fnc_err_ entry options (variable); 623 dcl arg char (arg_l) based (arg_p); 624 dcl arg_ct fixed bin; 625 dcl arg_l fixed bin (21); 626 dcl arg_no fixed bin; 627 dcl arg_p ptr; 628 dcl code fixed bin (35); 629 dcl com_err_ entry () options (variable); 630 dcl command bit (1); 631 dcl cu_$af_arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 632 dcl cu_$af_return_arg entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 633 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 634 dcl date_time_$valid_format 635 entry (char(*), fixed bin, fixed bin(35)); 636 dcl date_time_$get_time_info_index 637 entry (char(*), fixed bin) returns(fixed bin); 638 dcl date_time_$set_time_defaults entry; 639 dcl date_time_$set_lang 640 entry (char (*), fixed bin (35)); 641 dcl date_time_$set_zone 642 entry (char (*), fixed bin (35)); 643 dcl done bit (1); 644 dcl err entry options (variable) automatic; 645 dcl err_sw bit (1); 646 dcl errloc fixed bin; 647 dcl error_table_$bad_arg fixed bin (35) ext static; 648 dcl error_table_$badopt fixed bin (35) ext static; 649 dcl error_table_$bigarg fixed bin (35) ext static; 650 dcl error_table_$not_act_fnc fixed bin (35) ext static; 651 dcl error_table_$wrong_no_of_args fixed bin(35) ext static; 652 dcl get_arg entry (fixed bin, ptr, fixed bin (21), fixed bin (35)) 653 automatic; 654 dcl get_system_free_area_ entry() returns(ptr); 655 dcl heap area based (p.heap); 656 dcl i fixed bin; 657 dcl ioa_ entry () options (variable); 658 dcl keyname char (32)var; 659 dcl keyno fixed bin; 660 dcl lang_index fixed bin; 661 dcl me_s char (16) int static options (constant) 662 init ("set_time_default"); 663 dcl me_p char (20) int static options (constant) 664 init ("print_time_defaults"); 665 /* dcl microseconds_per_hour float dec (20) int static options (constant) 666* init (36e8); */ 667 dcl on_sw bit(1); 668 dcl pop_sw bit (1); 669 dcl push_sw bit (1); 670 dcl ret char (ret_l) var based (ret_p); 671 dcl ret_l fixed bin (21); 672 dcl ret_p ptr; 673 dcl ret_temp char (128)var; 674 dcl sys_info$time_zone char (3) aligned ext static; 675 dcl sys_sw bit (1); 676 dcl value char (64)var; 677 dcl zone_index fixed bin; 678 dcl 1 p int static, /* put together to ease probing */ 679 2 date ptr init (null ()), 680 2 date_time ptr init (null ()), 681 2 debug ptr init (null ()), 682 2 heap ptr init (null ()), 683 2 lang ptr init (null ()), 684 2 time ptr init (null ()), 685 2 zone ptr init (null ()); 686 687 dcl (addr, dimension, divide, index, length, maxlength, null, rtrim, 688 string, translate 689 ) builtin; 690 691 692 dcl key_sw (10) bit (1)unal defined k; 693 dcl 1 k, 694 2 w, 695 3 date_sw bit (1), 696 3 date_time_sw bit (1), 697 3 time_sw bit (1), 698 3 lang_sw bit (2), /* 4 language, 5 lang */ 699 3 zone_sw bit (1), 700 3 debug_sw bit (2), /* 7 debug, 8 db */ 701 2 system_sw bit (2); /* 9 -sys, 10 -system */ 702 703 dcl keyword_last fixed bin int static options (constant) init (8); 704 dcl keyword (10) char (10) int static options (constant) init ( 705 "date", /* 1 */ 706 "date_time", /* 2 */ 707 "time", /* 3 */ 708 "language", /* 4 */ 709 "lang", /* 5 */ 710 "zone", /* 6 */ 711 "debug", /* 7 */ 712 "db", /* 8 */ 713 "-sys", /* 9 */ 714 "-system"); /* 10 */ 715 1 1 /* START OF: time_names_.incl.pl1 * * * * * * * * * * * * * * * * */ 1 2 1 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 4 /* */ 1 5 /* Name: time_names_.incl.pl1 */ 1 6 /* */ 1 7 /* This include file defines the structure of values in the time_table_. The table */ 1 8 /* includes a list of time zones known to the system, as well as lists of month names */ 1 9 /* and names of days of the week. All names are expressed in several different languages */ 1 10 /* to facilitate transliteration of dates into these languages. The table includes */ 1 11 /* the list of languages in which dates may be expressed. */ 1 12 /* */ 1 13 /* Status */ 1 14 /* */ 1 15 /* 0) Created 06/07/78: J. Falksen */ 1 16 /* 1) Modified 07/04/78: G. Dixon */ 1 17 /* */ 1 18 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 19 1 20 1 21 dcl time_info_$version char (8) ext static; /* Version number of all structures in the */ 1 22 /* time_info_. Currently = 1. */ 1 23 dcl Vtime_info_2 char (8) int static options(constant) init("tinfo002"); 1 24 1 25 dcl time_info_$gmt_zone_index fixed bin (17) ext static; 1 26 dcl time_info_$default_language_index fixed bin (17) ext static; 1 27 1 28 dcl time_info_$date_time_keywords fixed bin ext static; /* Table of named date/time format strings */ 1 29 dcl 1 ti_keyword based (addr (time_info_$date_time_keywords)), 1 30 2 number_kwd fixed bin, /* number of keywords present */ 1 31 2 pad fixed bin, 1 32 2 e (0 refer (ti_keyword.number_kwd)), 1 33 3 name char (32), 1 34 3 str char (128)var; 1 35 dcl (site_date init (1), 1 36 site_date_time init (2), 1 37 site_time init (3) 1 38 ) fixed bin int static options (constant); 1 39 1 40 dcl time_info_$language_names fixed bin ext static; /* Table of language names, in various languages */ 1 41 1 42 dcl 1 ti_language based (addr (time_info_$language_names)), 1 43 2 number_lang fixed bin, /* number of language names present */ 1 44 2 pad fixed bin, 1 45 2 name (0 refer (ti_language.number_lang), 0 refer (ti_language.number_lang)) 1 46 char(32) varying; /* Name of the language. */ 1 47 /* All language names are expressed in all languages. name(i,j) gives the */ 1 48 /* jth language name in language i. name(i,i) gives a language name in its */ 1 49 /* own language. */ 1 50 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 * * * * * * * * * * * * * * * * */ 716 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 ..... */ 717 3 1 /* BEGIN INCLUDE FILE ..... time_defaults_.incl.pl1 ..... 03/29/83 J Falksen */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(86-07-18,GDixon), approve(86-07-25,MCR7495), 3 6* audit(86-07-25,Martinson), install(86-08-19,MR12.0-1120): 3 7* Add declaration for time_defaults_$debug. 3 8* END HISTORY COMMENTS */ 3 9 3 10 3 11 /* This include file defines the values in the time_default_ table. This */ 3 12 /* table declares the name and index (in time_info_) of the user-specified, */ 3 13 /* per-process default time language. Also, the full name, acronym, index */ 3 14 /* and time delta (difference from GMT) of the default time zone. The */ 3 15 /* per-process date_time, date, and time format string are here also. */ 3 16 3 17 /**** date_time_$format control strings */ 3 18 dcl time_defaults_$date_time char (64)var ext static; 3 19 dcl time_defaults_$date char (64)var ext static; 3 20 dcl time_defaults_$time char (64)var ext static; 3 21 3 22 /**** Name of default language in which dates are expressed. */ 3 23 dcl time_defaults_$language char(32) ext static; 3 24 3 25 /**** Value of ti_language_names.index for the default language. */ 3 26 dcl time_defaults_$language_index fixed bin ext static; 3 27 3 28 /**** full name of the default time zone. */ 3 29 dcl time_defaults_$zone_long char(64) var ext static; 3 30 3 31 /**** acronym for default time zone. */ 3 32 dcl time_defaults_$zone_short char(4) var ext static; 3 33 3 34 /**** offset, in microseconds, of default time zone from GMT */ 3 35 dcl time_defaults_$zone_delta fixed bin(71) ext static; 3 36 3 37 /**** index, in time_info_$zone_names, of the default time zone. */ 3 38 dcl time_defaults_$zone_index fixed bin ext static; 3 39 3 40 /**** debug switch controlling debugging within the date/time software. 3 41* Mainly of use in convert_date_to_binary_. */ 3 42 dcl time_defaults_$debug bit(1) aligned ext static; 3 43 3 44 /* END INCLUDE FILE ..... time_defaults_.incl.pl1 ..... */ 718 719 720 end set_time_default; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/18/00 1146.4 set_time_default.pl1 >udd>sm>ds>w>ml>set_time_default.pl1 716 1 09/06/84 0950.2 time_names.incl.pl1 >ldd>incl>time_names.incl.pl1 717 2 09/06/84 0950.2 time_info_search.incl.pl1 >ldd>incl>time_info_search.incl.pl1 718 3 09/02/86 1652.9 time_defaults_.incl.pl1 >ldd>incl>time_defaults_.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. AZ 000062 constant char(26) initial packed unaligned dcl 618 ref 452 452 HH 0(09) 000246 automatic picture(2) level 2 packed packed unaligned dcl 487 set ref 498* MM 0(27) 000246 automatic picture(2) level 2 packed packed unaligned dcl 487 set ref 500* Zone_table 000010 constant fixed bin(17,0) initial dcl 2-38 set ref 442* active_fnc_err_ 000026 constant entry external dcl 622 ref 511 524 addr builtin function dcl 687 ref 133 388 399 410 421 443 443 443 519 587 588 591 601 602 605 arg based char packed unaligned dcl 623 set ref 102 107 110* 112 117 117 119 121 124 135* 348 353* 362* arg_ct 000100 automatic fixed bin(17,0) dcl 624 set ref 100 344 507* arg_l 000101 automatic fixed bin(21,0) dcl 625 set ref 101* 102 107 110 110 112 117 117 119 121 124 134* 135 135 345* 348 353 353 362 362 arg_no 000102 automatic fixed bin(17,0) dcl 626 set ref 100* 101* 344* 345* arg_p 000104 automatic pointer dcl 627 set ref 101* 102 107 110 112 117 117 119 121 124 133* 133 135 345* 348 353 362 az 000053 constant char(26) initial packed unaligned dcl 620 ref 452 452 code 000106 automatic fixed bin(35,0) dcl 628 set ref 101* 124* 126* 132* 135* 156* 157 159* 204* 205 207* 230* 231 233* 345* 507* 508 514 524* com_err_ 000030 constant entry external dcl 629 ref 518 command 000107 automatic bit(1) packed unaligned dcl 630 set ref 90 351 366 391 402 413 424 439 450 470 510* 516* 523* cu_$af_arg_ptr 000032 constant entry external dcl 631 ref 512 cu_$af_return_arg 000034 constant entry external dcl 632 ref 507 cu_$arg_ptr 000036 constant entry external dcl 633 ref 517 current parameter varying char dcl 560 set ref 559 566 569* data 4 based varying char(64) level 2 dcl 536 set ref 545* 554 572 date 000010 internal static pointer initial level 2 dcl 678 set ref 176* 179* 394* date_sw 000232 automatic bit(1) level 3 packed packed unaligned dcl 693 set ref 386 date_time 2 000010 internal static pointer initial level 2 dcl 678 set ref 186* 189* 405* date_time_$get_time_info_index 000042 constant entry external dcl 636 ref 442 date_time_$set_lang 000046 constant entry external dcl 639 ref 204 date_time_$set_time_defaults 000044 constant entry external dcl 638 ref 85 332 date_time_$set_zone 000050 constant entry external dcl 641 ref 230 date_time_$valid_format 000040 constant entry external dcl 634 ref 156 date_time_sw 0(01) 000232 automatic bit(1) level 3 packed packed unaligned dcl 693 set ref 397 debug 4 000010 internal static pointer initial level 2 dcl 678 set ref 239* 244* 245* 255* 473* debug_sw 0(06) 000232 automatic bit(2) level 3 packed packed unaligned dcl 693 set ref 381* 463 delta 26 based fixed bin(71,0) array level 3 dcl 1-88 set ref 443* 443* dimension builtin function dcl 687 ref 347 divide builtin function dcl 687 ref 498 500 done 000110 automatic bit(1) packed unaligned dcl 643 set ref 346* 347 350* 360 586* 587 593* 596 600* 601 607* e 2 based structure array level 2 in structure "ti_zone" unaligned dcl 1-88 in procedure "set_time_defaults" e based structure level 1 unaligned dcl 536 in procedure "push" set ref 542 556 e 2 based structure array level 2 in structure "ti_keyword" unaligned dcl 1-29 in procedure "set_time_defaults" e_p 000100 automatic pointer dcl 534 set ref 542* 543 544 545 546 553* 554 555 556 571* 571* 572* 573 err 000112 automatic entry variable dcl 644 set ref 93* 110 135 146 152 159 207 233 254 261 353 362 368 511* 518* err_sw 000116 automatic bit(1) packed unaligned dcl 645 set ref 89 337* 340 363* 372 506* 525* errloc 000117 automatic fixed bin(17,0) dcl 646 set ref 156* 159 159* error_table_$bad_arg 000052 external static fixed bin(35,0) dcl 647 set ref 110* 126 254* error_table_$badopt 000054 external static fixed bin(35,0) dcl 648 set ref 124 362* error_table_$bigarg 000056 external static fixed bin(35,0) dcl 649 set ref 146* error_table_$not_act_fnc 000060 external static fixed bin(35,0) dcl 650 ref 514 error_table_$wrong_no_of_args 000062 external static fixed bin(35,0) dcl 651 ref 132 fmt_sw 000123 automatic bit(1) packed unaligned dcl 561 set ref 563* 568* 582 format parameter varying char dcl 577 ref 576 581 584 588 602 get_arg 000120 automatic entry variable dcl 652 set ref 101 345 512* 517* get_system_free_area_ 000064 constant entry external dcl 654 ref 166 heap 6 000010 internal static pointer initial level 2 in structure "p" dcl 678 in procedure "set_time_defaults" set ref 166 166* 542 556 heap based area(1024) dcl 655 in procedure "set_time_defaults" ref 542 556 i 000124 automatic fixed bin(17,0) dcl 656 in procedure "set_time_defaults" set ref 347* 348 351 357* 498* 499 i 000132 automatic fixed bin(17,0) dcl 579 in procedure "form" set ref 587* 588 591* 601* 602 605* index builtin function dcl 687 ref 124 584 ioa_ 000066 constant entry external dcl 657 ref 391 402 413 424 443 470 569 572 item parameter char packed unaligned dcl 531 set ref 529 545 559 566 569* 572 572 k 000232 automatic structure level 1 packed packed unaligned dcl 693 set ref 338* 357* 357 key_sw defined bit(1) array packed unaligned dcl 692 set ref 357* keyname 000125 automatic varying char(32) dcl 658 set ref 96* 104 112* 146* 261* keyno 000136 automatic fixed bin(17,0) dcl 659 set ref 106* 107* 142 173 keyword 000011 constant char(10) initial array packed unaligned dcl 704 ref 107 347 348 keyword_last constant fixed bin(17,0) initial dcl 703 ref 106 351 lang 10 000010 internal static pointer initial level 2 dcl 678 set ref 196* 200* 208* 430* lang_index 000137 automatic fixed bin(17,0) dcl 660 set ref 441* 443 443 443 lang_sw 0(03) 000232 automatic bit(2) level 3 packed packed unaligned dcl 693 set ref 419 length builtin function dcl 687 ref 144 159 159 572 572 list_p parameter pointer dcl 531 set ref 529 544 546* 549 551 553 555* 559 566 571 long 4 based varying char(64) array level 3 dcl 1-88 set ref 443* maxlength builtin function dcl 687 ref 520 me_p 000042 constant char(20) initial packed unaligned dcl 663 set ref 353* 362* 368* 524* me_s 000047 constant char(16) initial packed unaligned dcl 661 set ref 110* 135* 146* 152* 159* 207* 233* 254* 261* name 2 based char(32) array level 3 in structure "ti_keyword" packed packed unaligned dcl 1-29 in procedure "set_time_defaults" ref 588 605 name 2 based varying char(32) array level 2 in structure "ti_language" dcl 1-42 in procedure "set_time_defaults" ref 421 next 2 based pointer level 2 dcl 536 set ref 544* 555 573 null builtin function dcl 687 ref 166 551 571 number_kwd based fixed bin(17,0) level 2 dcl 1-29 ref 587 601 number_lang based fixed bin(17,0) level 2 dcl 1-42 ref 421 421 number_zone 1 based fixed bin(17,0) level 2 dcl 1-88 ref 443 443 443 443 443 443 on_sw 000140 automatic bit(1) packed unaligned dcl 667 set ref 249* 251* 258 p 000010 internal static structure level 1 unaligned dcl 678 pop_sw 000141 automatic bit(1) packed unaligned dcl 668 set ref 95* 119* 142 166 179 189 200 216 226 245 push_sw 000142 automatic bit(1) packed unaligned dcl 669 set ref 95* 102* 166 176 186 196 208 213 223 234 239 255 result 000246 automatic structure level 1 packed packed unaligned dcl 487 in procedure "zone_dif" set ref 501 result 000100 automatic varying char(100) dcl 578 in procedure "form" set ref 581* 590* 590 591* 591 592* 592 596* 596 604* 604 605* 605 606* 606 612 ret based varying char dcl 670 set ref 92* 267* 388* 390* 391* 394* 399* 401* 402* 405* 410* 412* 413* 416* 421* 423* 424* 428* 428 430* 438* 442 443* 449* 452 452* 452 454* 454 455* 455 456* 456 457* 465* 467* 469* 470* 473* 474 474* 476* ret_l 000143 automatic fixed bin(21,0) dcl 671 set ref 92 267 388 390 391 394 399 401 402 405 410 412 413 416 421 423 424 428 430 438 443 449 452 454 455 456 457 465 467 469 470 473 474 476 507* 520* ret_p 000144 automatic pointer dcl 672 set ref 92 267 388 390 391 394 399 401 402 405 410 412 413 416 421 423 424 428 428 430 438 442 443 449 452 452 452 454 454 455 455 456 456 457 465 467 469 470 473 474 474 476 507* 519* ret_temp 000146 automatic varying char(128) dcl 673 set ref 519 520 rtrim builtin function dcl 687 ref 423 605 s 000246 automatic char(1) level 2 packed packed unaligned dcl 487 set ref 492* 495* site_date constant fixed bin(17,0) initial dcl 1-35 ref 388 site_date_time constant fixed bin(17,0) initial dcl 1-35 ref 399 site_time constant fixed bin(17,0) initial dcl 1-35 ref 410 str 12 based varying char(128) array level 3 dcl 1-29 ref 388 399 410 591 602 string builtin function dcl 687 set ref 338* 351 366 378 380* 501 sys_info$time_zone 000070 external static char(3) dcl 674 ref 438 452 sys_sw 000207 automatic bit(1) packed unaligned dcl 675 set ref 95* 117* 142 181 191 202 218 228 247 384* 388 391 399 402 410 413 421 424 436 465 470 system_sw 0(08) 000232 automatic bit(2) level 2 packed packed unaligned dcl 693 set ref 384 td parameter fixed bin(71,0) dcl 484 ref 483 491 temp 000102 automatic varying char(64) dcl 535 set ref 554* 557 ti_keyword based structure level 1 unaligned dcl 1-29 ti_language based structure level 1 unaligned dcl 1-42 ti_zone based structure level 1 unaligned dcl 1-88 time 12 000010 internal static pointer initial level 2 in structure "p" dcl 678 in procedure "set_time_defaults" set ref 213* 216* 416* time 000244 automatic fixed bin(71,0) dcl 486 in procedure "zone_dif" set ref 491* 493 496* 496 498 499* 499 500 time_defaults_$date 000104 external static varying char(64) dcl 3-19 set ref 176 179* 181* 183* 390 time_defaults_$date_time 000102 external static varying char(64) dcl 3-18 set ref 186 189* 191* 193* 401 time_defaults_$debug 000122 external static bit(1) dcl 3-42 set ref 239 258* 381 467 time_defaults_$language 000110 external static char(32) packed unaligned dcl 3-23 set ref 196* 423 time_defaults_$language_index 000112 external static fixed bin(17,0) dcl 3-26 ref 428 time_defaults_$time 000106 external static varying char(64) dcl 3-20 set ref 213 216* 218* 220* 412 time_defaults_$zone_delta 000120 external static fixed bin(71,0) dcl 3-35 set ref 85 332 457* time_defaults_$zone_long 000114 external static varying char(64) dcl 3-29 ref 455 time_defaults_$zone_short 000116 external static varying char(4) dcl 3-32 ref 223 449 time_info_$date_time_keywords 000074 external static fixed bin(17,0) dcl 1-28 set ref 388 399 410 587 588 591 601 602 605 time_info_$default_language_index 000072 external static fixed bin(17,0) dcl 1-26 ref 421 421 428 441 time_info_$language_names 000076 external static fixed bin(17,0) dcl 1-40 set ref 421 time_info_$zone_names 000100 external static fixed bin(17,0) dcl 1-86 set ref 443 443 443 time_sw 0(02) 000232 automatic bit(1) level 3 packed packed unaligned dcl 693 set ref 408 translate builtin function dcl 687 ref 452 452 value 000210 automatic varying char(64) dcl 676 set ref 96* 115 121* 130 144 146* 150 150 150 152* 156 159 159 159* 183 193 200* 202* 204 207* 208* 220 226* 228* 230 233* 234* 245* 247* 249 249 251 251 254* 255* version based char(8) level 2 packed packed unaligned dcl 536 set ref 543* w 000232 automatic structure level 2 packed packed unaligned dcl 693 set ref 351 366 378 380* zone 14 000010 internal static pointer initial level 2 dcl 678 set ref 223* 226* 234* 457* zone_index 000231 automatic fixed bin(17,0) dcl 677 set ref 442* 443 443 443 zone_sw 0(05) 000232 automatic bit(1) level 3 packed packed unaligned dcl 693 set ref 434 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. Day_table internal static fixed bin(17,0) initial dcl 2-38 Language_table internal static fixed bin(17,0) initial dcl 2-38 Month_table internal static fixed bin(17,0) initial dcl 2-38 Offset_table internal static fixed bin(17,0) initial dcl 2-38 This_table internal static fixed bin(17,0) initial dcl 2-38 Vtime_info_2 internal static char(8) initial packed unaligned dcl 1-23 Word_table internal static fixed bin(17,0) initial dcl 2-38 da_name internal static char(3) initial array packed 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 packed unaligned dcl 2-47 of_name internal static char(12) initial array packed unaligned dcl 2-54 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_month based structure level 1 unaligned dcl 1-52 ti_offset based structure level 1 unaligned dcl 1-68 ti_token based structure level 1 unaligned dcl 2-10 ti_token_p automatic pointer dcl 2-22 ti_word based structure level 1 unaligned dcl 1-78 time_defaults_$zone_index external static fixed bin(17,0) dcl 3-38 time_info_$day_names external static fixed bin(17,0) dcl 1-58 time_info_$gmt_zone_index external static fixed bin(17,0) dcl 1-25 time_info_$month_names external static fixed bin(17,0) dcl 1-50 time_info_$offset_names external static fixed bin(17,0) dcl 1-66 time_info_$tokens external static fixed bin(17,0) dcl 2-7 time_info_$version external static char(8) packed unaligned dcl 1-21 time_info_$word_names external static fixed bin(17,0) dcl 1-76 tiw_FiscalIndicator internal static fixed bin(17,0) initial dcl 1-107 wo_name internal static char(12) initial array packed unaligned dcl 2-59 NAMES DECLARED BY EXPLICIT CONTEXT. arg_start_up 004133 constant entry internal dcl 504 ref 88 339 form 004573 constant entry internal dcl 576 ref 569 572 got_key 000700 constant label dcl 112 ref 107 list 004356 constant entry internal dcl 559 ref 430 457 473 list$format 004403 constant entry internal dcl 566 ref 394 405 416 pop 004304 constant entry internal dcl 549 ref 179 189 200 208 216 226 234 245 255 pop_err 002246 constant label dcl 261 ref 551 print_time_default 002307 constant entry external dcl 272 print_time_defaults 002300 constant entry external dcl 272 ptd 002316 constant entry external dcl 272 push 004230 constant entry internal dcl 529 ref 176 186 196 213 223 239 244 return_false 004036 constant entry internal dcl 265 ref 93 rtn 000000 constant label array(8) dcl 176 ref 173 set_time_default 000506 constant entry external dcl 12 set_time_defaults 000477 constant entry external dcl 12 start 004427 constant label dcl 569 ref 564 std 000515 constant entry external dcl 12 usage_msg 001007 constant label dcl 135 ref 127 zone_dif 004056 constant entry internal dcl 483 ref 443 443 457 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5760 6104 5307 5770 Length 6462 5307 124 342 450 16 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME set_time_defaults 300 external procedure is an external procedure. return_false 64 internal procedure is assigned to an entry variable. zone_dif internal procedure shares stack frame of external procedure set_time_defaults. arg_start_up internal procedure shares stack frame of external procedure set_time_defaults. push 146 internal procedure is called during a stack extension. form 98 internal procedure is called during a stack extension. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 p set_time_defaults STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME form 000100 result form 000132 i form push 000100 e_p push 000102 temp push 000123 fmt_sw push set_time_defaults 000100 arg_ct set_time_defaults 000101 arg_l set_time_defaults 000102 arg_no set_time_defaults 000104 arg_p set_time_defaults 000106 code set_time_defaults 000107 command set_time_defaults 000110 done set_time_defaults 000112 err set_time_defaults 000116 err_sw set_time_defaults 000117 errloc set_time_defaults 000120 get_arg set_time_defaults 000124 i set_time_defaults 000125 keyname set_time_defaults 000136 keyno set_time_defaults 000137 lang_index set_time_defaults 000140 on_sw set_time_defaults 000141 pop_sw set_time_defaults 000142 push_sw set_time_defaults 000143 ret_l set_time_defaults 000144 ret_p set_time_defaults 000146 ret_temp set_time_defaults 000207 sys_sw set_time_defaults 000210 value set_time_defaults 000231 zone_index set_time_defaults 000232 k set_time_defaults 000244 time zone_dif 000246 result zone_dif THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a r_ne_as alloc_char_temp call_ent_var_desc call_ent_var call_ext_out_desc call_ext_out call_int_this_desc call_int_this return_mac tra_ext_1 signal_op shorten_stack ext_entry int_entry int_entry_desc divide_fx3 op_alloc_ op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. active_fnc_err_ com_err_ cu_$af_arg_ptr cu_$af_return_arg cu_$arg_ptr date_time_$get_time_info_index date_time_$set_lang date_time_$set_time_defaults date_time_$set_zone date_time_$valid_format get_system_free_area_ ioa_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$badopt error_table_$bigarg error_table_$not_act_fnc error_table_$wrong_no_of_args sys_info$time_zone time_defaults_$date time_defaults_$date_time time_defaults_$debug time_defaults_$language time_defaults_$language_index time_defaults_$time time_defaults_$zone_delta time_defaults_$zone_long time_defaults_$zone_short time_info_$date_time_keywords time_info_$default_language_index time_info_$language_names time_info_$zone_names LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 12 000476 85 000522 88 000533 89 000534 90 000536 92 000540 93 000551 95 000554 96 000557 100 000561 101 000571 102 000605 104 000616 106 000623 107 000633 109 000643 110 000645 111 000677 112 000700 114 000710 115 000711 117 000716 119 000731 121 000737 122 000747 124 000750 126 000766 127 000771 129 000772 130 000774 132 001001 133 001004 134 001006 135 001007 139 001041 142 001042 144 001051 146 001054 148 001107 150 001110 152 001127 154 001157 156 001160 157 001210 159 001213 163 001261 166 001262 173 001301 176 001303 179 001333 181 001351 183 001363 184 001372 186 001373 189 001423 191 001441 193 001453 194 001462 196 001463 200 001502 202 001516 204 001525 205 001552 207 001555 208 001604 211 001617 213 001620 216 001650 218 001666 220 001700 221 001707 223 001710 226 001740 228 001755 230 001764 231 002011 233 002014 234 002046 237 002061 239 002062 244 002106 245 002124 247 002140 249 002146 251 002163 254 002177 255 002227 258 002242 259 002245 261 002246 263 002276 272 002277 332 002323 337 002335 338 002336 339 002340 340 002341 344 002343 345 002353 346 002367 347 002370 348 002377 350 002407 351 002411 353 002421 355 002454 357 002455 359 002461 360 002463 362 002465 363 002517 365 002521 366 002523 368 002532 369 002556 372 002557 378 002561 380 002563 381 002567 384 002576 386 002602 388 002605 390 002626 391 002641 394 002671 397 002721 399 002724 401 002745 402 002760 405 003010 408 003037 410 003042 412 003063 413 003076 416 003126 419 003157 421 003162 423 003213 424 003237 428 003267 430 003305 434 003335 436 003340 438 003342 439 003355 441 003357 442 003361 443 003410 447 003504 449 003505 450 003520 452 003522 454 003556 455 003571 456 003604 457 003613 463 003656 465 003661 467 003675 469 003712 470 003723 473 003753 474 004006 476 004024 479 004034 265 004035 267 004043 269 004055 483 004056 491 004060 492 004062 493 004064 495 004066 496 004070 498 004072 499 004106 500 004112 501 004125 504 004133 506 004134 507 004135 508 004152 510 004154 511 004155 512 004162 513 004165 514 004166 516 004171 517 004173 518 004177 519 004202 520 004204 521 004206 523 004207 524 004210 525 004224 527 004226 529 004227 542 004245 543 004253 544 004256 545 004262 546 004273 547 004274 549 004303 551 004312 553 004322 554 004326 555 004333 556 004335 557 004337 559 004355 563 004400 564 004401 566 004402 568 004425 569 004427 571 004474 572 004504 573 004556 574 004563 576 004572 581 004606 582 004620 584 004623 586 004635 587 004637 588 004653 590 004670 591 004702 592 004716 593 004725 595 004731 596 004733 598 004751 600 004752 601 004754 602 004767 604 005005 605 005017 606 005053 607 005062 609 005066 612 005070 ----------------------------------------------------------- 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