|
DataMuseum.dkPresents historical artifacts from the history of: RC3500 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC3500 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 304896 (0x4a700) Types: TextFileVerbose Names: »tsdcslst«
└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system └─⟦72244f0ef⟧ └─⟦this⟧ »tsdcslst«
\f outlist 81.05.26. 15.47. page 1 10 1 PROCESS dcmodule( 20 2 op_sem : sempointer; 30 3 VAR 40 4 lam_sem , 50 5 tsc_sem , 60 6 com_sem , 70 7 timeout_sem : !sempointer; 80 8 VAR 90 9 input_sem , 100 10 queue_sem , 110 11 timeout_answer_sem , 120 12 lam_talk_sem : !ts_pointer); 130 13 140 14 CONST 150 15 version = "vers 3.17 /"; 160 16 170 17 (*--------------------------------------------------------------------- 180 18 - - 190 19 - DC-MODULE is used in the demonstrationmodel to simulate some - 200 20 - dc-functions from a TTY connected to RC3502. - 210 21 - - 220 22 ----------------------------------------------------------------------*) 230 23 (* 240 24 function 250 25 -------- 260 26 270 27 acts as dc for the ts-connectors. 280 28 i.e. it has two main functions 290 29 300 30 1. to interact with the operator at the tty, receiving commands 310 31 and sending receipts 320 32 330 33 2. to log messages at the tty. 340 34 350 35 requests from ts-connectors 360 36 --------------------------- 370 37 380 38 390 39 u2 = not used 400 40 410 41 u3 = dc_route 420 42 430 43 u4 = operationcode 440 44 \f outlist 81.05.26. 15.47. page 2 1010 45 messages from ts-connector 1020 46 -------------------------- 1030 47 1040 48 . 00.00 00.02 1050 49 . 03.01 03.02 03.04 03.05 1060 50 . 06.01 1070 51 . 07.01 1080 52 . 08.01 08.03 1090 53 . 09.01 1100 54 . 10.01 10.03 10.11 1110 55 . 11.01 1120 56 1130 57 messages to ts-connector 1140 58 ------------------------ 1150 59 1160 60 . 06.00 06.02 06.04 1170 61 . 07.00 1180 62 . 08.00 08.02 1190 63 . 09.00 1200 64 . 10.00 10.02 10.10 1210 65 . 11.00 1220 66 \f outlist 81.05.26. 15.47. page 3 2010 67 tables operated from dc 2020 68 ----------------------- 2030 69 2040 70 ac-address-table : 2050 71 operated by messtype 10.0 2060 72 2070 73 ac-address-code : byte 2080 74 ac-index : integer 2090 75 block : byte ( always 1 in demo ) 2100 76 steering : boolean 2110 77 2120 78 at-address-table : 2130 79 operated by messtype 10.2 2140 80 2150 81 at-address : alarmnetaddress 2160 82 at-code : byte 2170 83 2180 84 sac-rac-table : 2190 85 operated by messtype 10.10 2200 86 2210 87 sac-address : alarmnetaddress 2220 88 rac-address : alarmnetaddress (always 0 in demo ) 2230 89 2240 90 \f outlist 81.05.26. 15.47. page 4 3010 91 possible commands from dc 3020 92 ------------------------- 3030 93 3040 94 afl{s transmissionsfejlt{ller <adresse> 3050 95 afl{s pakket{ller <adresse> 3060 96 afl{s servicegr{nse <adresse> 3070 97 afl{s aktuel modtagervagtcentral <adresse> 3080 98 afl{s stop poll gr{nse <adresse> 3090 99 afl{s max succ liniefejl <adresse> 3100 100 3110 101 fjern alternativ vagtcentral <vagt-adresse> <at-adresse> <aac-kode> 3120 102 3130 103 inds{t alternativ vagtcentral <vagt-adresse> <at-adresse> <aac-kode> <styretilladelse> 3140 104 3150 105 log ja 3160 106 log nej 3170 107 3180 108 nedl{g dc 3190 109 3200 110 opret alarmterminal <at-adresse> <at-kode> <port> <pac-adresse> 3210 111 opret vagtcentral <ac-adresse> <ac_kode> <port> 3220 112 opret terminalstation <nc-nummer> <ts-nummer> 3230 113 3240 114 service poll <adresse> <poll-interval> 3250 115 start poll <adresse> <poll-interval> 3260 116 stop poll <adresse> 3270 117 3280 118 s{t transmissionsfejlt{ller <adresse> til <v{rdi> 3290 119 s{t servicegr{nse <adresse> til <v{rdi> 3300 120 s{t stop poll gr{nse <adresse> til <v{rdi> 3310 121 s{t max succ liniefejl <adresse> til <v{rdi> 3320 122 3330 123 test alarmterminal <adresse> <testnummer> 3340 124 test vagtcentral <adresse> <testnummer> 3350 125 3360 126 distriktscenter nummer <dist-nummer> 3370 127 klokken er nu <hh> <mm> 3380 128 hj{lp 3390 129 3400 130 *) 3410 131 \f outlist 81.05.26. 15.47. page 5 4010 132 CONST 4020 133 max_locals = 6; 4030 134 max_lam_bufs = 13; 4040 135 linelength = 80; 4050 136 firstindex = 1; 4060 137 lastindex = firstindex + (linelength - 1); 4070 138 base = 10; (* number base for input and output *) 4080 139 4090 140 my_dc_route = op_route; 4100 141 4110 142 max_no_dc = 1; 4120 143 max_no_ts = 2; 4130 144 max_no_ac = vc_l + 1; 4140 145 max_no_at = at_l + 1; 4150 146 4160 147 max_params = 20; 4170 148 4180 149 empty_addr = alarmnetaddr( macroaddr( 0, 0, 0 ), 0 ); 4190 150 4200 151 TYPE 4210 152 alpha_lth = 1..alfalength; 4220 153 param_range = 1..max_params; 4230 154 int_position = 0..20; 4240 155 half_byte = 0..15; 4250 156 state_range = 0..7; 4260 157 4270 158 extern_px_addr = PACKED ARRAY( 1..14 ) OF 0..15; 4280 159 4290 160 state_set = SET OF state_range; 4300 161 4310 162 px_db_ix = 0..max_no_ts; 4320 163 ts_db_ix = 1..max_no_ts; 4330 164 ac_db_ix = 1..max_no_ac; 4340 165 at_db_ix = 1..max_no_at; 4350 166 \f outlist 81.05.26. 15.47. page 6 5010 167 (*-------------- strings ------------------*) 5020 168 5030 169 CONST 5040 170 zero = "0"; 5050 171 ch_star = "*"; 5060 172 ch_lt = "<"; 5070 173 ch_gt = ">"; 5080 174 ch_slash = "/"; 5090 175 5100 176 txt_from = "fra"; 5110 177 txt_to = "til"; 5120 178 txt_of = "af"; 5130 179 txt_dis = "dis"; 5140 180 5150 181 txt_at = "AT"; 5160 182 txt_ac = "VC"; 5170 183 txt_aac = "aVC"; 5180 184 txt_rac = "VCm"; 5190 185 txt_ts = "TS"; 5200 186 txt_dc = "DC"; 5210 187 txt_pax = "PAX"; 5220 188 5230 189 5240 190 txt_alarm = "alarm"; 5250 191 txt_log = "log"; 5260 192 txt_rej = "afvist"; 5270 193 txt_rec = "modtaget"; 5280 194 txt_receipt = "kvitteret"; 5290 195 5300 196 txt_table = "tabel:"; 5310 197 5320 198 txt_create = "opret"; 5330 199 5340 200 txt_start = "start"; 5350 201 txt_stop = "stop"; 5360 202 txt_service = "service"; 5370 203 5380 204 txt_line = "linje"; 5390 205 txt_state = "status"; 5400 206 txt_au = "au"; 5410 207 txt_steer = "styring"; 5420 208 txt_test = "test"; 5430 209 \f outlist 81.05.26. 15.47. page 7 6010 210 txt_package = "pakke"; 6020 211 txt_counter = "t{ller"; 6030 212 txt_limit = "gr{nse"; 6040 213 6050 214 txt_actual = "aktuel"; 6060 215 6070 216 txt_poll = "poll"; 6080 217 6090 218 txt_recall = "afmeldt"; 6100 219 time_out = "time out"; 6110 220 txt_hs = "handshake"; 6120 221 txt_serif = "serif"; 6130 222 txt_restart = "genstart"; 6140 223 txt_battery = "batteri"; 6150 224 txt_220_ac = "220 V"; 6160 225 6170 226 txt_accepted = "udf|rt"; 6180 227 txt_refused = "afsl}et"; 6190 228 txt_range = "range"; 6200 229 txt_granted = "tilladt"; 6210 230 6220 231 txt_finish = "afsluttet"; 6230 232 txt_delivered = "afleveret"; 6240 233 6250 234 txt_read = "afl{s"; 6260 235 6270 236 txt_insert = "inds{t"; 6280 237 txt_modify = "modificer"; 6290 238 txt_remove = "fjern"; 6300 239 6310 240 txt_connected = "connected"; 6320 241 6330 242 txt_result = "*resultat"; 6340 243 txt_ok = "ok"; 6350 244 txt_error = "fejl"; 6360 245 6370 246 txt_undef = "udefineret"; 6380 247 txt_known = "kendt"; 6390 248 txt_unknown = "ukendt"; 6400 249 txt_busy = "busy"; 6410 250 \f outlist 81.05.26. 15.47. page 8 7010 251 txt_send = "sendt"; 7020 252 txt_msg = "meddelelse"; 7030 253 txt_enter = "angiv"; 7040 254 txt_number = "nummer"; 7050 255 txt_star = "***"; 7060 256 txt_no = " #"; 7070 257 txt_port = "port"; 7080 258 txt_db = "db*"; 7090 259 txt_param = "params"; 7100 260 txt_cmmnd = "kommando"; 7110 261 txt_request = "foresp|rgsel"; 7120 262 txt_ovf = "ovflow"; 7130 263 7140 264 txt_org = "oprindelig"; 7150 265 txt_addr = "adresse"; 7160 266 txt_group = "gruppe"; 7170 267 \f outlist 81.05.26. 15.47. page 9 8010 268 (****************** types ********************************) 8020 269 8030 270 TYPE 8040 271 dcbuftype 8050 272 = RECORD 8060 273 ! first, 8070 274 ! last, 8080 275 ! next: integer; 8090 276 ! data: ARRAY (firstindex..lastindex) OF char 8100 277 END; 8110 278 8120 279 logmesstype 8130 280 = RECORD 8140 281 ! a_label : alarmlabel; 8150 282 ! fill : integer; 8160 283 ! old_label : alarmlabel; 8170 284 ! data : ARRAY ( 1..( 2 * size_supp - ( 2 * label_size + 2 ) ) ) OF byte 8180 285 END; 8190 286 8200 287 logstatustype 8210 288 = RECORD 8220 289 ! a_label : alarmlabel; 8230 290 ! fill : integer; 8240 291 ! old_label : alarmlabel; 8250 292 ! state : state_set 8260 293 END; 8270 294 8280 295 alarmmesstype 8290 296 = RECORD 8300 297 ! a_label : alarmlabel; 8310 298 ! a_code : byte; 8320 299 END; 8330 300 8340 301 statusalarmtype 8350 302 = RECORD 8360 303 ! a_label : alarmlabel; 8370 304 ! state : state_set 8380 305 END; 8390 306 \f outlist 81.05.26. 15.47. page 10 9010 307 log02type 9020 308 = RECORD 9030 309 ! a_label : alarmlabel; 9040 310 ! at_adr : alarmnetaddr; 9050 311 ! d_op_code : byte; 9060 312 ! a_code : byte; 9070 313 END; 9080 314 9090 315 receipttype 9100 316 = RECORD 9110 317 ! r_label : alarmlabel; 9120 318 ! mic : integer; 9130 319 ! pac_adr: alarmnetaddr; 9140 320 END; 9150 321 9160 322 lambuftype 9170 323 = RECORD 9180 324 ! controle_byte: byte; 9190 325 ! timeout: byte; 9200 326 END; 9210 327 9220 328 mess_12_type 9230 329 = RECORD 9240 330 ! a_label, 9250 331 ! old_label : alarmlabel 9260 332 END; 9270 333 9280 334 mess_2x_type 9290 335 = RECORD 9300 336 ! a_label : alarmlabel; 9310 337 ! node: alarmnetaddr 9320 338 END; 9330 339 \f outlist 81.05.26. 15.47. page 11 10010 340 receipt_101_type 10020 341 = RECORD 10030 342 ! a_label: alarmlabel; 10040 343 ! ac_addr_tab: vc_addr_e; 10050 344 END; 10060 345 10070 346 mess_102_type 10080 347 = RECORD 10090 348 ! a_label : alarmlabel; 10100 349 ! at_addr_tab : at_addr_e 10110 350 END; 10120 351 10130 352 receipt_103_type 10140 353 = RECORD 10150 354 ! r_label: alarmlabel; 10160 355 ! at_addr_tab: at_addr_e; 10170 356 END; 10180 357 10190 358 \f outlist 81.05.26. 15.47. page 12 11010 359 receipt_1011_type 11020 360 = RECORD 11030 361 ! a_label: alarmlabel; 11040 362 ! ac_index: integer; 11050 363 ! sac_rac_tab: vca_vcm_e; 11060 364 END; 11070 365 11080 366 mess_60_type 11090 367 = RECORD 11100 368 ! a_label: alarmlabel; 11110 369 ! at_mic: integer; 11120 370 ! lam_num: byte; 11130 371 ! port_num: byte; 11140 372 ! sac_rac_index: integer; 11150 373 END; 11160 374 11170 375 mess_62_type 11180 376 = RECORD 11190 377 ! a_label: alarmlabel; 11200 378 ! at_adr: alarmnetaddr; 11210 379 END; 11220 380 11230 381 mess_70_type 11240 382 = RECORD 11250 383 ! a_label: alarmlabel; 11260 384 ! ac_mic: integer; 11270 385 ! ac_typ: byte; 11280 386 ! lam_num: byte; 11290 387 ! port_num: byte; 11300 388 END; 11310 389 11320 390 mess_90_type 11330 391 = RECORD 11340 392 ! a_label: alarmlabel; 11350 393 ! trans_err: integer; 11360 394 ! poll_int : integer; 11370 395 END; 11380 396 11390 397 mess_98_type 11400 398 = RECORD 11410 399 ! a_label : alarmlabel; 11420 400 ! msg_text : alfa 11430 401 END; 11440 402 \f outlist 81.05.26. 15.47. page 13 12010 403 mess_104_type 12020 404 = RECORD 12030 405 ! a_label : alarmlabel; 12040 406 ! ts_e : at_ts_e 12050 407 END; 12060 408 12070 409 mess_106_type 12080 410 = RECORD 12090 411 ! a_label : alarmlabel; 12100 412 ! vcm_at_e : vcmat_e 12110 413 END; 12120 414 12130 415 mess_1010_type 12140 416 = RECORD 12150 417 ! a_label : alarmlabel; 12160 418 ! sac_rac_index : integer; 12170 419 ! sac_addr : alarmnetaddr; 12180 420 ! rac_addr : alarmnetaddr; 12190 421 END; 12200 422 12210 423 mess_1012_type 12220 424 = RECORD 12230 425 ! a_label : alarmlabel; 12240 426 ! pax_tbl_ix : integer; 12250 427 ! al_mac_addr : macroaddr; 12260 428 ! ext_pax_address : extern_px_addr; 12270 429 ! stream_no , 12280 430 ! max_retrans : byte 12290 431 END; 12300 432 \f outlist 81.05.26. 15.47. page 14 13010 433 mess_110_type 13020 434 = RECORD 13030 435 ! a_label: alarmlabel; 13040 436 ! tss_macro: macroaddr; 13050 437 ! xx: integer; 13060 438 ! dc_ts_macro: macroaddr; 13070 439 END; 13080 440 13090 441 mess_11x_type 13100 442 =RECORD 13110 443 ! a_label : alarmlabel; 13120 444 ! counter : integer; 13130 445 END; 13140 446 13150 447 mess_119_type 13160 448 = RECORD 13170 449 ! a_label : alarmlabel; 13180 450 ! act_rac : alarmnetaddr; 13190 451 END; 13200 452 13210 453 mess_12_00_type 13220 454 = RECORD 13230 455 ! a_label : alarmlabel; 13240 456 ! counter , 13250 457 ! nt_freq : integer 13260 458 END; 13270 459 13280 460 \f outlist 81.05.26. 15.47. page 15 14010 461 CONST 14020 462 no_request = 3; 14030 463 removing = 4; 14040 464 creating = 5; 14050 465 14060 466 TYPE 14070 467 current_activity = start_code..service_code; 14080 468 pending_request = start_code..creating; 14090 469 14100 470 14110 471 at_db_e = RECORD 14120 472 ! at_addr : alarmnetaddr; 14130 473 ! at_code : byte; 14140 474 ! at_state : state_set; 14150 475 ! activity : current_activity; 14160 476 ! dc_request , 14170 477 ! ac_request : pending_request; 14180 478 ! poll_delay : integer; 14190 479 ! lam_port : half_byte; 14200 480 ! no_ac_e : 0..max_no_ac; 14210 481 ! ac_indxs : ARRAY ( ac_db_ix ) OF ac_db_ix; 14220 482 ! ac_codes : ARRAY( ac_db_ix ) OF byte; 14230 483 ! ts_indx : ts_db_ix 14240 484 END; 14250 485 14260 486 ac_db_e = RECORD 14270 487 ! ac_addr : alarmnetaddr; 14280 488 ! ac_code : byte; 14290 489 ! ts_indx : ts_db_ix; 14300 490 ! lam_port : half_byte; 14310 491 ! ac_state : state_set; 14320 492 ! activity : current_activity; 14330 493 ! ac_request , 14340 494 ! dc_request : pending_request; 14350 495 ! poll_delay : integer 14360 496 END; 14370 497 \f outlist 81.05.26. 15.47. page 16 15010 498 ts_db_e = RECORD 15020 499 ! ts_address : macroaddr; 15030 500 ! ports_used : SET OF half_byte; 15040 501 ! no_sac_e : 0..max_no_ac; 15050 502 ! sac_rac_s : ARRAY( ac_db_ix ) OF vca_vcm_e; 15060 503 ! nt_receipt , 15070 504 ! disconnected : boolean 15080 505 END; 15090 506 15100 507 px_db_e = RECORD 15110 508 ! mac_address : macroaddr; 15120 509 ! fe_ix : integer; 15130 510 ! max_no_retrans : byte; 15140 511 ! ext_px_addr : extern_px_addr 15150 512 END; 15160 513 15170 514 \f outlist 81.05.26. 15.47. page 17 16010 515 (*--------- pools ---------------------------------*) 16020 516 16030 517 VAR 16040 518 timeout_pool : pool 1 OF integer; 16050 519 book_up_pool : pool 1 OF updates; 16060 520 gettime_pool : pool 1 OF ts_time; 16070 521 lam_buf_pool : pool max_lam_bufs OF dcbuftype; 16080 522 16090 523 (*--------- references -----------------------------*) 16100 524 16110 525 timeout_msg , 16120 526 book_up_msg , 16130 527 gettime_msg , 16140 528 output_to_dc , (* ref to buffer to dc *) 16150 529 inref , (* ref to buffer from ts-connector or dc *) 16160 530 tsc_listen_ref (* ref to listen-buffer *) 16170 531 : reference; 16180 532 16190 533 \f outlist 81.05.26. 15.47. page 18 17010 534 (*--------- integers -------------------------------*) 17020 535 17030 536 w_px_ix , 17040 537 px_ix : px_db_ix := 0; 17050 538 ts_ix : ts_db_ix := 1; 17060 539 ac_ix : ac_db_ix := 1; 17070 540 at_ix : at_db_ix := 1; 17080 541 sac_rac_ix : ac_db_ix := 1; 17090 542 17100 543 no_of_dc : 0..max_no_dc := 0; 17110 544 no_of_ts : 0..max_no_ts := 0; 17120 545 no_of_ac : 0..max_no_ac := 0; 17130 546 no_of_at : 0..max_no_at := 0; 17140 547 17150 548 incharsleft , (* no. of not yet read chars in opinbuffer *) 17160 549 no_digits : integer := 0; 17170 550 noofparams (* no. of params in operator line *) 17180 551 : 0..max_params := 0; 17190 552 nt_time : integer := nt_default; 17200 553 17210 554 (*--------- booleans -------------------------------*) 17220 555 17230 556 (*q test_b : boolean := true; q*) 17240 557 nt_on : boolean := false; 17250 558 log_off : boolean := false; 17260 559 readok (* indicates if the last call of readinteger 17270 560 yielded a result *) 17280 561 : boolean; 17290 562 17300 563 (*--------- arrays --------------------------------*) 17310 564 17320 565 params : ARRAY( param_range ) OF integer; (* holds parameters from operator *) 17330 566 overflows : PACKED ARRAY( param_range ) OF boolean; 17340 567 command1 , 17350 568 command2 : alfa; 17360 569 17370 570 px_db : ARRAY( px_db_ix ) OF px_db_e; 17380 571 ts_db : ARRAY ( ts_db_ix ) OF ts_db_e; 17390 572 at_db : ARRAY ( at_db_ix ) OF at_db_e; 17400 573 ac_db : ARRAY ( ac_db_ix ) OF ac_db_e; 17410 574 17420 575 (*------ other variables ------------------------*) 17430 576 opzone : zone; 17440 577 opr_code : byte; 17450 578 dc_macro : macroaddr := macroaddr( 0, 0, 0 ); 17460 579 \f outlist 81.05.26. 15.47. page 19 18010 580 (*--------- external declarations ---------------------*) 18020 581 18030 582 PROCEDURE timerbook( 18040 583 VAR 18050 584 book_msg , 18060 585 timeout_msg : reference; 18070 586 time , 18080 587 object : integer; 18090 588 VAR 18100 589 timeout_sem , 18110 590 answer_sem : semaphore 18120 591 ); EXTERNAL; 18130 592 18140 593 18150 594 PROCEDURE timerupdate( 18160 595 VAR 18170 596 update_msg : reference; 18180 597 time : integer; 18190 598 VAR 18200 599 answer_sem : semaphore 18210 600 ); EXTERNAL; 18220 601 \f outlist 81.05.26. 15.47. page 20 19010 602 (*--------- forward declarations --------------------*) 19020 603 19030 604 PROCEDURE getparams; 19040 605 FORWARD; 19050 606 19060 607 PROCEDURE outinteger( fill: char; int: integer; position: int_position ); 19070 608 FORWARD; 19080 609 19090 610 PROCEDURE outstring( no_of_chars: alpha_lth; text: alfa ); 19100 611 FORWARD; 19110 612 19120 613 FUNCTION readchar: char; 19130 614 FORWARD; 19140 615 19150 616 FUNCTION readinteger ( VAR overflow: boolean ): integer; 19160 617 FORWARD; 19170 618 19180 619 PROCEDURE newline; 19190 620 FORWARD; 19200 621 19210 622 PROCEDURE getcommand( VAR command: alfa ); 19220 623 FORWARD; 19230 624 19240 625 PROCEDURE skipdelimiters; 19250 626 FORWARD; 19260 627 19270 628 PROCEDURE start_new_line; 19280 629 FORWARD; 19290 630 19300 631 PROCEDURE start_com_line; 19310 632 FORWARD; 19320 633 19330 634 FUNCTION addr( mac: macroaddr; mic: integer ): alarmnetaddr; 19340 635 FORWARD; 19350 636 19360 637 FUNCTION packmacro( dc_num, nc_num, ts_num: integer ): macroaddr; 19370 638 FORWARD; 19380 639 19390 640 FUNCTION packaddr( index: param_range ): alarmnetaddr; 19400 641 FORWARD; 19410 642 \f outlist 81.05.26. 15.47. page 21 20010 643 PROCEDURE write_error( error1, error2, param: integer ); 20020 644 20030 645 BEGIN 20040 646 1 ! 20050 647 2 ! CASE error1 OF 20060 648 3 ! ! 20070 649 4 ! ! 1: 20080 650 5 ! ! outstring( 3, txt_ac ) 20090 651 6 ! ! ; 20100 652 7 ! ! 20110 653 8 ! ! 2: 20120 654 9 ! ! outstring( 3, txt_at ) 20130 655 10 ! ! ; 20140 656 11 ! ! 20150 657 12 ! ! 3: 20160 658 13 ! ! outstring( 3, txt_ts ) 20170 659 14 ! ! ; 20180 660 15 ! ! 20190 661 16 ! ! 4: 20200 662 17 ! ! outstring( 5, txt_port ) 20210 663 18 ! ! ; 20220 664 19 ! ! 20230 665 20 ! ! 5: 20240 666 21 ! ! outstring( 3, txt_no ) 20250 667 22 ! ! ; 20260 668 23 ! ! 20270 669 24 ! ! 6: 20280 670 25 ! ! outstring( 3, txt_star ) 20290 671 26 ! ! ; 20300 672 27 ! ! 20310 673 28 ! ! OTHERWISE 20320 674 29 ! END 20330 675 30 ! ; 20340 676 31 ! 20350 677 32 ! CASE error2 OF 20360 678 33 ! ! 20370 679 34 ! ! 1: 20380 680 35 ! ! outstring( 6, txt_known ) 20390 681 36 ! ! ; 20400 682 37 ! ! 20410 683 38 ! ! 2: 20420 684 39 ! ! outstring( 7, txt_unknown ) 20430 685 40 ! ! ; 20440 686 41 ! ! 20450 687 42 ! ! 3: 20460 688 43 ! ! outstring( 7, txt_limit ) \f outlist 81.05.26. 15.47. page 22 20470 689 44 ! ! ; 20480 690 45 ! ! 20490 691 46 ! ! 4: 20500 692 47 ! ! outstring( 4, txt_db ) 20510 693 48 ! ! ; 20520 694 49 ! ! 20530 695 50 ! ! 5: 20540 696 51 ! ! outstring( 9, txt_cmmnd ) 20550 697 52 ! ! ; 20560 698 53 ! ! 20570 699 54 ! ! 6: 20580 700 55 ! ! outstring( 6, txt_param ) 20590 701 56 ! ! ; 20600 702 57 ! ! 20610 703 58 ! ! 7: 20620 704 59 ! ! outstring( 5, txt_param ) 20630 705 60 ! ! ; 20640 706 61 ! ! 20650 707 62 ! ! 8: 20660 708 63 ! ! outstring( 6, txt_range ) 20670 709 64 ! ! ; 20680 710 65 ! ! 20690 711 66 ! ! 9: 20700 712 67 ! ! outstring( 5, txt_busy ) 20710 713 68 ! ! ; 20720 714 69 ! ! 20730 715 70 ! ! 10: 20740 716 71 ! ! outstring( 11, txt_undef ) 20750 717 72 ! ! ; 20760 718 73 ! ! 20770 719 74 ! ! 11: 20780 720 75 ! ! outstring( 7, txt_ovf ) 20790 721 76 ! ! ; 20800 722 77 ! ! 20810 723 78 ! ! OTHERWISE 20820 724 79 ! END; 20830 725 80 ! 20840 726 81 ! outinteger( sp, param, 3 ) 20850 727 82 ! 20860 728 83 END; (* procedure write_error *) 20870 729 \f outlist 81.05.26. 15.47. page 23 21010 730 (*--------- checkfunctions --------------------------*) 21020 731 21030 732 FUNCTION at_num_ok( at_num:integer ):boolean; 21040 733 (*------ check for valid at-number -------------------*) 21050 734 BEGIN 21060 735 1 ! at_num_ok:=(at_num>=256) AND (at_num<=9999); 21070 736 2 END; 21080 737 21090 738 21100 739 FUNCTION ac_num_ok( ac_num: integer ): boolean; 21110 740 (*------ check for valid ac-number -------------------*) 21120 741 BEGIN 21130 742 1 ! ac_num_ok:=(ac_num>=vc_addr_limit) AND (ac_num<at_addr_limit); 21140 743 2 END; 21150 744 21160 745 21170 746 FUNCTION aac_code_ok( aac_code: integer ): boolean; 21180 747 (*------ check for valid aac code --------------------*) 21190 748 BEGIN 21200 749 1 ! aac_code_ok:=(aac_code>=0) AND (aac_code<=255); 21210 750 2 END; 21220 751 21230 752 FUNCTION range_ok( first, last: param_range; min, max: integer ): boolean; 21240 753 21250 754 VAR 21260 755 ok : boolean := true; 21270 756 ix : param_range; 21280 757 21290 758 BEGIN 21300 759 1 ! 21310 760 2 ! ix:= first; 21320 761 3 ! 21330 762 4 ! REPEAT 21340 763 5 ! ! 21350 764 6 ! ! ok:= ok AND ( min <= params( ix ) ) AND ( params( ix ) <= max ); 21360 765 7 ! ! ix:= ( ix MOD last ) + 1 21370 766 8 ! ! 21380 767 9 ! UNTIL ( NOT ok ) OR ( ix = 1 ); 21390 768 10 ! 21400 769 11 ! range_ok:= ok 21410 770 12 ! 21420 771 13 END; (* function range_ok *) 21430 772 \f outlist 81.05.26. 15.47. page 24 22010 773 FUNCTION macro_ok( p1, p2, p3: integer ): boolean; 22020 774 22030 775 (*------------------------------------------------ 22040 776 . checks for valid macroaddress 22050 777 . i e checks if the macroaddress is an existing 22060 778 . ts-address 22070 779 --------------------------------------------------*) 22080 780 22090 781 BEGIN 22100 782 1 ! 22110 783 2 ! macro_ok:= 22120 784 3 ! ( 0 <= p1 ) AND ( p1 <= 15 ) 22130 785 4 ! AND 22140 786 5 ! ( 0 <= p2 ) AND ( p2 <= 63 ) 22150 787 6 ! AND 22160 788 7 ! ( 0 <= p3 ) AND ( p3 <= 63 ) 22170 789 8 ! 22180 790 9 END; 22190 791 \f outlist 81.05.26. 15.47. page 25 23010 792 FUNCTION at_addr_ok( index: param_range ): boolean; 23020 793 (*------ check for valid at-address ---------------------*) 23030 794 BEGIN 23040 795 1 ! 23050 796 2 ! at_addr_ok:= 23060 797 3 ! macro_ok( params( index ), params( index + 1 ), params( index + 2 ) ) 23070 798 4 ! AND 23080 799 5 ! at_num_ok( params( index + 3 ) ) 23090 800 6 ! 23100 801 7 END; 23110 802 23120 803 23130 804 FUNCTION ac_addr_ok( index: param_range ): boolean; 23140 805 (*------ check for valid ac-address ---------------------*) 23150 806 BEGIN 23160 807 1 ! 23170 808 2 ! ac_addr_ok:= 23180 809 3 ! macro_ok( params( index ), params( index + 1 ), params( index + 2 ) ) 23190 810 4 ! AND 23200 811 5 ! ac_num_ok( params( index + 3 ) ) 23210 812 6 ! 23220 813 7 END; 23230 814 \f outlist 81.05.26. 15.47. page 26 24010 815 FUNCTION addr_ok( index: param_range ): boolean; 24020 816 24030 817 (*------------------------------------------------------- 24040 818 . check for valid address 24050 819 ---------------------------------------------------------*) 24060 820 24070 821 BEGIN 24080 822 1 ! 24090 823 2 ! IF at_addr_ok( index ) OR ac_addr_ok( index ) THEN 24100 824 3 ! addr_ok:= true 24110 825 4 ! ELSE 24120 826 5 ! BEGIN 24130 827 6 ! ! 24140 828 7 ! ! addr_ok:= false; 24150 829 8 ! ! outstring( 5, txt_range ) 24160 830 9 ! ! 24170 831 10 ! END 24180 832 11 ! 24190 833 12 END; 24200 834 \f outlist 81.05.26. 15.47. page 27 25010 835 FUNCTION params_ok( params: param_range ): boolean; 25020 836 25030 837 (*---------------------------------------------------- 25040 838 . check that the parameters can be packed into an 25050 839 . integer array 25060 840 ------------------------------------------------------*) 25070 841 25080 842 VAR 25090 843 i: param_range := 1; 25100 844 25110 845 BEGIN 25120 846 1 ! 25130 847 2 ! IF ( params <> noofparams ) THEN 25140 848 3 ! write_error( 5, 6, params ) 25150 849 4 ! ELSE 25160 850 5 ! BEGIN 25170 851 6 ! ! 25180 852 7 ! ! WHILE ( i < noofparams ) AND ( NOT overflows( i ) ) DO 25190 853 8 ! ! i:=i+1; 25200 854 9 ! ! 25210 855 10 ! ! IF overflows( i ) THEN 25220 856 11 ! ! write_error( 6, 11, i ) 25230 857 12 ! ! 25240 858 13 ! END; 25250 859 14 ! 25260 860 15 ! params_ok:= ( NOT overflows( i ) ) AND ( params = noofparams ) 25270 861 16 ! 25280 862 17 END; (* params_ok *) 25290 863 25300 864 \f outlist 81.05.26. 15.47. page 28 26010 865 PROCEDURE read_at_dc; 26020 866 26030 867 (*--------------------------------------------- 26040 868 . sends a read-tty-buffer to lam-driver 26050 869 . if there is one at inref 26060 870 -----------------------------------------------*) 26070 871 26080 872 BEGIN 26090 873 1 ! 26100 874 2 ! inref^.u2 := dcm_in_port; 26110 875 3 ! 26120 876 4 ! LOCK inref AS dcbuf: dcbuftype DO 26130 877 5 ! dcbuf.next := firstindex; 26140 878 6 ! 26150 879 7 ! start_com_line; 26160 880 8 ! 26170 881 9 ! signal( inref, lam_sem^ ) 26180 882 10 ! 26190 883 11 END; 26200 884 \f outlist 81.05.26. 15.47. page 29 27010 885 PROCEDURE getinput; 27020 886 27030 887 (******************************************************** 27040 888 * * 27050 889 * reads input from buffer at inref * 27060 890 * * 27070 891 *********************************************************) 27080 892 27090 893 BEGIN 27100 894 1 ! 27110 895 2 ! LOCK inref AS dcbuf: dcbuftype DO 27120 896 3 ! WITH dcbuf DO 27130 897 4 ! BEGIN 27140 898 5 ! ! 27150 899 6 ! ! incharsleft:= next - first; 27160 900 7 ! ! next:= firstindex 27170 901 8 ! ! 27180 902 9 ! END; 27190 903 10 ! 27200 904 11 ! skipdelimiters; 27210 905 12 ! getcommand( command1 ); 27220 906 13 ! skipdelimiters; 27230 907 14 ! getcommand( command2 ); 27240 908 15 ! getparams 27250 909 16 ! 27260 910 17 END (* getinput *); 27270 911 \f outlist 81.05.26. 15.47. page 30 28010 912 PROCEDURE getparams; 28020 913 28030 914 (******************************************************* 28040 915 * * 28050 916 * reads integer parameters in buffer at dcinbuf * 28060 917 * * 28070 918 *******************************************************) 28080 919 28090 920 VAR 28100 921 overflow: boolean; 28110 922 28120 923 BEGIN 28130 924 1 ! 28140 925 2 ! noofparams:= 0; 28150 926 3 ! 28160 927 4 ! REPEAT 28170 928 5 ! ! 28180 929 6 ! ! noofparams:= noofparams + 1; 28190 930 7 ! ! params( noofparams ):= readinteger( overflow ); 28200 931 8 ! ! overflows( noofparams ):= overflow 28210 932 9 ! ! 28220 933 10 ! UNTIL ( NOT readok ) OR ( noofparams = max_params ); 28230 934 11 ! 28240 935 12 ! noofparams:= noofparams - 1 28250 936 13 ! 28260 937 14 END (* getparams *); 28270 938 28280 939 \f outlist 81.05.26. 15.47. page 31 29010 940 PROCEDURE getoutputbuf; 29020 941 29030 942 (********************************************** 29040 943 * gets an outputbuffer from lam_talk_sem * 29050 944 ***********************************************) 29060 945 29070 946 BEGIN 29080 947 1 ! 29090 948 2 ! REPEAT 29100 949 3 ! ! 29110 950 4 ! ! wait( output_to_dc, lam_talk_sem.w^ ); 29120 951 5 ! ! 29130 952 6 ! ! IF ( output_to_dc^.u3 = dummy_route ) THEN 29140 953 7 ! ! return( output_to_dc ) 29150 954 8 ! ! 29160 955 9 ! UNTIL NOT nil( output_to_dc ); 29170 956 10 ! 29180 957 11 ! 29190 958 12 ! LOCK output_to_dc AS dcbuf: dcbuftype DO 29200 959 13 ! dcbuf.last:= firstindex - 1; 29210 960 14 ! 29220 961 15 ! output_to_dc^.u2:= dcm_out_port 29230 962 16 ! 29240 963 17 END; 29250 964 \f outlist 81.05.26. 15.47. page 32 30010 965 PROCEDURE outchar( ch: char ); 30020 966 30030 967 (******************************************************* 30040 968 * * 30050 969 * writes ch into the buffer pointed to by output_to_dc * 30060 970 * * 30070 971 ********************************************************) 30080 972 30090 973 VAR 30100 974 buffull : boolean; 30110 975 30120 976 BEGIN 30130 977 1 ! 30140 978 2 ! IF nil( output_to_dc ) THEN getoutputbuf; 30150 979 3 ! 30160 980 4 ! LOCK output_to_dc AS dcbuf: dcbuftype DO 30170 981 5 ! WITH dcbuf DO 30180 982 6 ! BEGIN 30190 983 7 ! ! 30200 984 8 ! ! last:= last + 1; 30210 985 9 ! ! data (last):= ch; 30220 986 10 ! ! buffull:= ( last >= lastindex ) 30230 987 11 ! ! 30240 988 12 ! END; 30250 989 13 ! 30260 990 14 ! IF buffull THEN signal( output_to_dc, lam_sem^ ) 30270 991 15 ! 30280 992 16 END (* outchar *); 30290 993 \f outlist 81.05.26. 15.47. page 33 31010 994 PROCEDURE space( no_of_sp: integer ); 31020 995 31030 996 VAR 31040 997 i: integer; 31050 998 31060 999 BEGIN 31070 1000 1 ! 31080 1001 2 ! FOR i:= 1 TO no_of_sp DO 31090 1002 3 ! outchar( sp ) 31100 1003 4 ! 31110 1004 5 END; (* procedure space *) 31120 1005 \f outlist 81.05.26. 15.47. page 34 32010 1006 PROCEDURE outinteger( fill: char; int: integer; position: int_position ); 32020 1007 32030 1008 (******************************************************* 32040 1009 * * 32050 1010 * writes int into dcbuf starting at last and filling * 32060 1011 * positions. * 32070 1012 * * 32080 1013 ********************************************************) 32090 1014 32100 1015 CONST 32110 1016 maxpos = 20; (* max number of positions in layout *) 32120 1017 32130 1018 VAR 32140 1019 pos : int_position; 32150 1020 digits : ARRAY( int_position ) OF char; 32160 1021 32170 1022 BEGIN 32180 1023 1 ! 32190 1024 2 ! pos:= position; 32200 1025 3 ! 32210 1026 4 ! IF ( int < 0 ) THEN 32220 1027 5 ! outchar( "-" ); 32230 1028 6 ! 32240 1029 7 ! REPEAT 32250 1030 8 ! ! (* now we unpack the digits backwards and put them 32260 1031 9 ! ! into the digits array, starting at position *) 32270 1032 10 ! ! 32280 1033 11 ! ! digits( pos ):= chr( abs( int MOD base ) + ord( zero ) ); 32290 1034 12 ! ! int:= int DIV base; 32300 1035 13 ! ! pos:= pos - 1 32310 1036 14 ! ! 32320 1037 15 ! UNTIL ( pos = 0 ) OR ( int = 0 ); 32330 1038 16 ! 32340 1039 17 ! FOR pos:= pos DOWNTO 1 DO 32350 1040 18 ! digits( pos ):= fill; 32360 1041 19 ! 32370 1042 20 ! FOR pos := 1 TO position DO 32380 1043 21 ! outchar( digits( pos ) ); 32390 1044 22 ! 32400 1045 23 ! IF ( int <> 0 ) THEN 32410 1046 24 ! outchar( ch_star ) 32420 1047 25 ! 32430 1048 26 END (* procedure outinteger *); 32440 1049 \f outlist 81.05.26. 15.47. page 35 33010 1050 PROCEDURE outstring( no_of_chars: alpha_lth; text: alfa ); 33020 1051 33030 1052 VAR 33040 1053 i : alpha_lth; 33050 1054 33060 1055 BEGIN 33070 1056 1 ! 33080 1057 2 ! FOR i:= 1 TO no_of_chars DO 33090 1058 3 ! outchar( text( i ) ) 33100 1059 4 ! 33110 1060 5 END; (* procedure outstring *) 33120 1061 \f outlist 81.05.26. 15.47. page 36 34010 1062 FUNCTION readchar: char; 34020 1063 34030 1064 (**************************************************** 34040 1065 * reads the next char from inref^. * 34050 1066 * next is incremented and charsleft is decremented * 34060 1067 *****************************************************) 34070 1068 34080 1069 BEGIN 34090 1070 1 ! 34100 1071 2 ! LOCK inref AS dcbuf: dcbuftype DO 34110 1072 3 ! WITH dcbuf DO 34120 1073 4 ! BEGIN 34130 1074 5 ! ! 34140 1075 6 ! ! readchar:= data( next ); 34150 1076 7 ! ! next:= next + 1 34160 1077 8 ! ! 34170 1078 9 ! END; 34180 1079 10 ! 34190 1080 11 ! incharsleft:= incharsleft - 1 34200 1081 12 ! 34210 1082 13 END (* readchar *); 34220 1083 \f outlist 81.05.26. 15.47. page 37 35010 1084 FUNCTION readinteger ( VAR overflow: boolean ): integer; 35020 1085 35030 1086 (**************************************************** 35040 1087 * reads the next integer from input_from_dc^ starting 35050 1088 * at "inputpoint". upon return "inputpoint" will be 35060 1089 * the position just after the last char read. 35070 1090 * the global boolean "readok" will be true if an 35080 1091 * integer was read and false otherwise 35090 1092 *****************************************************) 35100 1093 35110 1094 TYPE 35120 1095 maxnumber = ARRAY(1..5) OF char; 35130 1096 35140 1097 CONST 35150 1098 digits = (. zero .. "9" .); 35160 1099 o_limit = maxnumber("3","2","7","6","7"); 35170 1100 35180 1101 VAR 35190 1102 negative : boolean; 35200 1103 digit: boolean := false; 35210 1104 curdigit, 35220 1105 result: integer; 35230 1106 o_digits : maxnumber; 35240 1107 ch, lastchar: char := nul; 35250 1108 \f outlist 81.05.26. 15.47. page 38 36010 1109 PROCEDURE ovflow; 36020 1110 36030 1111 BEGIN 36040 1112 1 ! 36050 1113 2 ! overflow:= true; 36060 1114 3 ! digit:= false; 36070 1115 4 ! 36080 1116 5 ! REPEAT 36090 1117 6 ! ! 36100 1118 7 ! ! ch:= readchar 36110 1119 8 ! ! 36120 1120 9 ! UNTIL ( NOT( ch IN digits)) OR ( incharsleft <= 0 ) 36130 1121 10 ! 36140 1122 11 END; 36150 1123 \f outlist 81.05.26. 15.47. page 39 37010 1124 PROCEDURE digitcheck; 37020 1125 37030 1126 VAR 37040 1127 i : integer := 0; 37050 1128 continue : boolean; 37060 1129 37070 1130 BEGIN 37080 1131 1 ! 37090 1132 2 ! REPEAT 37100 1133 3 ! ! 37110 1134 4 ! ! i:= i + 1; 37120 1135 5 ! ! continue:=o_digits( i ) = o_limit( i ) 37130 1136 6 ! ! 37140 1137 7 ! UNTIL ( i = 5 ) OR NOT continue; 37150 1138 8 ! 37160 1139 9 ! IF o_digits( i ) > o_limit( i ) THEN ovflow 37170 1140 10 ! 37180 1141 11 END; 37190 1142 37200 1143 \f outlist 81.05.26. 15.47. page 40 38010 1144 BEGIN (* readinteger *) 38020 1145 1 ! 38030 1146 2 ! readok:= false; 38040 1147 3 ! overflow:= false; 38050 1148 4 ! 38060 1149 5 ! (* now skip until a digit is encountered *) 38070 1150 6 ! 38080 1151 7 ! IF incharsleft > 0 THEN 38090 1152 8 ! REPEAT 38100 1153 9 ! ! 38110 1154 10 ! ! lastchar:= ch; 38120 1155 11 ! ! ch:= readchar; 38130 1156 12 ! ! digit:= (ch IN digits) 38140 1157 13 ! ! 38150 1158 14 ! UNTIL digit OR ( incharsleft <= 0 ) OR ( ch = cr ); 38160 1159 15 ! 38170 1160 16 ! result:=0; 38180 1161 17 ! negative:= lastchar="-"; 38190 1162 18 ! 38200 1163 19 ! IF digit THEN 38210 1164 20 ! BEGIN 38220 1165 21 ! ! 38230 1166 22 ! ! result:= ord (ch) - ord (zero); 38240 1167 23 ! ! readok:= true; 38250 1168 24 ! ! no_digits:= 1; 38260 1169 25 ! ! o_digits( 1 ):= ch 38270 1170 26 ! ! 38280 1171 27 ! END; 38290 1172 28 ! \f outlist 81.05.26. 15.47. page 41 39010 1173 29 ! WHILE digit AND (incharsleft>0) DO 39020 1174 30 ! BEGIN (* read the digits *) 39030 1175 31 ! ! 39040 1176 32 ! ! ch:= readchar; 39050 1177 33 ! ! digit:= ch IN digits; 39060 1178 34 ! ! 39070 1179 35 ! ! IF digit THEN 39080 1180 36 ! ! BEGIN 39090 1181 37 ! ! ! 39100 1182 38 ! ! ! no_digits:= no_digits + 1; 39110 1183 39 ! ! ! o_digits( no_digits ):= ch; 39120 1184 40 ! ! ! 39130 1185 41 ! ! ! IF no_digits > 5 THEN ovflow 39140 1186 42 ! ! ! ELSE 39150 1187 43 ! ! ! IF no_digits = 5 THEN digitcheck; 39160 1188 44 ! ! ! 39170 1189 45 ! ! ! IF NOT overflow THEN 39180 1190 46 ! ! ! IF negative AND ( result = 3276 ) AND ( ch ="8" ) THEN 39190 1191 47 ! ! ! BEGIN 39200 1192 48 ! ! ! ! result:= -32768; 39210 1193 49 ! ! ! ! negative:= false; 39220 1194 50 ! ! ! END 39230 1195 51 ! ! ! ELSE 39240 1196 52 ! ! ! result:= result * base + ( ord( ch ) - ord( zero ) ) 39250 1197 53 ! ! ! 39260 1198 54 ! ! END; 39270 1199 55 ! END (* while *) ; 39280 1200 56 ! 39290 1201 57 ! IF incharsleft > 0 THEN 39300 1202 58 ! BEGIN 39310 1203 59 ! ! (* we read one char too many - spit it out *) 39320 1204 60 ! ! 39330 1205 61 ! ! LOCK inref AS dcbuf: dcbuftype DO 39340 1206 62 ! ! dcbuf.next := dcbuf.next - 1; 39350 1207 63 ! ! 39360 1208 64 ! ! incharsleft:= incharsleft + 1 39370 1209 65 ! ! 39380 1210 66 ! END; 39390 1211 67 ! 39400 1212 68 ! readinteger:=result 39410 1213 69 ! 39420 1214 70 END (* read integer *); 39430 1215 \f outlist 81.05.26. 15.47. page 42 40010 1216 PROCEDURE newline; 40020 1217 40030 1218 BEGIN 40040 1219 1 ! 40050 1220 2 ! outchar( cr ); 40060 1221 3 ! outchar( nl ) 40070 1222 4 ! 40080 1223 5 END; 40090 1224 \f outlist 81.05.26. 15.47. page 43 41010 1225 PROCEDURE writeaddress( fch: char; sender: alarmnetaddr; lch: char ); 41020 1226 41030 1227 (************************************************* 41040 1228 * writes alarmnet addressaddress on dc-console * 41050 1229 *************************************************) 41060 1230 41070 1231 BEGIN 41080 1232 1 ! 41090 1233 2 ! WITH sender, macro DO 41100 1234 3 ! BEGIN 41110 1235 4 ! ! 41120 1236 5 ! ! outchar( fch ); 41130 1237 6 ! ! outinteger( zero, macro.dc_addr, 2 ); 41140 1238 7 ! ! outchar( sp ); 41150 1239 8 ! ! outinteger( zero, macro.nc_addr, 2 ); 41160 1240 9 ! ! outchar( sp ); 41170 1241 10 ! ! outinteger( zero, macro.ts_addr, 2 ); 41180 1242 11 ! ! outchar( sp ); 41190 1243 12 ! ! outinteger( zero, micro, 4 ); 41200 1244 13 ! ! outchar( lch ) 41210 1245 14 ! ! 41220 1246 15 ! END 41230 1247 16 ! 41240 1248 17 END (* writeaddress *); 41250 1249 \f outlist 81.05.26. 15.47. page 44 42010 1250 PROCEDURE write_to_from( rec, send: alarmnetaddr ); 42020 1251 42030 1252 BEGIN 42040 1253 1 ! 42050 1254 2 ! outstring( 3, txt_to ); 42060 1255 3 ! writeaddress( sp, rec, sp ); 42070 1256 4 ! outstring( 3, txt_from ); 42080 1257 5 ! writeaddress( sp, send, ":" ); 42090 1258 6 ! outchar( sp ) 42100 1259 7 ! 42110 1260 8 END; (* procedure write_to_from *) 42120 1261 \f outlist 81.05.26. 15.47. page 45 43010 1262 PROCEDURE write_param( param: integer; pos: int_position ); 43020 1263 43030 1264 BEGIN 43040 1265 1 ! 43050 1266 2 ! outchar( ch_lt ); 43060 1267 3 ! outinteger( sp, param, pos ); 43070 1268 4 ! outchar( ch_gt ) 43080 1269 5 ! 43090 1270 6 END; (* procedure write_param *) 43100 1271 \f outlist 81.05.26. 15.47. page 46 44010 1272 PROCEDURE writeresult( result: result_range ); 44020 1273 44030 1274 (************************************************ 44040 1275 * writes resultcode as text on dc-console * 44050 1276 *************************************************) 44060 1277 44070 1278 BEGIN 44080 1279 1 ! 44090 1280 2 ! outchar( sp ); 44100 1281 3 ! 44110 1282 4 ! CASE result OF 44120 1283 5 ! ! 44130 1284 6 ! ! accepted: 44140 1285 7 ! ! outstring( 6, txt_accepted ); 44150 1286 8 ! ! 44160 1287 9 ! ! not_accepted: 44170 1288 10 ! ! outstring( 7, txt_refused ); 44180 1289 11 ! ! 44190 1290 12 ! ! state_error: 44200 1291 13 ! ! outstring( 6, txt_state ); 44210 1292 14 ! ! 44220 1293 15 ! ! OTHERWISE 44230 1294 16 ! ! BEGIN 44240 1295 17 ! ! ! 44250 1296 18 ! ! ! outstring( 10, txt_result ); 44260 1297 19 ! ! ! outinteger( sp, result, 2 ) 44270 1298 20 ! ! ! 44280 1299 21 ! ! END 44290 1300 22 ! ! 44300 1301 23 ! END; 44310 1302 24 ! 44320 1303 25 ! outchar( sp ) 44330 1304 26 ! 44340 1305 27 END; (* procedure writeresult *) 44350 1306 \f outlist 81.05.26. 15.47. page 47 45010 1307 PROCEDURE write_table_update( upd: update_range ); 45020 1308 45030 1309 BEGIN 45040 1310 1 ! 45050 1311 2 ! outstring( 7, txt_addr ); 45060 1312 3 ! outstring( 7, txt_table ); 45070 1313 4 ! 45080 1314 5 ! CASE upd OF 45090 1315 6 ! ! 45100 1316 7 ! ! insert_code: 45110 1317 8 ! ! outstring( 7, txt_insert ); 45120 1318 9 ! ! 45130 1319 10 ! ! modify_code: 45140 1320 11 ! ! outstring( 10, txt_modify ); 45150 1321 12 ! ! 45160 1322 13 ! ! remove_code: 45170 1323 14 ! ! outstring( 6, txt_remove ); 45180 1324 15 ! ! 45190 1325 16 ! ! OTHERWISE 45200 1326 17 ! ! outstring( 11, txt_undef ) 45210 1327 18 ! ! 45220 1328 19 ! END 45230 1329 20 ! 45240 1330 21 END; (* procedure write_table_update *) 45250 1331 \f outlist 81.05.26. 15.47. page 48 46010 1332 PROCEDURE write_param_update( upd: update_range ); 46020 1333 46030 1334 BEGIN 46040 1335 1 ! 46050 1336 2 ! CASE upd OF 46060 1337 3 ! ! 46070 1338 4 ! ! read_code: 46080 1339 5 ! ! outstring( 6, txt_read ); 46090 1340 6 ! ! 46100 1341 7 ! ! insert_code: 46110 1342 8 ! ! outstring( 7, txt_insert ); 46120 1343 9 ! ! 46130 1344 10 ! ! modify_code: 46140 1345 11 ! ! outstring( 10, txt_modify ); 46150 1346 12 ! ! 46160 1347 13 ! ! OTHERWISE 46170 1348 14 ! ! outstring( 11, txt_undef ) 46180 1349 15 ! END 46190 1350 16 ! 46200 1351 17 END; (* procedure write_param_update *) 46210 1352 \f outlist 81.05.26. 15.47. page 49 47010 1353 PROCEDURE write_at_activity( act: update_range ); 47020 1354 47030 1355 BEGIN 47040 1356 1 ! 47050 1357 2 ! CASE act OF 47060 1358 3 ! ! 47070 1359 4 ! ! start_code: 47080 1360 5 ! ! outstring( 6, txt_start ) 47090 1361 6 ! ! ; 47100 1362 7 ! ! 47110 1363 8 ! ! stop_code: 47120 1364 9 ! ! outstring( 5, txt_stop ) 47130 1365 10 ! ! ; 47140 1366 11 ! ! 47150 1367 12 ! ! service_code: 47160 1368 13 ! ! outstring( 8, txt_service ) 47170 1369 14 ! ! ; 47180 1370 15 ! ! 47190 1371 16 ! ! OTHERWISE 47200 1372 17 ! ! outstring( 11, txt_undef ) 47210 1373 18 ! ! 47220 1374 19 ! END; 47230 1375 20 ! 47240 1376 21 ! outstring( 5, txt_poll ) 47250 1377 22 ! 47260 1378 23 END; (* procedure write_at_activity *) 47270 1379 \f outlist 81.05.26. 15.47. page 50 48010 1380 PROCEDURE write_state( 48020 1381 new_state : state_set; 48030 1382 VAR 48040 1383 current_state : state_set ); 48050 1384 48060 1385 VAR 48070 1386 state_bit : state_range; 48080 1387 work_set : state_set; 48090 1388 48100 1389 BEGIN 48110 1390 1 ! 48120 1391 2 ! work_set:= new_state + current_state - (.0.); 48130 1392 3 ! 48140 1393 4 ! outstring( 6, txt_state ); 48150 1394 5 ! outstring( 6, txt_alarm ); 48160 1395 6 ! 48170 1396 7 ! outchar( ch_lt ); 48180 1397 8 ! 48190 1398 9 ! FOR state_bit:= 1 TO 7 DO 48200 1399 10 ! IF state_bit IN work_set THEN 48210 1400 11 ! BEGIN 48220 1401 12 ! ! 48230 1402 13 ! ! CASE state_bit OF 48240 1403 14 ! ! ! 1: 48250 1404 15 ! ! ! outstring( 9, time_out ) 48260 1405 16 ! ! ! ; 48270 1406 17 ! ! ! 2: 48280 1407 18 ! ! ! outstring( 10, txt_hs ) 48290 1408 19 ! ! ! ; 48300 1409 20 ! ! ! 3: 48310 1410 21 ! ! ! outstring( 3, txt_au ) 48320 1411 22 ! ! ! ; 48330 1412 23 ! ! ! 4: 48340 1413 24 ! ! ! outstring( 6, txt_serif ) 48350 1414 25 ! ! ! ; 48360 1415 26 ! ! ! 5: 48370 1416 27 ! ! ! outstring( 9, txt_restart ) 48380 1417 28 ! ! ! ; 48390 1418 29 ! ! ! 6: 48400 1419 30 ! ! ! outstring( 8, txt_battery ) 48410 1420 31 ! ! ! ; 48420 1421 32 ! ! ! 7: 48430 1422 33 ! ! ! outstring( 6, txt_220_ac ) 48440 1423 34 ! ! ! ; 48450 1424 35 ! ! ! OTHERWISE 48460 1425 36 ! ! ! \f outlist 81.05.26. 15.47. page 51 48470 1426 37 ! ! END; (* case *) 48480 1427 38 ! ! \f outlist 81.05.26. 15.47. page 52 49010 1428 39 ! ! IF NOT ( state_bit IN (.1, 5.) ) THEN 49020 1429 40 ! ! BEGIN 49030 1430 41 ! ! ! 49040 1431 42 ! ! ! IF state_bit IN new_state THEN 49050 1432 43 ! ! ! BEGIN 49060 1433 44 ! ! ! ! 49070 1434 45 ! ! ! ! current_state:= current_state + (.state_bit.); 49080 1435 46 ! ! ! ! outstring( 4, txt_error ) 49090 1436 47 ! ! ! ! 49100 1437 48 ! ! ! END 49110 1438 49 ! ! ! ELSE 49120 1439 50 ! ! ! BEGIN 49130 1440 51 ! ! ! ! 49140 1441 52 ! ! ! ! current_state:= current_state - (.state_bit.); 49150 1442 53 ! ! ! ! outstring( 2, txt_ok ) 49160 1443 54 ! ! ! ! 49170 1444 55 ! ! ! END 49180 1445 56 ! ! ! 49190 1446 57 ! ! END; 49200 1447 58 ! ! 49210 1448 59 ! ! work_set:= work_set - (.state_bit.); 49220 1449 60 ! ! 49230 1450 61 ! ! IF work_set <> (..) THEN 49240 1451 62 ! ! outchar( ch_slash ) 49250 1452 63 ! ! ELSE 49260 1453 64 ! ! outchar( ch_gt ) 49270 1454 65 ! ! 49280 1455 66 ! END; 49290 1456 67 ! 49300 1457 68 ! outchar( sp ) 49310 1458 69 ! 49320 1459 70 END; (* procedure write_state *) 49330 1460 \f outlist 81.05.26. 15.47. page 53 50010 1461 PROCEDURE write_line_state( state: update_range ); 50020 1462 50030 1463 BEGIN 50040 1464 1 ! 50050 1465 2 ! outchar( ch_lt ); 50060 1466 3 ! 50070 1467 4 ! CASE state OF 50080 1468 5 ! ! 50090 1469 6 ! ! recall: 50100 1470 7 ! ! outstring( 7, txt_recall ) 50110 1471 8 ! ! ; 50120 1472 9 ! ! 50130 1473 10 ! ! call: 50140 1474 11 ! ! outstring( 4, txt_error ) 50150 1475 12 ! ! ; 50160 1476 13 ! ! 50170 1477 14 ! ! at_tim_excess: 50180 1478 15 ! ! outstring( 8, time_out ) 50190 1479 16 ! ! ; 50200 1480 17 ! ! 50210 1481 18 ! ! OTHERWISE 50220 1482 19 ! ! outstring( 10, txt_undef ) 50230 1483 20 ! ! 50240 1484 21 ! END; 50250 1485 22 ! 50260 1486 23 ! outchar( ch_gt ) 50270 1487 24 ! 50280 1488 25 END; (* procedure write_line_state *) 50290 1489 \f outlist 81.05.26. 15.47. page 54 51010 1490 PROCEDURE write_op_code( op_code: byte ); 51020 1491 51030 1492 BEGIN 51040 1493 1 ! 51050 1494 2 ! outinteger( zero, op_code DIV 16, 2 ); 51060 1495 3 ! outchar("."); 51070 1496 4 ! outinteger( zero, op_code MOD 16, 2 ); 51080 1497 5 ! outchar( sp ) 51090 1498 6 ! 51100 1499 7 END; 51110 1500 51120 1501 \f outlist 81.05.26. 15.47. page 55 52010 1502 PROCEDURE unknown_msg( VAR msg: reference ); 52020 1503 52030 1504 BEGIN 52040 1505 1 ! 52050 1506 2 ! LOCK msg AS m: alarmlabel DO 52060 1507 3 ! WITH m DO 52070 1508 4 ! BEGIN 52080 1509 5 ! ! 52090 1510 6 ! ! write_op_code( msg^.u4 ); 52100 1511 7 ! ! outstring( 3, txt_from ); 52110 1512 8 ! ! writeaddress( sp, send, sp ); 52120 1513 9 ! ! 52130 1514 10 ! ! writeresult( result ) 52140 1515 11 ! ! 52150 1516 12 ! END (* lock *) 52160 1517 13 ! 52170 1518 14 END; (* procedure unknown_msg *) 52180 1519 \f outlist 81.05.26. 15.47. page 56 53010 1520 PROCEDURE settime ( hh, mm : integer ); 53020 1521 53030 1522 (************************************************ 53040 1523 * sets time at timeoutmodule * 53050 1524 *************************************************) 53060 1525 53070 1526 BEGIN 53080 1527 1 ! 53090 1528 2 ! gettime_msg^.u1:=5; 53100 1529 3 ! 53110 1530 4 ! LOCK gettime_msg AS buf: ts_time DO 53120 1531 5 ! BEGIN 53130 1532 6 ! ! 53140 1533 7 ! ! buf( 0 ):= hh; 53150 1534 8 ! ! buf( 1 ):= 100 * mm 53160 1535 9 ! ! 53170 1536 10 ! END; 53180 1537 11 ! 53190 1538 12 ! signal ( gettime_msg, timeout_sem^ ); 53200 1539 13 ! 53210 1540 14 ! REPEAT 53220 1541 15 ! ! 53230 1542 16 ! ! wait( gettime_msg, timeout_answer_sem.w^ ); 53240 1543 17 ! ! 53250 1544 18 ! ! IF ( gettime_msg^.u3 = dummy_route ) THEN 53260 1545 19 ! ! return( gettime_msg ) 53270 1546 20 ! ! 53280 1547 21 ! UNTIL NOT nil( gettime_msg ); 53290 1548 22 ! 53300 1549 23 ! gettime_msg^.u1:= 2 53310 1550 24 ! 53320 1551 25 END; 53330 1552 \f outlist 81.05.26. 15.47. page 57 54010 1553 FUNCTION gettime : ts_time; 54020 1554 54030 1555 (*********************************************** 54040 1556 * gets the actual time at timeout-module * 54050 1557 ************************************************) 54060 1558 54070 1559 BEGIN 54080 1560 1 ! 54090 1561 2 ! signal( gettime_msg, timeout_sem^ ); 54100 1562 3 ! 54110 1563 4 ! REPEAT 54120 1564 5 ! ! 54130 1565 6 ! ! wait( gettime_msg, timeout_answer_sem.w^ ); 54140 1566 7 ! ! 54150 1567 8 ! ! IF ( gettime_msg^.u3 = dummy_route ) THEN 54160 1568 9 ! ! return( gettime_msg ) 54170 1569 10 ! ! 54180 1570 11 ! UNTIL NOT nil( gettime_msg ); 54190 1571 12 ! 54200 1572 13 ! LOCK gettime_msg AS buf: ts_time DO 54210 1573 14 ! BEGIN 54220 1574 15 ! ! 54230 1575 16 ! ! buf( 0 ):= abs( buf( 0 ) MOD 100 ); 54240 1576 17 ! ! buf( 1 ):= abs( buf( 1 ) MOD 10000 ); 54250 1577 18 ! ! gettime := buf 54260 1578 19 ! ! 54270 1579 20 ! END 54280 1580 21 ! 54290 1581 22 END; 54300 1582 \f outlist 81.05.26. 15.47. page 58 55010 1583 PROCEDURE writetime( time: ts_time ); 55020 1584 55030 1585 (************************************************** 55040 1586 * writes sender- or dc- time on dc-console * 55050 1587 **************************************************) 55060 1588 55070 1589 BEGIN 55080 1590 1 ! 55090 1591 2 ! newline; 55100 1592 3 ! outchar(sp); 55110 1593 4 ! 55120 1594 5 ! IF ( time( 0 ) > 23 ) OR ( ( time( 1 ) DIV 100 ) > 59 ) THEN 55130 1595 6 ! outstring( 8, txt_star ) 55140 1596 7 ! ELSE 55150 1597 8 ! BEGIN 55160 1598 9 ! ! 55170 1599 10 ! ! outinteger( zero, time( 0 ), 2 ); 55180 1600 11 ! ! 55190 1601 12 ! ! outchar("."); 55200 1602 13 ! ! 55210 1603 14 ! ! outinteger( zero, time( 1 ) DIV 100, 2 ); 55220 1604 15 ! ! 55230 1605 16 ! ! outchar("."); 55240 1606 17 ! ! 55250 1607 18 ! ! outinteger( zero, time( 1 ) MOD 100, 2 ) 55260 1608 19 ! ! 55270 1609 20 ! END; 55280 1610 21 ! 55290 1611 22 ! space(2) 55300 1612 23 ! 55310 1613 24 END (* writetime *); 55320 1614 \f outlist 81.05.26. 15.47. page 59 56010 1615 PROCEDURE skipdelimiters; 56020 1616 56030 1617 (************************************************ 56040 1618 * skips all the following delimiters * 56050 1619 *************************************************) 56060 1620 56070 1621 CONST 56080 1622 delimiters = (.sp.."@".); 56090 1623 56100 1624 BEGIN 56110 1625 1 ! 56120 1626 2 ! WHILE ( readchar IN delimiters ) AND ( incharsleft > 0 ) DO 56130 1627 3 ! ; 56140 1628 4 ! 56150 1629 5 ! IF incharsleft > 0 THEN 56160 1630 6 ! LOCK inref AS dcbuf: dcbuftype DO 56170 1631 7 ! dcbuf.next:= dcbuf.next - 1; 56180 1632 8 ! 56190 1633 9 ! incharsleft:= incharsleft + 1 56200 1634 10 ! 56210 1635 11 END; 56220 1636 56230 1637 \f outlist 81.05.26. 15.47. page 60 57010 1638 PROCEDURE getcommand( VAR command: alfa ); 57020 1639 57030 1640 (*************************************************** 57040 1641 * gets of command from inref * 57050 1642 ****************************************************) 57060 1643 57070 1644 CONST 57080 1645 valids = (."a".."}", "0".."9".); 57090 1646 57100 1647 VAR 57110 1648 i : alpha_lth := 1; 57120 1649 57130 1650 BEGIN 57140 1651 1 ! 57150 1652 2 ! command( 1 ):= readchar; 57160 1653 3 ! 57170 1654 4 ! WHILE ( i < alfalength ) AND ( command( i ) IN valids ) AND ( incharsleft > 0 ) DO 57180 1655 5 ! BEGIN 57190 1656 6 ! ! 57200 1657 7 ! ! i:= i + 1; 57210 1658 8 ! ! command( i ):= readchar 57220 1659 9 ! ! 57230 1660 10 ! END 57240 1661 11 ! 57250 1662 12 END; (* procedure getcommand *) 57260 1663 \f outlist 81.05.26. 15.47. page 61 58010 1664 FUNCTION packmacro( dc_num, nc_num, ts_num: integer ): macroaddr; 58020 1665 58030 1666 (************************************************* 58040 1667 * packs macroaddress into one integer * 58050 1668 **************************************************) 58060 1669 58070 1670 BEGIN 58080 1671 1 ! 58090 1672 2 ! packmacro.dc_addr:= dc_num; 58100 1673 3 ! packmacro.nc_addr:= nc_num; 58110 1674 4 ! packmacro.ts_addr:= ts_num 58120 1675 5 ! 58130 1676 6 END; 58140 1677 58150 1678 \f outlist 81.05.26. 15.47. page 62 59010 1679 PROCEDURE build_alarm_label( 59020 1680 no_by : integer; 59030 1681 receiver_addr : alarmnetaddr; 59040 1682 route , 59050 1683 opr_code : byte; 59060 1684 upd_code : update_range ); 59070 1685 59080 1686 (*------------------------------------------------------- 59090 1687 . 1. builds a complete alarmlabel in the listenbuffer 59100 1688 . 2. returns the listenbuffer, 59110 1689 . i e it should be called as the last operation on 59120 1690 . a buffer 59130 1691 ---------------------------------------------------------*) 59140 1692 59150 1693 BEGIN 59160 1694 1 ! 59170 1695 2 ! LOCK tsc_listen_ref AS l: alarmlabel DO 59180 1696 3 ! WITH l DO 59190 1697 4 ! BEGIN 59200 1698 5 ! ! 59210 1699 6 ! ! no_of_by:= label_size + no_by; 59220 1700 7 ! ! rec:= receiver_addr; 59230 1701 8 ! ! send:= addr( dc_macro, 0 ); 59240 1702 9 ! ! op_code:= opr_code; 59250 1703 10 ! ! update:= upd_code; 59260 1704 11 ! ! result:= accepted 59270 1705 12 ! ! 59280 1706 13 ! END; 59290 1707 14 ! 59300 1708 15 ! WITH tsc_listen_ref^ DO 59310 1709 16 ! BEGIN 59320 1710 17 ! ! 59330 1711 18 ! ! u3:= route; 59340 1712 19 ! ! u4:= opr_code 59350 1713 20 ! ! 59360 1714 21 ! END; 59370 1715 22 ! 59380 1716 23 ! signal( tsc_listen_ref, tsc_sem^ ); 59390 1717 24 ! 59400 1718 25 ! wait( tsc_listen_ref, com_sem^ ) 59410 1719 26 ! 59420 1720 27 END; 59430 1721 \f outlist 81.05.26. 15.47. page 63 60010 1722 FUNCTION packaddr( index: param_range ): alarmnetaddr; 60020 1723 60030 1724 (********************************************* 60040 1725 * packs alarmnetaddr into two integers * 60050 1726 **********************************************) 60060 1727 60070 1728 BEGIN 60080 1729 1 ! 60090 1730 2 ! packaddr.macro.dc_addr:= params( index ); 60100 1731 3 ! packaddr.macro.nc_addr:= params( index + 1 ); 60110 1732 4 ! packaddr.macro.ts_addr:= params( index + 2 ); 60120 1733 5 ! packaddr.micro:= params( index + 3 ) 60130 1734 6 ! 60140 1735 7 END; 60150 1736 \f outlist 81.05.26. 15.47. page 64 61010 1737 FUNCTION addr( mac: macroaddr; mic: integer ): alarmnetaddr; 61020 1738 61030 1739 BEGIN 61040 1740 1 ! 61050 1741 2 ! addr.macro:= mac; 61060 1742 3 ! addr.micro:= mic 61070 1743 4 ! 61080 1744 5 END; 61090 1745 61100 1746 \f outlist 81.05.26. 15.47. page 65 62010 1747 FUNCTION find_ac( VAR ac_ix: ac_db_ix; ac: alarmnetaddr ): boolean; 62020 1748 62030 1749 BEGIN 62040 1750 1 ! 62050 1751 2 ! ac_ix:= 1; 62060 1752 3 ! 62070 1753 4 ! WHILE ( ac <> ac_db( ac_ix ).ac_addr ) AND ( ac_ix < max_no_ac ) DO 62080 1754 5 ! ac_ix:= ac_ix + 1; 62090 1755 6 ! 62100 1756 7 ! find_ac:= ( ac = ac_db( ac_ix ).ac_addr ) 62110 1757 8 ! 62120 1758 9 END; (* function find_ac *) 62130 1759 \f outlist 81.05.26. 15.47. page 66 63010 1760 FUNCTION find_sac_entry( VAR sac_rac_ix: ac_db_ix; ts_ix: ts_db_ix; 63020 1761 ac: alarmnetaddr ): boolean; 63030 1762 63040 1763 BEGIN 63050 1764 1 ! 63060 1765 2 ! sac_rac_ix:= 1; 63070 1766 3 ! 63080 1767 4 ! WITH ts_db( ts_ix ) DO 63090 1768 5 ! BEGIN 63100 1769 6 ! ! 63110 1770 7 ! ! WHILE ( sac_rac_ix < max_no_ac ) AND ( ac <> sac_rac_s( sac_rac_ix ).vca_addr ) DO 63120 1771 8 ! ! sac_rac_ix:= sac_rac_ix + 1; 63130 1772 9 ! ! 63140 1773 10 ! ! find_sac_entry:= ( ac = sac_rac_s( sac_rac_ix ).vca_addr ) 63150 1774 11 ! ! 63160 1775 12 ! END 63170 1776 13 ! 63180 1777 14 END; 63190 1778 \f outlist 81.05.26. 15.47. page 67 64010 1779 PROCEDURE init_ts_db_e ( ts_ix: ts_db_ix ); 64020 1780 64030 1781 BEGIN 64040 1782 1 ! 64050 1783 2 ! WITH ts_db( ts_ix ) DO 64060 1784 3 ! BEGIN 64070 1785 4 ! ! 64080 1786 5 ! ! ts_address := macroaddr(0,0,0); 64090 1787 6 ! ! ports_used:= (.0.); 64100 1788 7 ! ! no_sac_e := 0; 64110 1789 8 ! ! nt_receipt:= false; 64120 1790 9 ! ! disconnected:= true; 64130 1791 10 ! ! 64140 1792 11 ! ! FOR ac_ix:= 1 TO max_no_ac DO 64150 1793 12 ! ! WITH sac_rac_s( ac_ix ) DO 64160 1794 13 ! ! BEGIN 64170 1795 14 ! ! ! 64180 1796 15 ! ! ! vca_addr:= empty_addr; 64190 1797 16 ! ! ! vcm_addr:= empty_addr 64200 1798 17 ! ! ! 64210 1799 18 ! ! END 64220 1800 19 ! ! 64230 1801 20 ! END 64240 1802 21 ! 64250 1803 22 END; 64260 1804 \f outlist 81.05.26. 15.47. page 68 65010 1805 FUNCTION find_ts( VAR ts_ix: ts_db_ix; ts: macroaddr ): boolean; 65020 1806 65030 1807 BEGIN 65040 1808 1 ! 65050 1809 2 ! ts_ix:= 1; 65060 1810 3 ! 65070 1811 4 ! WHILE ( ts_db( ts_ix ).ts_address <> ts ) AND ( ts_ix < max_no_ts ) DO 65080 1812 5 ! ts_ix:= ts_ix + 1; 65090 1813 6 ! 65100 1814 7 ! find_ts:= ts_db( ts_ix ).ts_address = ts 65110 1815 8 ! 65120 1816 9 END; 65130 1817 \f outlist 81.05.26. 15.47. page 69 66010 1818 PROCEDURE init_ac_db_e( ac_ix: ac_db_ix ); 66020 1819 66030 1820 66040 1821 BEGIN 66050 1822 1 ! 66060 1823 2 ! WITH ac_db( ac_ix ) DO 66070 1824 3 ! BEGIN 66080 1825 4 ! ! 66090 1826 5 ! ! ac_addr:= empty_addr; 66100 1827 6 ! ! ac_code:= 0; 66110 1828 7 ! ! ts_indx:= 1; 66120 1829 8 ! ! lam_port:= 0; 66130 1830 9 ! ! activity:= stop_code; 66140 1831 10 ! ! ac_request:= no_request; 66150 1832 11 ! ! dc_request:= no_request; 66160 1833 12 ! ! poll_delay:= poll_delay_time; 66170 1834 13 ! ! ac_state:= (..) 66180 1835 14 ! ! 66190 1836 15 ! END 66200 1837 16 ! 66210 1838 17 END; 66220 1839 \f outlist 81.05.26. 15.47. page 70 67010 1840 PROCEDURE init_at_db_e( at_ix: at_db_ix ); 67020 1841 67030 1842 67040 1843 BEGIN 67050 1844 1 ! 67060 1845 2 ! WITH at_db( at_ix ) DO 67070 1846 3 ! BEGIN 67080 1847 4 ! ! 67090 1848 5 ! ! at_addr:= empty_addr; 67100 1849 6 ! ! at_code:= 0; 67110 1850 7 ! ! at_state:= (..); 67120 1851 8 ! ! activity:= stop_code; 67130 1852 9 ! ! dc_request:= no_request; 67140 1853 10 ! ! ac_request:= no_request; 67150 1854 11 ! ! poll_delay:=poll_delay_time; 67160 1855 12 ! ! lam_port:= 0; 67170 1856 13 ! ! no_ac_e :=0; 67180 1857 14 ! ! ts_indx:= 1; 67190 1858 15 ! ! 67200 1859 16 ! ! FOR ac_ix:= 1 TO max_no_ac DO 67210 1860 17 ! ! BEGIN 67220 1861 18 ! ! ! 67230 1862 19 ! ! ! ac_indxs( ac_ix ):= 1; 67240 1863 20 ! ! ! ac_codes( ac_ix ):= 0 67250 1864 21 ! ! ! 67260 1865 22 ! ! END 67270 1866 23 ! ! 67280 1867 24 ! END 67290 1868 25 ! 67300 1869 26 END; 67310 1870 67320 1871 \f outlist 81.05.26. 15.47. page 71 68010 1872 PROCEDURE restart_dc; 68020 1873 68030 1874 BEGIN 68040 1875 1 ! 68050 1876 2 ! newline; 68060 1877 3 ! outchar( ff ); 68070 1878 4 ! start_new_line; 68080 1879 5 ! outstring( 3, txt_dc ); 68090 1880 6 ! 68100 1881 7 ! outstring( 12, version ); 68110 1882 8 ! 68120 1883 9 ! outinteger( sp, al_env_version, 2 ); 68130 1884 10 ! 68140 1885 11 ! start_new_line; 68150 1886 12 ! outstring( 6, txt_enter ); 68160 1887 13 ! outstring( 3, txt_dc ); 68170 1888 14 ! outstring( 6, txt_number ); 68180 1889 15 ! newline; 68190 1890 16 ! 68200 1891 17 ! no_of_dc:= 0; 68210 1892 18 ! 68220 1893 19 ! FOR ts_ix:= 1 TO max_no_ts DO init_ts_db_e( ts_ix ); 68230 1894 20 ! 68240 1895 21 ! FOR ac_ix:= 1 TO max_no_ac DO init_ac_db_e( ac_ix ); 68250 1896 22 ! 68260 1897 23 ! FOR at_ix:= 1 TO max_no_at DO init_at_db_e( at_ix ); 68270 1898 24 ! 68280 1899 25 ! no_of_dc:= 0; 68290 1900 26 ! no_of_ts:= 0; 68300 1901 27 ! no_of_ac:= 0; 68310 1902 28 ! no_of_at:= 0 68320 1903 29 ! 68330 1904 30 END; (* procedure restart_dc *) 68340 1905 \f outlist 81.05.26. 15.47. page 72 69010 1906 PROCEDURE broadcast( 69020 1907 address : alarmnetaddr; 69030 1908 opcode : byte 69040 1909 ); 69050 1910 69060 1911 BEGIN 69070 1912 1 ! 69080 1913 2 ! 69090 1914 3 ! FOR ts_ix:= 1 TO no_of_ts DO 69100 1915 4 ! BEGIN 69110 1916 5 ! ! LOCK tsc_listen_ref AS m2x: mess_2x_type DO 69120 1917 6 ! ! WITH m2x DO 69130 1918 7 ! ! node:= address; 69140 1919 8 ! ! 69150 1920 9 ! ! build_alarm_label( 4, 69160 1921 10 ! ! addr( ts_db( ts_ix ).ts_address, 0 ), netc_route, opcode, 0 ) 69170 1922 11 ! ! 69180 1923 12 ! END 69190 1924 13 ! 69200 1925 14 END; (* procedure broadcast *) 69210 1926 \f outlist 81.05.26. 15.47. page 73 70010 1927 FUNCTION find_at( VAR at_ix: at_db_ix; at: alarmnetaddr ): boolean; 70020 1928 70030 1929 (**************************************************************** 70040 1930 * finds the index in database where at is * 70050 1931 *****************************************************************) 70060 1932 70070 1933 BEGIN 70080 1934 1 ! 70090 1935 2 ! at_ix:= 1; 70100 1936 3 ! 70110 1937 4 ! WHILE ( at_db( at_ix ).at_addr <> at ) AND ( at_ix < max_no_at ) DO 70120 1938 5 ! at_ix:= at_ix + 1; 70130 1939 6 ! 70140 1940 7 ! find_at:= at_db( at_ix ).at_addr = at 70150 1941 8 ! 70160 1942 9 END; 70170 1943 70180 1944 \f outlist 81.05.26. 15.47. page 74 71010 1945 PROCEDURE start_new_line; 71020 1946 71030 1947 BEGIN 71040 1948 1 ! 71050 1949 2 ! newline; 71060 1950 3 ! space( 11 ) 71070 1951 4 ! 71080 1952 5 END; 71090 1953 \f outlist 81.05.26. 15.47. page 75 72010 1954 PROCEDURE start_com_line; 72020 1955 72030 1956 BEGIN 72040 1957 1 ! 72050 1958 2 ! newline; 72060 1959 3 ! newline; 72070 1960 4 ! space( 11 ); 72080 1961 5 ! outchar( ch_gt ); 72090 1962 6 ! 72100 1963 7 ! IF NOT nil( output_to_dc ) THEN 72110 1964 8 ! signal( output_to_dc, lam_sem^ ) 72120 1965 9 ! 72130 1966 10 END; 72140 1967 \f outlist 81.05.26. 15.47. page 76 73010 1968 FUNCTION update_px_db( 73020 1969 px_ix : px_db_ix 73030 1970 ): boolean; 73040 1971 73050 1972 VAR 73060 1973 ix : 1..14; 73070 1974 BEGIN 73080 1975 1 ! 73090 1976 2 ! IF params_ok( 19 ) THEN 73100 1977 3 ! IF macro_ok( params( 1 ), params( 2 ), params( 3 ) ) AND 73110 1978 4 ! range_ok( 4, 5, 0, max_byte ) AND 73120 1979 5 ! range_ok( 6, 19, 0, 15 ) THEN 73130 1980 6 ! WITH px_db( px_ix ) DO 73140 1981 7 ! BEGIN 73150 1982 8 ! ! 73160 1983 9 ! ! update_px_db:= true; 73170 1984 10 ! ! 73180 1985 11 ! ! mac_address:= packmacro( params( 1 ), params( 2 ), params( 3 ) ); 73190 1986 12 ! ! fe_ix:= params( 4 ); 73200 1987 13 ! ! max_no_retrans:= params( 5 ); 73210 1988 14 ! ! 73220 1989 15 ! ! FOR ix:= 1 TO 14 DO 73230 1990 16 ! ! ext_px_addr( ix ):= params( ix + 5 ) 73240 1991 17 ! ! 73250 1992 18 ! END 73260 1993 19 ! ELSE 73270 1994 20 ! BEGIN 73280 1995 21 ! ! 73290 1996 22 ! ! outstring( 5, txt_range ); 73300 1997 23 ! ! update_px_db:= false 73310 1998 24 ! ! 73320 1999 25 ! END 73330 2000 26 ! 73340 2001 27 END; (* function update_px_db *) 73350 2002 \f outlist 81.05.26. 15.47. page 77 74010 2003 PROCEDURE update_pax_table( 74020 2004 route : byte; 74030 2005 receiver_macro : macroaddr; 74040 2006 px_ix : px_db_ix; 74050 2007 remote_px_ix : integer; 74060 2008 update_kind : update_range 74070 2009 ); 74080 2010 74090 2011 BEGIN 74100 2012 1 ! 74110 2013 2 ! LOCK tsc_listen_ref AS m1012: mess_1012_type DO 74120 2014 3 ! WITH m1012, px_db( px_ix ) DO 74130 2015 4 ! BEGIN 74140 2016 5 ! ! 74150 2017 6 ! ! al_mac_addr:= mac_address; 74160 2018 7 ! ! 74170 2019 8 ! ! ext_pax_address:= ext_px_addr; 74180 2020 9 ! ! max_retrans:= max_no_retrans; 74190 2021 10 ! ! pax_tbl_ix:= remote_px_ix; 74200 2022 11 ! ! 74210 2023 12 ! ! stream_no:= pax_tbl_ix * ord( pax_tbl_ix <= max_locals ) 74220 2024 13 ! ! 74230 2025 14 ! END; 74240 2026 15 ! 74250 2027 16 ! build_alarm_label( 13, 74260 2028 17 ! addr( receiver_macro, netc_mic_addr ), route, #hac, update_kind ) 74270 2029 18 ! 74280 2030 19 END; (* procedure update_pax_table *) 74290 2031 \f outlist 81.05.26. 15.47. page 78 75010 2032 (**************************************** 75020 2033 * * 75030 2034 * m a i n p r o g r a m * 75040 2035 * * 75050 2036 ****************************************) 75060 2037 75070 2038 BEGIN 75080 2039 1 ! 75090 2040 2 ! testopen( opzone, own.incname, op_sem ); 75100 2041 3 ! 75110 2042 4 ! testout( opzone, version, al_env_version ); 75120 2043 5 ! 75130 2044 6 ! (* create the lam-channels *) 75140 2045 7 ! 75150 2046 8 ! alloc( output_to_dc, lam_buf_pool, lam_talk_sem.s^ ); 75160 2047 9 ! 75170 2048 10 ! output_to_dc^.u1:= create_tty_ch; 75180 2049 11 ! output_to_dc^.u2:= dcm_out_port; 75190 2050 12 ! output_to_dc^.u3:= my_dc_route; 75200 2051 13 ! 75210 2052 14 ! LOCK output_to_dc AS lambuf: lambuftype DO 75220 2053 15 ! BEGIN 75230 2054 16 ! ! 75240 2055 17 ! ! lambuf.controle_byte:= 32 + 16 + 4 + 2; 75250 2056 18 ! ! (* i.e. 300 bps, 7 data, 2 stop, even par *) 75260 2057 19 ! ! lambuf.timeout:= 60 75270 2058 20 ! ! 75280 2059 21 ! END; 75290 2060 22 ! 75300 2061 23 ! signal( output_to_dc, lam_sem^ ); 75310 2062 24 ! 75320 2063 25 ! REPEAT 75330 2064 26 ! ! 75340 2065 27 ! ! wait( output_to_dc, lam_talk_sem.w^ ); 75350 2066 28 ! ! 75360 2067 29 ! ! IF ( output_to_dc^.u3 = dummy_route ) THEN 75370 2068 30 ! ! return( output_to_dc ) 75380 2069 31 ! ! 75390 2070 32 ! UNTIL NOT nil( output_to_dc ); 75400 2071 33 ! 75410 2072 34 ! output_to_dc^.u1:= write_tty; 75420 2073 35 ! output_to_dc^.u3:= my_dc_route; 75430 2074 36 ! \f outlist 81.05.26. 15.47. page 79 76010 2075 37 ! LOCK output_to_dc AS dcbuf: dcbuftype DO 76020 2076 38 ! dcbuf.first:= firstindex; 76030 2077 39 ! 76040 2078 40 ! return( output_to_dc ); 76050 2079 41 ! 76060 2080 42 ! alloc( inref, lam_buf_pool, input_sem.s^ ); 76070 2081 43 ! 76080 2082 44 ! inref^.u1:= read_tty; 76090 2083 45 ! inref^.u3:= my_dc_route; 76100 2084 46 ! 76110 2085 47 ! LOCK inref AS dcbuf: dcbuftype DO 76120 2086 48 ! BEGIN 76130 2087 49 ! ! 76140 2088 50 ! ! dcbuf.first:= firstindex; 76150 2089 51 ! ! dcbuf.last:= lastindex 76160 2090 52 ! ! 76170 2091 53 ! END; 76180 2092 54 ! 76190 2093 55 ! WHILE openpool( lam_buf_pool ) DO 76200 2094 56 ! BEGIN 76210 2095 57 ! ! 76220 2096 58 ! ! alloc( output_to_dc, lam_buf_pool, lam_talk_sem.s^ ); 76230 2097 59 ! ! 76240 2098 60 ! ! WITH output_to_dc^ DO 76250 2099 61 ! ! BEGIN 76260 2100 62 ! ! ! 76270 2101 63 ! ! ! u1:= write_tty; 76280 2102 64 ! ! ! u2:= 0; 76290 2103 65 ! ! ! u3:= my_dc_route; 76300 2104 66 ! ! ! u4:= 0 76310 2105 67 ! ! ! 76320 2106 68 ! ! END; 76330 2107 69 ! ! 76340 2108 70 ! ! LOCK output_to_dc AS dcbuf: dcbuftype DO 76350 2109 71 ! ! dcbuf.first:= firstindex; 76360 2110 72 ! ! 76370 2111 73 ! ! return( output_to_dc ) 76380 2112 74 ! ! 76390 2113 75 ! END; 76400 2114 76 ! \f outlist 81.05.26. 15.47. page 80 77010 2115 77 ! alloc( book_up_msg, book_up_pool, timeout_answer_sem.s^ ); 77020 2116 78 ! 77030 2117 79 ! book_up_msg^.u3:= netc_route; 77040 2118 80 ! 77050 2119 81 ! alloc( timeout_msg, timeout_pool, input_sem.s^ ); 77060 2120 82 ! 77070 2121 83 ! timeout_msg^.u3:= netc_route; 77080 2122 84 ! 77090 2123 85 ! alloc( gettime_msg, gettime_pool, timeout_answer_sem.s^ ); 77100 2124 86 ! 77110 2125 87 ! WITH gettime_msg^ DO 77120 2126 88 ! BEGIN 77130 2127 89 ! ! 77140 2128 90 ! ! u1:= 2; 77150 2129 91 ! ! u3:= 1 77160 2130 92 ! ! 77170 2131 93 ! END; 77180 2132 94 ! 77190 2133 95 ! IF nil( tsc_listen_ref ) THEN 77200 2134 96 ! wait( tsc_listen_ref, com_sem^ ); 77210 2135 97 ! 77220 2136 98 ! restart_dc; 77230 2137 99 ! 77240 2138 100 ! read_at_dc; 77250 2139 101 ! \f outlist 81.05.26. 15.47. page 81 78010 2140 102 ! REPEAT 78020 2141 103 ! ! 78030 2142 104 ! ! 78040 2143 105 ! ! IF passive( input_sem.w^ ) AND open( queue_sem.w^ ) THEN 78050 2144 106 ! ! wait( inref, queue_sem.w^ ) 78060 2145 107 ! ! ELSE 78070 2146 108 ! ! wait( inref, input_sem.w^ ); 78080 2147 109 ! ! 78090 2148 110 ! ! CASE inref^.u3 OF 78100 2149 111 ! ! ! 78110 2150 112 ! ! ! dummy_route: return( inref ); 78120 2151 113 ! ! ! 78130 2152 114 ! ! ! netc_route , 78140 2153 115 ! ! ! netc_route1 , 78150 2154 116 ! ! ! netc_route2 : (* from net connector *) 78160 2155 117 ! ! ! 78170 2156 118 ! ! ! IF open( input_sem.w^ ) THEN 78180 2157 119 ! ! ! signal( inref, queue_sem.s^ ) 78190 2158 120 ! ! ! ELSE 78200 2159 121 ! ! ! BEGIN 78210 2160 122 ! ! ! ! 78220 2161 123 ! ! ! ! opr_code:=inref^.u4; 78230 2162 124 ! ! ! ! 78240 2163 125 ! ! ! ! IF NOT ( log_off AND ( opr_code IN (.#h00, #h02.) ) ) THEN 78250 2164 126 ! ! ! ! BEGIN 78260 2165 127 ! ! ! ! ! 78270 2166 128 ! ! ! ! ! LOCK inref AS a: alarmlabel DO 78280 2167 129 ! ! ! ! ! WITH a DO 78290 2168 130 ! ! ! ! ! BEGIN 78300 2169 131 ! ! ! ! ! ! 78310 2170 132 ! ! ! ! ! ! writetime( gettime ); 78320 2171 133 ! ! ! ! ! ! 78330 2172 134 ! ! ! ! ! ! CASE opr_code OF 78340 2173 135 ! ! ! ! ! ! ! 78350 2174 136 ! ! ! ! ! ! ! #h00: outstring( 4, txt_log ); 78360 2175 137 ! ! ! ! ! ! ! 78370 2176 138 ! ! ! ! ! ! ! #h10: 78380 2177 139 ! ! ! ! ! ! ! BEGIN 78390 2178 140 ! ! ! ! ! ! ! ! 78400 2179 141 ! ! ! ! ! ! ! ! outstring( 4, txt_log ); 78410 2180 142 ! ! ! ! ! ! ! ! outstring( 3, txt_of ); 78420 2181 143 ! ! ! ! ! ! ! ! outstring( 7, txt_rej ); 78430 2182 144 ! ! ! ! ! ! ! ! outstring( 11, txt_msg ) 78440 2183 145 ! ! ! ! ! ! ! ! 78450 2184 146 ! ! ! ! ! ! ! END; 78460 2185 147 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 82 78470 2186 148 ! ! ! ! ! ! ! #h12: outstring( 7, txt_rej ); 78480 2187 149 ! ! ! ! ! ! ! 78490 2188 150 ! ! ! ! ! ! ! #h31, #h32, #h34, #h35: 78500 2189 151 ! ! ! ! ! ! ! outstring( 6, txt_alarm ); 78510 2190 152 ! ! ! ! ! ! ! 78520 2191 153 ! ! ! ! ! ! ! OTHERWISE 78530 2192 154 ! ! ! ! ! ! ! outstring( 9, txt_rec ) 78540 2193 155 ! ! ! ! ! ! END; 78550 2194 156 ! ! ! ! ! ! 78560 2195 157 ! ! ! ! ! ! outstring( 3, txt_from ); 78570 2196 158 ! ! ! ! ! ! writeaddress( sp, send, sp ); 78580 2197 159 ! ! ! ! ! ! writetime( ts_add ) 78590 2198 160 ! ! ! ! ! ! 78600 2199 161 ! ! ! ! ! END; 78610 2200 162 ! ! ! ! ! \f outlist 81.05.26. 15.47. page 83 79010 2201 163 ! ! ! ! ! CASE ( opr_code DIV 16 ) OF 79020 2202 164 ! ! ! ! ! ! 79030 2203 165 ! ! ! ! ! ! #h0: CASE ( opr_code MOD 16 ) OF 79040 2204 166 ! ! ! ! ! ! ! 79050 2205 167 ! ! ! ! ! ! ! (* 00.00 *) #h0: (* log *) 79060 2206 168 ! ! ! ! ! ! ! 79070 2207 169 ! ! ! ! ! ! ! BEGIN 79080 2208 170 ! ! ! ! ! ! ! ! 79090 2209 171 ! ! ! ! ! ! ! ! LOCK inref AS logmess: logmesstype DO 79100 2210 172 ! ! ! ! ! ! ! ! WITH logmess, old_label DO 79110 2211 173 ! ! ! ! ! ! ! ! BEGIN 79120 2212 174 ! ! ! ! ! ! ! ! ! 79130 2213 175 ! ! ! ! ! ! ! ! ! opr_code:= a_label.op_code; 79140 2214 176 ! ! ! ! ! ! ! ! ! write_to_from( rec, send ) 79150 2215 177 ! ! ! ! ! ! ! ! ! 79160 2216 178 ! ! ! ! ! ! ! ! END; 79170 2217 179 ! ! ! ! ! ! ! ! 79180 2218 180 ! ! ! ! ! ! ! ! IF ( opr_code <> #h32 ) THEN 79190 2219 181 ! ! ! ! ! ! ! ! LOCK inref AS logmess: logmesstype DO 79200 2220 182 ! ! ! ! ! ! ! ! WITH logmess, old_label DO 79210 2221 183 ! ! ! ! ! ! ! ! BEGIN 79220 2222 184 ! ! ! ! ! ! ! ! ! 79230 2223 185 ! ! ! ! ! ! ! ! ! CASE op_code OF 79240 2224 186 ! ! ! ! ! ! ! ! ! ! #h30: 79250 2225 187 ! ! ! ! ! ! ! ! ! ! outstring( 3, txt_au ) 79260 2226 188 ! ! ! ! ! ! ! ! ! ! ; 79270 2227 189 ! ! ! ! ! ! ! ! ! ! 79280 2228 190 ! ! ! ! ! ! ! ! ! ! #h31: 79290 2229 191 ! ! ! ! ! ! ! ! ! ! outstring( 5, txt_line ) 79300 2230 192 ! ! ! ! ! ! ! ! ! ! ; 79310 2231 193 ! ! ! ! ! ! ! ! ! ! 79320 2232 194 ! ! ! ! ! ! ! ! ! ! #h40, #h41: 79330 2233 195 ! ! ! ! ! ! ! ! ! ! outstring( 8, txt_steer ) 79340 2234 196 ! ! ! ! ! ! ! ! ! ! ; 79350 2235 197 ! ! ! ! ! ! ! ! ! ! 79360 2236 198 ! ! ! ! ! ! ! ! ! ! #h84, #h85: 79370 2237 199 ! ! ! ! ! ! ! ! ! ! outstring( 5, txt_test ) 79380 2238 200 ! ! ! ! ! ! ! ! ! ! ; 79390 2239 201 ! ! ! ! ! ! ! ! ! ! 79400 2240 202 ! ! ! ! ! ! ! ! ! ! #h98: 79410 2241 203 ! ! ! ! ! ! ! ! ! ! outstring( 11, txt_msg ) 79420 2242 204 ! ! ! ! ! ! ! ! ! ! ; 79430 2243 205 ! ! ! ! ! ! ! ! ! ! 79440 2244 206 ! ! ! ! ! ! ! ! ! ! #hc8, #hc9: 79450 2245 207 ! ! ! ! ! ! ! ! ! ! BEGIN 79460 2246 208 ! ! ! ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 84 79470 2247 209 ! ! ! ! ! ! ! ! ! ! ! outstring( 7, txt_connected ); 79480 2248 210 ! ! ! ! ! ! ! ! ! ! ! outstring( 5, txt_test ) 79490 2249 211 ! ! ! ! ! ! ! ! ! ! ! 79500 2250 212 ! ! ! ! ! ! ! ! ! ! END 79510 2251 213 ! ! ! ! ! ! ! ! ! ! ; 79520 2252 214 ! ! ! ! ! ! ! ! ! ! 79530 2253 215 ! ! ! ! ! ! ! ! ! ! OTHERWISE 79540 2254 216 ! ! ! ! ! ! ! ! ! ! write_op_code( op_code ) 79550 2255 217 ! ! ! ! ! ! ! ! ! ! 79560 2256 218 ! ! ! ! ! ! ! ! ! END; 79570 2257 219 ! ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 85 80010 2258 220 ! ! ! ! ! ! ! ! ! IF NOT ( op_code IN (.#h30, #h31.) ) THEN 80020 2259 221 ! ! ! ! ! ! ! ! ! BEGIN 80030 2260 222 ! ! ! ! ! ! ! ! ! ! 80040 2261 223 ! ! ! ! ! ! ! ! ! ! IF ( ( op_code MOD 2 ) = 0 ) THEN 80050 2262 224 ! ! ! ! ! ! ! ! ! ! outstring( 6, txt_send ) 80060 2263 225 ! ! ! ! ! ! ! ! ! ! ELSE 80070 2264 226 ! ! ! ! ! ! ! ! ! ! outstring( 9, txt_receipt ) 80080 2265 227 ! ! ! ! ! ! ! ! ! ! 80090 2266 228 ! ! ! ! ! ! ! ! ! END 80100 2267 229 ! ! ! ! ! ! ! ! ! ELSE 80110 2268 230 ! ! ! ! ! ! ! ! ! outstring( 6, txt_alarm ); 80120 2269 231 ! ! ! ! ! ! ! ! ! 80130 2270 232 ! ! ! ! ! ! ! ! ! IF NOT ( op_code IN (.#hc8, #hc9.) ) THEN 80140 2271 233 ! ! ! ! ! ! ! ! ! BEGIN 80150 2272 234 ! ! ! ! ! ! ! ! ! ! 80160 2273 235 ! ! ! ! ! ! ! ! ! ! IF ( op_code <> #h31 ) THEN 80170 2274 236 ! ! ! ! ! ! ! ! ! ! BEGIN 80180 2275 237 ! ! ! ! ! ! ! ! ! ! ! 80190 2276 238 ! ! ! ! ! ! ! ! ! ! ! outchar( ch_lt ); 80200 2277 239 ! ! ! ! ! ! ! ! ! ! ! 80210 2278 240 ! ! ! ! ! ! ! ! ! ! ! FOR noofparams:= 1 TO ( no_of_by - label_size ) DO 80220 2279 241 ! ! ! ! ! ! ! ! ! ! ! BEGIN 80230 2280 242 ! ! ! ! ! ! ! ! ! ! ! ! 80240 2281 243 ! ! ! ! ! ! ! ! ! ! ! ! outinteger( sp, data( noofparams ), 3 ); 80250 2282 244 ! ! ! ! ! ! ! ! ! ! ! ! 80260 2283 245 ! ! ! ! ! ! ! ! ! ! ! ! IF ( noofparams <> ( no_of_by - label_size ) ) THEN 80270 2284 246 ! ! ! ! ! ! ! ! ! ! ! ! outchar( ch_slash ) 80280 2285 247 ! ! ! ! ! ! ! ! ! ! ! ! 80290 2286 248 ! ! ! ! ! ! ! ! ! ! ! END; 80300 2287 249 ! ! ! ! ! ! ! ! ! ! ! 80310 2288 250 ! ! ! ! ! ! ! ! ! ! ! outchar( ch_gt ) 80320 2289 251 ! ! ! ! ! ! ! ! ! ! ! 80330 2290 252 ! ! ! ! ! ! ! ! ! ! END 80340 2291 253 ! ! ! ! ! ! ! ! ! ! ELSE 80350 2292 254 ! ! ! ! ! ! ! ! ! ! write_line_state( data( 1 ) ) 80360 2293 255 ! ! ! ! ! ! ! ! ! ! 80370 2294 256 ! ! ! ! ! ! ! ! ! END; 80380 2295 257 ! ! ! ! ! ! ! ! ! 80390 2296 258 ! ! ! ! ! ! ! ! ! IF ( result <> accepted ) THEN 80400 2297 259 ! ! ! ! ! ! ! ! ! writeresult( result ) 80410 2298 260 ! ! ! ! ! ! ! ! ! 80420 2299 261 ! ! ! ! ! ! ! ! END (* with *) 80430 2300 262 ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 86 81010 2301 263 ! ! ! ! ! ! ! ! ELSE 81020 2302 264 ! ! ! ! ! ! ! ! (* statusalarm from at *) 81030 2303 265 ! ! ! ! ! ! ! ! 81040 2304 266 ! ! ! ! ! ! ! ! LOCK inref AS l: logstatustype DO 81050 2305 267 ! ! ! ! ! ! ! ! WITH l, old_label DO 81060 2306 268 ! ! ! ! ! ! ! ! BEGIN 81070 2307 269 ! ! ! ! ! ! ! ! ! 81080 2308 270 ! ! ! ! ! ! ! ! ! IF find_at( at_ix, send ) THEN 81090 2309 271 ! ! ! ! ! ! ! ! ! WITH at_db( at_ix ) DO 81100 2310 272 ! ! ! ! ! ! ! ! ! write_state( state, at_state ) 81110 2311 273 ! ! ! ! ! ! ! ! ! ELSE 81120 2312 274 ! ! ! ! ! ! ! ! ! write_error( 2, 4, no_of_at ) 81130 2313 275 ! ! ! ! ! ! ! ! ! 81140 2314 276 ! ! ! ! ! ! ! ! END 81150 2315 277 ! ! ! ! ! ! ! ! 81160 2316 278 ! ! ! ! ! ! ! END (* #h00 *); 81170 2317 279 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 87 82010 2318 280 ! ! ! ! ! ! ! (* 00.02 *) #h2: (* log for delivered alarm *) 82020 2319 281 ! ! ! ! ! ! ! LOCK inref AS log02: log02type DO 82030 2320 282 ! ! ! ! ! ! ! WITH log02 DO 82040 2321 283 ! ! ! ! ! ! ! BEGIN 82050 2322 284 ! ! ! ! ! ! ! ! 82060 2323 285 ! ! ! ! ! ! ! ! CASE d_op_code OF 82070 2324 286 ! ! ! ! ! ! ! ! ! #h30: 82080 2325 287 ! ! ! ! ! ! ! ! ! outstring( 3, txt_au ); 82090 2326 288 ! ! ! ! ! ! ! ! ! 82100 2327 289 ! ! ! ! ! ! ! ! ! #h31: 82110 2328 290 ! ! ! ! ! ! ! ! ! outstring( 5, txt_line ); 82120 2329 291 ! ! ! ! ! ! ! ! ! 82130 2330 292 ! ! ! ! ! ! ! ! ! #h32: 82140 2331 293 ! ! ! ! ! ! ! ! ! outstring( 6, txt_state ); 82150 2332 294 ! ! ! ! ! ! ! ! ! 82160 2333 295 ! ! ! ! ! ! ! ! ! OTHERWISE 82170 2334 296 ! ! ! ! ! ! ! ! ! outstring( 11, txt_undef ) 82180 2335 297 ! ! ! ! ! ! ! ! END; 82190 2336 298 ! ! ! ! ! ! ! ! 82200 2337 299 ! ! ! ! ! ! ! ! outstring( 6, txt_alarm ); 82210 2338 300 ! ! ! ! ! ! ! ! outstring( 3, txt_from ); 82220 2339 301 ! ! ! ! ! ! ! ! writeaddress( sp, at_adr, sp ); 82230 2340 302 ! ! ! ! ! ! ! ! 82240 2341 303 ! ! ! ! ! ! ! ! IF d_op_code = #h30 THEN 82250 2342 304 ! ! ! ! ! ! ! ! write_param( a_code, 3 ) 82260 2343 305 ! ! ! ! ! ! ! ! ELSE 82270 2344 306 ! ! ! ! ! ! ! ! IF ( d_op_code = #h31 ) THEN 82280 2345 307 ! ! ! ! ! ! ! ! write_line_state( a_code ); 82290 2346 308 ! ! ! ! ! ! ! ! 82300 2347 309 ! ! ! ! ! ! ! ! outchar( sp ); 82310 2348 310 ! ! ! ! ! ! ! ! 82320 2349 311 ! ! ! ! ! ! ! ! outstring( 9, txt_delivered ) 82330 2350 312 ! ! ! ! ! ! ! ! 82340 2351 313 ! ! ! ! ! ! ! END; (* with *) 82350 2352 314 ! ! ! ! ! ! ! 82360 2353 315 ! ! ! ! ! ! ! OTHERWISE 82370 2354 316 ! ! ! ! ! ! ! unknown_msg( inref ) 82380 2355 317 ! ! ! ! ! ! ! 82390 2356 318 ! ! ! ! ! ! END; 82400 2357 319 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 88 83010 2358 320 ! ! ! ! ! ! #h1: CASE ( opr_code MOD 16 ) OF 83020 2359 321 ! ! ! ! ! ! ! 83030 2360 322 ! ! ! ! ! ! ! (* 01.00 *) 83040 2361 323 ! ! ! ! ! ! ! (* 01.02 *) #h0, #h2: (* rejected message *) 83050 2362 324 ! ! ! ! ! ! ! LOCK inref AS m: mess_12_type DO 83060 2363 325 ! ! ! ! ! ! ! WITH m DO 83070 2364 326 ! ! ! ! ! ! ! BEGIN 83080 2365 327 ! ! ! ! ! ! ! ! 83090 2366 328 ! ! ! ! ! ! ! ! WITH a_label DO 83100 2367 329 ! ! ! ! ! ! ! ! writeresult( result ); 83110 2368 330 ! ! ! ! ! ! ! ! 83120 2369 331 ! ! ! ! ! ! ! ! WITH old_label DO 83130 2370 332 ! ! ! ! ! ! ! ! BEGIN 83140 2371 333 ! ! ! ! ! ! ! ! ! 83150 2372 334 ! ! ! ! ! ! ! ! ! writetime( ts_add ); 83160 2373 335 ! ! ! ! ! ! ! ! ! outstring( 11, txt_org ); 83170 2374 336 ! ! ! ! ! ! ! ! ! outstring( 11, txt_msg ); 83180 2375 337 ! ! ! ! ! ! ! ! ! write_op_code( op_code ); 83190 2376 338 ! ! ! ! ! ! ! ! ! write_to_from( rec, send ); 83200 2377 339 ! ! ! ! ! ! ! ! ! 83210 2378 340 ! ! ! ! ! ! ! ! ! write_param( no_of_by - label_size, 2 ) 83220 2379 341 ! ! ! ! ! ! ! ! ! 83230 2380 342 ! ! ! ! ! ! ! ! END 83240 2381 343 ! ! ! ! ! ! ! ! 83250 2382 344 ! ! ! ! ! ! ! END; 83260 2383 345 ! ! ! ! ! ! ! 83270 2384 346 ! ! ! ! ! ! ! OTHERWISE 83280 2385 347 ! ! ! ! ! ! ! unknown_msg( inref ) 83290 2386 348 ! ! ! ! ! ! ! 83300 2387 349 ! ! ! ! ! ! END; 83310 2388 350 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 89 84010 2389 351 ! ! ! ! ! ! #h2: CASE ( opr_code MOD 16 ) OF 84020 2390 352 ! ! ! ! ! ! ! 84030 2391 353 ! ! ! ! ! ! ! (* 02.00 *) 84040 2392 354 ! ! ! ! ! ! ! (* 02.01 *) 84050 2393 355 ! ! ! ! ! ! ! (* 02.02 *) 84060 2394 356 ! ! ! ! ! ! ! (* 02.03 *) 84070 2395 357 ! ! ! ! ! ! ! (* 02.04 *) 84080 2396 358 ! ! ! ! ! ! ! (* 02.05 *) 84090 2397 359 ! ! ! ! ! ! ! (* 02.06 *) 84100 2398 360 ! ! ! ! ! ! ! (* 02.07 *) 84110 2399 361 ! ! ! ! ! ! ! (* 02.08 *) 84120 2400 362 ! ! ! ! ! ! ! (* 02.09 *) #h0..#h9: (* broadcast *) 84130 2401 363 ! ! ! ! ! ! ! LOCK inref AS m2x: mess_2x_type DO 84140 2402 364 ! ! ! ! ! ! ! WITH m2x, a_label DO 84150 2403 365 ! ! ! ! ! ! ! BEGIN 84160 2404 366 ! ! ! ! ! ! ! ! 84170 2405 367 ! ! ! ! ! ! ! ! writeaddress( sp, node, sp ); 84180 2406 368 ! ! ! ! ! ! ! ! 84190 2407 369 ! ! ! ! ! ! ! ! IF ( opr_code MOD 2 ) <> 1 THEN 84200 2408 370 ! ! ! ! ! ! ! ! outstring( 3, txt_dis ); 84210 2409 371 ! ! ! ! ! ! ! ! 84220 2410 372 ! ! ! ! ! ! ! ! outstring( 9, txt_connected ) 84230 2411 373 ! ! ! ! ! ! ! ! 84240 2412 374 ! ! ! ! ! ! ! END; 84250 2413 375 ! ! ! ! ! ! ! 84260 2414 376 ! ! ! ! ! ! ! OTHERWISE 84270 2415 377 ! ! ! ! ! ! ! unknown_msg( inref ) 84280 2416 378 ! ! ! ! ! ! ! 84290 2417 379 ! ! ! ! ! ! END; 84300 2418 380 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 90 85010 2419 381 ! ! ! ! ! ! #h3: CASE ( opr_code MOD 16 ) OF 85020 2420 382 ! ! ! ! ! ! ! 85030 2421 383 ! ! ! ! ! ! ! (* 03.01 *) 85040 2422 384 ! ! ! ! ! ! ! (* 03.04 *) 85050 2423 385 ! ! ! ! ! ! ! (* 03.05 *) #h1, #h4, #h5: 85060 2424 386 ! ! ! ! ! ! ! LOCK inref AS alarm: alarmmesstype DO 85070 2425 387 ! ! ! ! ! ! ! WITH alarm DO 85080 2426 388 ! ! ! ! ! ! ! BEGIN 85090 2427 389 ! ! ! ! ! ! ! ! 85100 2428 390 ! ! ! ! ! ! ! ! CASE opr_code OF 85110 2429 391 ! ! ! ! ! ! ! ! ! #h31: 85120 2430 392 ! ! ! ! ! ! ! ! ! outstring( 4, txt_error ); 85130 2431 393 ! ! ! ! ! ! ! ! ! 85140 2432 394 ! ! ! ! ! ! ! ! ! #h34: 85150 2433 395 ! ! ! ! ! ! ! ! ! outstring( 7, txt_service ); 85160 2434 396 ! ! ! ! ! ! ! ! ! 85170 2435 397 ! ! ! ! ! ! ! ! ! #h35: 85180 2436 398 ! ! ! ! ! ! ! ! ! BEGIN 85190 2437 399 ! ! ! ! ! ! ! ! ! ! 85200 2438 400 ! ! ! ! ! ! ! ! ! ! outstring( 4, txt_stop ); 85210 2439 401 ! ! ! ! ! ! ! ! ! ! outstring( 4, txt_poll ) 85220 2440 402 ! ! ! ! ! ! ! ! ! ! 85230 2441 403 ! ! ! ! ! ! ! ! ! END; 85240 2442 404 ! ! ! ! ! ! ! ! ! 85250 2443 405 ! ! ! ! ! ! ! ! ! OTHERWISE 85260 2444 406 ! ! ! ! ! ! ! ! ! 85270 2445 407 ! ! ! ! ! ! ! ! END; 85280 2446 408 ! ! ! ! ! ! ! ! 85290 2447 409 ! ! ! ! ! ! ! ! outstring( 7, txt_limit ); 85300 2448 410 ! ! ! ! ! ! ! ! 85310 2449 411 ! ! ! ! ! ! ! ! write_line_state( a_code ) 85320 2450 412 ! ! ! ! ! ! ! ! 85330 2451 413 ! ! ! ! ! ! ! END; 85340 2452 414 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 91 86010 2453 415 ! ! ! ! ! ! ! (* 03.02 *) #h2 : (* statusalarm *) 86020 2454 416 ! ! ! ! ! ! ! LOCK inref AS a: statusalarmtype DO 86030 2455 417 ! ! ! ! ! ! ! WITH a DO 86040 2456 418 ! ! ! ! ! ! ! BEGIN 86050 2457 419 ! ! ! ! ! ! ! ! 86060 2458 420 ! ! ! ! ! ! ! ! IF find_ac( ac_ix, a_label.send ) THEN 86070 2459 421 ! ! ! ! ! ! ! ! WITH ac_db( ac_ix ) DO 86080 2460 422 ! ! ! ! ! ! ! ! write_state( state, ac_state ) 86090 2461 423 ! ! ! ! ! ! ! ! ELSE 86100 2462 424 ! ! ! ! ! ! ! ! write_error( 1, 4, no_of_ac ) 86110 2463 425 ! ! ! ! ! ! ! ! 86120 2464 426 ! ! ! ! ! ! ! END; 86130 2465 427 ! ! ! ! ! ! ! 86140 2466 428 ! ! ! ! ! ! ! OTHERWISE 86150 2467 429 ! ! ! ! ! ! ! unknown_msg( inref ) 86160 2468 430 ! ! ! ! ! ! ! 86170 2469 431 ! ! ! ! ! ! END; 86180 2470 432 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 92 87010 2471 433 ! ! ! ! ! ! #h6: CASE ( opr_code MOD 16 ) OF 87020 2472 434 ! ! ! ! ! ! ! 87030 2473 435 ! ! ! ! ! ! ! (* 06.01 *) #h1 : (* receipt for at-creation *) 87040 2474 436 ! ! ! ! ! ! ! LOCK inref AS receipt: mess_60_type DO 87050 2475 437 ! ! ! ! ! ! ! WITH receipt, a_label DO 87060 2476 438 ! ! ! ! ! ! ! BEGIN 87070 2477 439 ! ! ! ! ! ! ! ! 87080 2478 440 ! ! ! ! ! ! ! ! (*q if test_b then 87090 2479 441 ! ! ! ! ! ! ! ! testout( opzone,"6.1 received", result); q*) 87100 2480 442 ! ! ! ! ! ! ! ! 87110 2481 443 ! ! ! ! ! ! ! ! outstring( 6, txt_create ); 87120 2482 444 ! ! ! ! ! ! ! ! outstring( 3, txt_at ); 87130 2483 445 ! ! ! ! ! ! ! ! 87140 2484 446 ! ! ! ! ! ! ! ! outchar( ch_lt ); 87150 2485 447 ! ! ! ! ! ! ! ! outinteger( sp, at_mic, 3 ); 87160 2486 448 ! ! ! ! ! ! ! ! outchar( ch_slash ); 87170 2487 449 ! ! ! ! ! ! ! ! outinteger( sp, lam_num, 3 ); 87180 2488 450 ! ! ! ! ! ! ! ! outchar( ch_slash ); 87190 2489 451 ! ! ! ! ! ! ! ! outinteger( sp, port_num, 3 ); 87200 2490 452 ! ! ! ! ! ! ! ! outchar( ch_slash ); 87210 2491 453 ! ! ! ! ! ! ! ! outinteger( sp, sac_rac_index, 3 ); 87220 2492 454 ! ! ! ! ! ! ! ! outchar( ch_gt ); 87230 2493 455 ! ! ! ! ! ! ! ! 87240 2494 456 ! ! ! ! ! ! ! ! writeresult( result ); 87250 2495 457 ! ! ! ! ! ! ! ! 87260 2496 458 ! ! ! ! ! ! ! ! IF ( result <> accepted ) THEN 87270 2497 459 ! ! ! ! ! ! ! ! IF find_at( at_ix, addr( send.macro, at_mic ) ) THEN 87280 2498 460 ! ! ! ! ! ! ! ! WITH at_db( at_ix ) DO 87290 2499 461 ! ! ! ! ! ! ! ! BEGIN 87300 2500 462 ! ! ! ! ! ! ! ! ! 87310 2501 463 ! ! ! ! ! ! ! ! ! WITH ts_db( ts_indx ) DO 87320 2502 464 ! ! ! ! ! ! ! ! ! ports_used:= ports_used - (.lam_port.); 87330 2503 465 ! ! ! ! ! ! ! ! ! 87340 2504 466 ! ! ! ! ! ! ! ! ! init_at_db_e( at_ix ); 87350 2505 467 ! ! ! ! ! ! ! ! ! 87360 2506 468 ! ! ! ! ! ! ! ! ! no_of_at:= no_of_at - 1 87370 2507 469 ! ! ! ! ! ! ! ! ! 87380 2508 470 ! ! ! ! ! ! ! ! END 87390 2509 471 ! ! ! ! ! ! ! ! ELSE 87400 2510 472 ! ! ! ! ! ! ! ! write_error( 2, 4, no_of_at ) 87410 2511 473 ! ! ! ! ! ! ! ! 87420 2512 474 ! ! ! ! ! ! ! END; 87430 2513 475 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 93 88010 2514 476 ! ! ! ! ! ! ! (* 06.03 *) #h3: 88020 2515 477 ! ! ! ! ! ! ! LOCK inref AS m63: mess_62_type DO 88030 2516 478 ! ! ! ! ! ! ! WITH m63, a_label DO 88040 2517 479 ! ! ! ! ! ! ! BEGIN 88050 2518 480 ! ! ! ! ! ! ! ! 88060 2519 481 ! ! ! ! ! ! ! ! outstring( 3, txt_at ); 88070 2520 482 ! ! ! ! ! ! ! ! outstring( 3, txt_ok ); 88080 2521 483 ! ! ! ! ! ! ! ! outstring( 10, txt_delivered ); 88090 2522 484 ! ! ! ! ! ! ! ! 88100 2523 485 ! ! ! ! ! ! ! ! writeaddress( ch_lt, at_adr, ch_gt ); 88110 2524 486 ! ! ! ! ! ! ! ! 88120 2525 487 ! ! ! ! ! ! ! ! writeresult( result ) 88130 2526 488 ! ! ! ! ! ! ! ! 88140 2527 489 ! ! ! ! ! ! ! END; 88150 2528 490 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 94 89010 2529 491 ! ! ! ! ! ! ! (* 06.04 *) #h4: 89020 2530 492 ! ! ! ! ! ! ! LOCK inref AS m64: mess_62_type DO 89030 2531 493 ! ! ! ! ! ! ! WITH m64, a_label DO 89040 2532 494 ! ! ! ! ! ! ! BEGIN 89050 2533 495 ! ! ! ! ! ! ! ! 89060 2534 496 ! ! ! ! ! ! ! ! IF find_at( at_ix, at_adr ) THEN 89070 2535 497 ! ! ! ! ! ! ! ! WITH at_db( at_ix ) DO 89080 2536 498 ! ! ! ! ! ! ! ! BEGIN 89090 2537 499 ! ! ! ! ! ! ! ! ! 89100 2538 500 ! ! ! ! ! ! ! ! ! write_at_activity( update ); 89110 2539 501 ! ! ! ! ! ! ! ! ! 89120 2540 502 ! ! ! ! ! ! ! ! ! outstring( 2, txt_of ); 89130 2541 503 ! ! ! ! ! ! ! ! ! writeaddress( sp, at_adr, sp ); 89140 2542 504 ! ! ! ! ! ! ! ! ! 89150 2543 505 ! ! ! ! ! ! ! ! ! IF ( result = accepted ) THEN 89160 2544 506 ! ! ! ! ! ! ! ! ! BEGIN 89170 2545 507 ! ! ! ! ! ! ! ! ! ! 89180 2546 508 ! ! ! ! ! ! ! ! ! ! ac_request:= update; 89190 2547 509 ! ! ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 95 90010 2548 510 ! ! ! ! ! ! ! ! ! ! IF ( ac_request = 90020 2549 511 ! ! ! ! ! ! ! ! ! ! ( dc_request - ord( dc_request = service_code ) ) ) THEN 90030 2550 512 ! ! ! ! ! ! ! ! ! ! BEGIN (* send 09.00 to atc *) 90040 2551 513 ! ! ! ! ! ! ! ! ! ! ! 90050 2552 514 ! ! ! ! ! ! ! ! ! ! ! outstring( 7, txt_granted ); 90060 2553 515 ! ! ! ! ! ! ! ! ! ! ! 90070 2554 516 ! ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m90: mess_90_type DO 90080 2555 517 ! ! ! ! ! ! ! ! ! ! ! WITH m90 DO 90090 2556 518 ! ! ! ! ! ! ! ! ! ! ! BEGIN 90100 2557 519 ! ! ! ! ! ! ! ! ! ! ! ! 90110 2558 520 ! ! ! ! ! ! ! ! ! ! ! ! trans_err:= 0; 90120 2559 521 ! ! ! ! ! ! ! ! ! ! ! ! poll_int:= poll_delay 90130 2560 522 ! ! ! ! ! ! ! ! ! ! ! ! 90140 2561 523 ! ! ! ! ! ! ! ! ! ! ! END; 90150 2562 524 ! ! ! ! ! ! ! ! ! ! ! 90160 2563 525 ! ! ! ! ! ! ! ! ! ! ! build_alarm_label( 4 * ord( update <> stop_code ), 90170 2564 526 ! ! ! ! ! ! ! ! ! ! ! at_adr, netc_route, #h90, dc_request ); 90180 2565 527 ! ! ! ! ! ! ! ! ! ! ! 90190 2566 528 ! ! ! ! ! ! ! ! ! ! ! dc_request:= no_request; 90200 2567 529 ! ! ! ! ! ! ! ! ! ! ! ac_request:= no_request 90210 2568 530 ! ! ! ! ! ! ! ! ! ! ! 90220 2569 531 ! ! ! ! ! ! ! ! ! ! END 90230 2570 532 ! ! ! ! ! ! ! ! ! ! ELSE 90240 2571 533 ! ! ! ! ! ! ! ! ! ! BEGIN 90250 2572 534 ! ! ! ! ! ! ! ! ! ! ! 90260 2573 535 ! ! ! ! ! ! ! ! ! ! ! outstring( 4, txt_star ); 90270 2574 536 ! ! ! ! ! ! ! ! ! ! ! outstring( 12, txt_request ) 90280 2575 537 ! ! ! ! ! ! ! ! ! ! ! 90290 2576 538 ! ! ! ! ! ! ! ! ! ! END 90300 2577 539 ! ! ! ! ! ! ! ! ! ! 90310 2578 540 ! ! ! ! ! ! ! ! ! END 90320 2579 541 ! ! ! ! ! ! ! ! ! ELSE 90330 2580 542 ! ! ! ! ! ! ! ! ! writeresult( result ) 90340 2581 543 ! ! ! ! ! ! ! ! ! 90350 2582 544 ! ! ! ! ! ! ! ! END 90360 2583 545 ! ! ! ! ! ! ! ! ELSE 90370 2584 546 ! ! ! ! ! ! ! ! write_error( 2, 4, no_of_at ) 90380 2585 547 ! ! ! ! ! ! ! ! 90390 2586 548 ! ! ! ! ! ! ! END; 90400 2587 549 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 96 91010 2588 550 ! ! ! ! ! ! ! (* 06.07 *) #h7: (* receipt for remove request from ac *) 91020 2589 551 ! ! ! ! ! ! ! LOCK inref AS m67: mess_62_type DO 91030 2590 552 ! ! ! ! ! ! ! WITH m67, a_label DO 91040 2591 553 ! ! ! ! ! ! ! BEGIN 91050 2592 554 ! ! ! ! ! ! ! ! 91060 2593 555 ! ! ! ! ! ! ! ! outstring( 6, txt_remove ); 91070 2594 556 ! ! ! ! ! ! ! ! outstring( 3, txt_at ); 91080 2595 557 ! ! ! ! ! ! ! ! writeaddress( ch_lt, at_adr, ch_gt ); 91090 2596 558 ! ! ! ! ! ! ! ! 91100 2597 559 ! ! ! ! ! ! ! ! IF ( result = accepted ) THEN 91110 2598 560 ! ! ! ! ! ! ! ! IF find_at( at_ix, at_adr ) THEN 91120 2599 561 ! ! ! ! ! ! ! ! WITH at_db( at_ix ) DO 91130 2600 562 ! ! ! ! ! ! ! ! BEGIN 91140 2601 563 ! ! ! ! ! ! ! ! ! 91150 2602 564 ! ! ! ! ! ! ! ! ! outstring( 7, txt_granted ); 91160 2603 565 ! ! ! ! ! ! ! ! ! 91170 2604 566 ! ! ! ! ! ! ! ! ! ac_request:= removing; 91180 2605 567 ! ! ! ! ! ! ! ! ! 91190 2606 568 ! ! ! ! ! ! ! ! ! IF ( ac_request = dc_request ) THEN 91200 2607 569 ! ! ! ! ! ! ! ! ! BEGIN 91210 2608 570 ! ! ! ! ! ! ! ! ! ! 91220 2609 571 ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m68: mess_60_type DO 91230 2610 572 ! ! ! ! ! ! ! ! ! ! WITH m68 DO 91240 2611 573 ! ! ! ! ! ! ! ! ! ! BEGIN 91250 2612 574 ! ! ! ! ! ! ! ! ! ! ! 91260 2613 575 ! ! ! ! ! ! ! ! ! ! ! at_mic:= at_addr.micro; 91270 2614 576 ! ! ! ! ! ! ! ! ! ! ! lam_num:= 0; 91280 2615 577 ! ! ! ! ! ! ! ! ! ! ! port_num:= lam_port; 91290 2616 578 ! ! ! ! ! ! ! ! ! ! ! 91300 2617 579 ! ! ! ! ! ! ! ! ! ! ! IF find_sac_entry( ac_ix, ts_indx, ac_db( ac_indxs( 1 ) ).ac_addr ) THEN 91310 2618 580 ! ! ! ! ! ! ! ! ! ! ! sac_rac_index:= ac_ix 91320 2619 581 ! ! ! ! ! ! ! ! ! ! ! ELSE 91330 2620 582 ! ! ! ! ! ! ! ! ! ! ! write_error( 3, 4, ts_indx ) 91340 2621 583 ! ! ! ! ! ! ! ! ! ! ! 91350 2622 584 ! ! ! ! ! ! ! ! ! ! END; 91360 2623 585 ! ! ! ! ! ! ! ! ! ! 91370 2624 586 ! ! ! ! ! ! ! ! ! ! build_alarm_label( 8, 91380 2625 587 ! ! ! ! ! ! ! ! ! ! addr( at_addr.macro, ath_mic_addr ), netc_route, #h68, remove_code ) 91390 2626 588 ! ! ! ! ! ! ! ! ! ! 91400 2627 589 ! ! ! ! ! ! ! ! ! END 91410 2628 590 ! ! ! ! ! ! ! ! ! ELSE 91420 2629 591 ! ! ! ! ! ! ! ! ! BEGIN 91430 2630 592 ! ! ! ! ! ! ! ! ! ! 91440 2631 593 ! ! ! ! ! ! ! ! ! ! outstring( 4, txt_star ); 91450 2632 594 ! ! ! ! ! ! ! ! ! ! outstring( 12, txt_request ) 91460 2633 595 ! ! ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 97 91470 2634 596 ! ! ! ! ! ! ! ! ! END 91480 2635 597 ! ! ! ! ! ! ! ! ! 91490 2636 598 ! ! ! ! ! ! ! ! END 91500 2637 599 ! ! ! ! ! ! ! ! ELSE 91510 2638 600 ! ! ! ! ! ! ! ! write_error( 2, 4, no_of_at ) 91520 2639 601 ! ! ! ! ! ! ! ! ELSE 91530 2640 602 ! ! ! ! ! ! ! ! writeresult( result ) 91540 2641 603 ! ! ! ! ! ! ! ! 91550 2642 604 ! ! ! ! ! ! ! END; 91560 2643 605 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 98 92010 2644 606 ! ! ! ! ! ! ! (* 06.09 *) #h9: (* receipt for at removal from at handler *) 92020 2645 607 ! ! ! ! ! ! ! LOCK inref AS m69: mess_60_type DO 92030 2646 608 ! ! ! ! ! ! ! WITH m69, a_label DO 92040 2647 609 ! ! ! ! ! ! ! BEGIN 92050 2648 610 ! ! ! ! ! ! ! ! 92060 2649 611 ! ! ! ! ! ! ! ! outstring( 6, txt_remove ); 92070 2650 612 ! ! ! ! ! ! ! ! outstring( 3, txt_at ); 92080 2651 613 ! ! ! ! ! ! ! ! writeaddress( ch_lt, addr( send.macro, at_mic ), ch_gt ); 92090 2652 614 ! ! ! ! ! ! ! ! writeresult( result ); 92100 2653 615 ! ! ! ! ! ! ! ! 92110 2654 616 ! ! ! ! ! ! ! ! IF ( result = accepted ) THEN 92120 2655 617 ! ! ! ! ! ! ! ! IF find_at( at_ix, addr( send.macro, at_mic ) ) THEN 92130 2656 618 ! ! ! ! ! ! ! ! WITH at_db( at_ix ) DO 92140 2657 619 ! ! ! ! ! ! ! ! BEGIN 92150 2658 620 ! ! ! ! ! ! ! ! ! 92160 2659 621 ! ! ! ! ! ! ! ! ! FOR ac_ix:= 1 TO no_ac_e DO 92170 2660 622 ! ! ! ! ! ! ! ! ! BEGIN (* remove at from at address table of all ac's *) 92180 2661 623 ! ! ! ! ! ! ! ! ! ! 92190 2662 624 ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m102: mess_102_type DO 92200 2663 625 ! ! ! ! ! ! ! ! ! ! WITH m102 DO 92210 2664 626 ! ! ! ! ! ! ! ! ! ! BEGIN 92220 2665 627 ! ! ! ! ! ! ! ! ! ! ! 92230 2666 628 ! ! ! ! ! ! ! ! ! ! ! at_addr_tab.at_addr:= at_addr; 92240 2667 629 ! ! ! ! ! ! ! ! ! ! ! at_addr_tab.addr_code:= at_code 92250 2668 630 ! ! ! ! ! ! ! ! ! ! ! 92260 2669 631 ! ! ! ! ! ! ! ! ! ! END; 92270 2670 632 ! ! ! ! ! ! ! ! ! ! 92280 2671 633 ! ! ! ! ! ! ! ! ! ! build_alarm_label( 5, ac_db( ac_indxs( ac_ix ) ).ac_addr, 92290 2672 634 ! ! ! ! ! ! ! ! ! ! netc_route, #ha2, remove_code ) 92300 2673 635 ! ! ! ! ! ! ! ! ! ! 92310 2674 636 ! ! ! ! ! ! ! ! ! END; 92320 2675 637 ! ! ! ! ! ! ! ! ! 92330 2676 638 ! ! ! ! ! ! ! ! ! WITH ts_db( ts_indx ) DO 92340 2677 639 ! ! ! ! ! ! ! ! ! ports_used:= ports_used - (.lam_port.); 92350 2678 640 ! ! ! ! ! ! ! ! ! 92360 2679 641 ! ! ! ! ! ! ! ! ! init_at_db_e( at_ix ); 92370 2680 642 ! ! ! ! ! ! ! ! ! no_of_at:= no_of_at - 1 92380 2681 643 ! ! ! ! ! ! ! ! ! 92390 2682 644 ! ! ! ! ! ! ! ! END 92400 2683 645 ! ! ! ! ! ! ! ! ELSE 92410 2684 646 ! ! ! ! ! ! ! ! write_error( 2, 4, no_of_at ) 92420 2685 647 ! ! ! ! ! ! ! ! 92430 2686 648 ! ! ! ! ! ! ! END; 92440 2687 649 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 99 93010 2688 650 ! ! ! ! ! ! ! OTHERWISE 93020 2689 651 ! ! ! ! ! ! ! unknown_msg( inref ) 93030 2690 652 ! ! ! ! ! ! ! 93040 2691 653 ! ! ! ! ! ! END; 93050 2692 654 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 100 94010 2693 655 ! ! ! ! ! ! #h7: CASE ( opr_code MOD 16 ) OF 94020 2694 656 ! ! ! ! ! ! ! 94030 2695 657 ! ! ! ! ! ! ! (* 07.01 *) #h1 : 94040 2696 658 ! ! ! ! ! ! ! LOCK inref AS m: mess_70_type DO 94050 2697 659 ! ! ! ! ! ! ! WITH m, a_label DO 94060 2698 660 ! ! ! ! ! ! ! BEGIN 94070 2699 661 ! ! ! ! ! ! ! ! 94080 2700 662 ! ! ! ! ! ! ! ! outstring( 6, txt_create ); 94090 2701 663 ! ! ! ! ! ! ! ! outstring( 3, txt_ac ); 94100 2702 664 ! ! ! ! ! ! ! ! 94110 2703 665 ! ! ! ! ! ! ! ! outchar( ch_lt ); 94120 2704 666 ! ! ! ! ! ! ! ! outinteger( sp, ac_mic, 3 ); 94130 2705 667 ! ! ! ! ! ! ! ! outchar( ch_slash ); 94140 2706 668 ! ! ! ! ! ! ! ! outinteger( sp, ord( ac_typ ), 3 ); 94150 2707 669 ! ! ! ! ! ! ! ! outchar( ch_slash ); 94160 2708 670 ! ! ! ! ! ! ! ! outinteger( sp, lam_num, 3 ); 94170 2709 671 ! ! ! ! ! ! ! ! outchar( ch_slash ); 94180 2710 672 ! ! ! ! ! ! ! ! outinteger( sp, port_num, 3 ); 94190 2711 673 ! ! ! ! ! ! ! ! outchar( ch_gt ); 94200 2712 674 ! ! ! ! ! ! ! ! 94210 2713 675 ! ! ! ! ! ! ! ! writeresult( result ); 94220 2714 676 ! ! ! ! ! ! ! ! 94230 2715 677 ! ! ! ! ! ! ! ! IF ( result <> accepted ) THEN 94240 2716 678 ! ! ! ! ! ! ! ! IF find_ac( ac_ix, addr( send.macro, ac_mic ) ) THEN 94250 2717 679 ! ! ! ! ! ! ! ! WITH ac_db( ac_ix ) DO 94260 2718 680 ! ! ! ! ! ! ! ! BEGIN 94270 2719 681 ! ! ! ! ! ! ! ! ! 94280 2720 682 ! ! ! ! ! ! ! ! ! WITH ts_db( ts_indx ) DO 94290 2721 683 ! ! ! ! ! ! ! ! ! ports_used:= ports_used - (.lam_port.); 94300 2722 684 ! ! ! ! ! ! ! ! ! 94310 2723 685 ! ! ! ! ! ! ! ! ! init_ac_db_e( ac_ix ); 94320 2724 686 ! ! ! ! ! ! ! ! ! no_of_ac:= no_of_ac - 1 94330 2725 687 ! ! ! ! ! ! ! ! ! 94340 2726 688 ! ! ! ! ! ! ! ! END 94350 2727 689 ! ! ! ! ! ! ! ! ELSE 94360 2728 690 ! ! ! ! ! ! ! ! write_error( 1, 4, no_of_ac ) 94370 2729 691 ! ! ! ! ! ! ! ! 94380 2730 692 ! ! ! ! ! ! ! END; 94390 2731 693 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 101 95010 2732 694 ! ! ! ! ! ! ! (* 07.03 *) #h3: 95020 2733 695 ! ! ! ! ! ! ! LOCK inref AS m73: mess_70_type DO 95030 2734 696 ! ! ! ! ! ! ! WITH m73, a_label DO 95040 2735 697 ! ! ! ! ! ! ! BEGIN 95050 2736 698 ! ! ! ! ! ! ! ! 95060 2737 699 ! ! ! ! ! ! ! ! outstring( 6, txt_remove ); 95070 2738 700 ! ! ! ! ! ! ! ! outstring( 3, txt_ac ); 95080 2739 701 ! ! ! ! ! ! ! ! 95090 2740 702 ! ! ! ! ! ! ! ! IF ( result = accepted ) THEN 95100 2741 703 ! ! ! ! ! ! ! ! IF find_ac( ac_ix, send ) THEN 95110 2742 704 ! ! ! ! ! ! ! ! WITH ac_db( ac_ix ) DO 95120 2743 705 ! ! ! ! ! ! ! ! BEGIN 95130 2744 706 ! ! ! ! ! ! ! ! ! 95140 2745 707 ! ! ! ! ! ! ! ! ! ac_request:= removing; 95150 2746 708 ! ! ! ! ! ! ! ! ! 95160 2747 709 ! ! ! ! ! ! ! ! ! IF ( dc_request = ac_request ) THEN 95170 2748 710 ! ! ! ! ! ! ! ! ! BEGIN 95180 2749 711 ! ! ! ! ! ! ! ! ! ! 95190 2750 712 ! ! ! ! ! ! ! ! ! ! outstring( 7, txt_granted ); 95200 2751 713 ! ! ! ! ! ! ! ! ! ! 95210 2752 714 ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m74: mess_70_type DO 95220 2753 715 ! ! ! ! ! ! ! ! ! ! WITH m74 DO 95230 2754 716 ! ! ! ! ! ! ! ! ! ! ac_mic:= m73.a_label.send.micro; 95240 2755 717 ! ! ! ! ! ! ! ! ! ! 95250 2756 718 ! ! ! ! ! ! ! ! ! ! build_alarm_label( 2, addr( m73.a_label.send.macro, vch_mic_addr ), 95260 2757 719 ! ! ! ! ! ! ! ! ! ! netc_route, #h74, remove_code ) 95270 2758 720 ! ! ! ! ! ! ! ! ! ! 95280 2759 721 ! ! ! ! ! ! ! ! ! END 95290 2760 722 ! ! ! ! ! ! ! ! ! ELSE 95300 2761 723 ! ! ! ! ! ! ! ! ! BEGIN 95310 2762 724 ! ! ! ! ! ! ! ! ! ! 95320 2763 725 ! ! ! ! ! ! ! ! ! ! outstring( 4, txt_star ); 95330 2764 726 ! ! ! ! ! ! ! ! ! ! outstring( 12, txt_request ) 95340 2765 727 ! ! ! ! ! ! ! ! ! ! 95350 2766 728 ! ! ! ! ! ! ! ! ! END 95360 2767 729 ! ! ! ! ! ! ! ! ! 95370 2768 730 ! ! ! ! ! ! ! ! END 95380 2769 731 ! ! ! ! ! ! ! ! ELSE 95390 2770 732 ! ! ! ! ! ! ! ! write_error( 1, 4, no_of_ac ) 95400 2771 733 ! ! ! ! ! ! ! ! ELSE 95410 2772 734 ! ! ! ! ! ! ! ! writeresult( result ) 95420 2773 735 ! ! ! ! ! ! ! ! 95430 2774 736 ! ! ! ! ! ! ! END; 95440 2775 737 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 102 96010 2776 738 ! ! ! ! ! ! ! (* 07.05 *) #h5: 96020 2777 739 ! ! ! ! ! ! ! LOCK inref AS m75: mess_70_type DO 96030 2778 740 ! ! ! ! ! ! ! WITH m75, a_label DO 96040 2779 741 ! ! ! ! ! ! ! BEGIN 96050 2780 742 ! ! ! ! ! ! ! ! 96060 2781 743 ! ! ! ! ! ! ! ! outstring( 6, txt_remove ); 96070 2782 744 ! ! ! ! ! ! ! ! outstring( 3, txt_ac ); 96080 2783 745 ! ! ! ! ! ! ! ! writeaddress( ch_lt, addr( send.macro, ac_mic ), ch_gt ); 96090 2784 746 ! ! ! ! ! ! ! ! writeresult( result ); 96100 2785 747 ! ! ! ! ! ! ! ! 96110 2786 748 ! ! ! ! ! ! ! ! IF ( result = accepted ) THEN 96120 2787 749 ! ! ! ! ! ! ! ! IF find_ac( ac_ix, addr( send.macro, ac_mic ) ) THEN 96130 2788 750 ! ! ! ! ! ! ! ! WITH ac_db( ac_ix ) DO 96140 2789 751 ! ! ! ! ! ! ! ! BEGIN 96150 2790 752 ! ! ! ! ! ! ! ! ! 96160 2791 753 ! ! ! ! ! ! ! ! ! WITH ts_db( ts_indx ) DO 96170 2792 754 ! ! ! ! ! ! ! ! ! ports_used:= ports_used - (.lam_port.); 96180 2793 755 ! ! ! ! ! ! ! ! ! 96190 2794 756 ! ! ! ! ! ! ! ! ! init_ac_db_e( ac_ix ); 96200 2795 757 ! ! ! ! ! ! ! ! ! no_of_ac:= no_of_ac - 1 96210 2796 758 ! ! ! ! ! ! ! ! ! 96220 2797 759 ! ! ! ! ! ! ! ! END 96230 2798 760 ! ! ! ! ! ! ! ! ELSE 96240 2799 761 ! ! ! ! ! ! ! ! write_error( 1, 4, no_of_ac ) 96250 2800 762 ! ! ! ! ! ! ! ! 96260 2801 763 ! ! ! ! ! ! ! END; 96270 2802 764 ! ! ! ! ! ! ! 96280 2803 765 ! ! ! ! ! ! ! OTHERWISE 96290 2804 766 ! ! ! ! ! ! ! unknown_msg( inref ) 96300 2805 767 ! ! ! ! ! ! ! 96310 2806 768 ! ! ! ! ! ! END; 96320 2807 769 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 103 97010 2808 770 ! ! ! ! ! ! #h8: CASE ( opr_code MOD 16 ) OF 97020 2809 771 ! ! ! ! ! ! ! 97030 2810 772 ! ! ! ! ! ! ! (* 08.01 *) 97040 2811 773 ! ! ! ! ! ! ! (* 08.03 *) #h1, #h3 : (* receipt for internal test *) 97050 2812 774 ! ! ! ! ! ! ! LOCK inref AS receipt: alarmmesstype DO 97060 2813 775 ! ! ! ! ! ! ! WITH receipt, a_label DO 97070 2814 776 ! ! ! ! ! ! ! BEGIN 97080 2815 777 ! ! ! ! ! ! ! ! 97090 2816 778 ! ! ! ! ! ! ! ! outstring( 4, txt_test ); 97100 2817 779 ! ! ! ! ! ! ! ! 97110 2818 780 ! ! ! ! ! ! ! ! CASE opr_code OF 97120 2819 781 ! ! ! ! ! ! ! ! ! #h81 : outstring( 9, "1: atprm" ); 97130 2820 782 ! ! ! ! ! ! ! ! ! #h83 : outstring( 9, "2: atpam" ); 97140 2821 783 ! ! ! ! ! ! ! ! ! OTHERWISE 97150 2822 784 ! ! ! ! ! ! ! ! END; 97160 2823 785 ! ! ! ! ! ! ! ! 97170 2824 786 ! ! ! ! ! ! ! ! IF ( a_label.result = accepted ) THEN 97180 2825 787 ! ! ! ! ! ! ! ! BEGIN 97190 2826 788 ! ! ! ! ! ! ! ! ! 97200 2827 789 ! ! ! ! ! ! ! ! ! CASE a_code OF 97210 2828 790 ! ! ! ! ! ! ! ! ! ! #h06: outstring( 2, txt_ok ); 97220 2829 791 ! ! ! ! ! ! ! ! ! ! #h16: outstring( 4, txt_error ); 97230 2830 792 ! ! ! ! ! ! ! ! ! ! OTHERWISE 97240 2831 793 ! ! ! ! ! ! ! ! ! ! outstring( 10, txt_undef ) 97250 2832 794 ! ! ! ! ! ! ! ! ! END 97260 2833 795 ! ! ! ! ! ! ! ! ! 97270 2834 796 ! ! ! ! ! ! ! ! END 97280 2835 797 ! ! ! ! ! ! ! ! ELSE 97290 2836 798 ! ! ! ! ! ! ! ! writeresult( result ) 97300 2837 799 ! ! ! ! ! ! ! ! 97310 2838 800 ! ! ! ! ! ! ! END; 97320 2839 801 ! ! ! ! ! ! ! 97330 2840 802 ! ! ! ! ! ! ! OTHERWISE 97340 2841 803 ! ! ! ! ! ! ! unknown_msg( inref ) 97350 2842 804 ! ! ! ! ! ! ! 97360 2843 805 ! ! ! ! ! ! END; 97370 2844 806 ! ! ! ! ! ! 97380 2845 807 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 104 98010 2846 808 ! ! ! ! ! ! #h9: CASE ( opr_code MOD 16 ) OF 98020 2847 809 ! ! ! ! ! ! ! 98030 2848 810 ! ! ! ! ! ! ! (* 09.01 *) #h1: (* receipt for start-stop poll *) 98040 2849 811 ! ! ! ! ! ! ! LOCK inref AS m: mess_90_type DO 98050 2850 812 ! ! ! ! ! ! ! WITH m, a_label DO 98060 2851 813 ! ! ! ! ! ! ! BEGIN 98070 2852 814 ! ! ! ! ! ! ! ! 98080 2853 815 ! ! ! ! ! ! ! ! write_at_activity( update ); 98090 2854 816 ! ! ! ! ! ! ! ! 98100 2855 817 ! ! ! ! ! ! ! ! IF update IN (.start_code, service_code.) THEN 98110 2856 818 ! ! ! ! ! ! ! ! write_param( poll_int, 3 ) 98120 2857 819 ! ! ! ! ! ! ! ! ELSE 98130 2858 820 ! ! ! ! ! ! ! ! space( 3 ); 98140 2859 821 ! ! ! ! ! ! ! ! 98150 2860 822 ! ! ! ! ! ! ! ! writeresult( result ); 98160 2861 823 ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 105 99010 2862 824 ! ! ! ! ! ! ! ! IF send.micro > 255 THEN 99020 2863 825 ! ! ! ! ! ! ! ! BEGIN 99030 2864 826 ! ! ! ! ! ! ! ! ! 99040 2865 827 ! ! ! ! ! ! ! ! ! IF find_at( at_ix, send ) THEN 99050 2866 828 ! ! ! ! ! ! ! ! ! WITH at_db( at_ix ) DO 99060 2867 829 ! ! ! ! ! ! ! ! ! BEGIN 99070 2868 830 ! ! ! ! ! ! ! ! ! ! 99080 2869 831 ! ! ! ! ! ! ! ! ! ! IF ( result = accepted ) THEN 99090 2870 832 ! ! ! ! ! ! ! ! ! ! BEGIN 99100 2871 833 ! ! ! ! ! ! ! ! ! ! ! 99110 2872 834 ! ! ! ! ! ! ! ! ! ! ! activity:= update; 99120 2873 835 ! ! ! ! ! ! ! ! ! ! ! at_state:= (..) 99130 2874 836 ! ! ! ! ! ! ! ! ! ! ! 99140 2875 837 ! ! ! ! ! ! ! ! ! ! END 99150 2876 838 ! ! ! ! ! ! ! ! ! ! 99160 2877 839 ! ! ! ! ! ! ! ! ! END 99170 2878 840 ! ! ! ! ! ! ! ! ! ELSE 99180 2879 841 ! ! ! ! ! ! ! ! ! write_error( 2, 4, no_of_at ) 99190 2880 842 ! ! ! ! ! ! ! ! ! 99200 2881 843 ! ! ! ! ! ! ! ! END 99210 2882 844 ! ! ! ! ! ! ! ! ELSE 99220 2883 845 ! ! ! ! ! ! ! ! BEGIN 99230 2884 846 ! ! ! ! ! ! ! ! ! 99240 2885 847 ! ! ! ! ! ! ! ! ! IF find_ac( ac_ix, send ) THEN 99250 2886 848 ! ! ! ! ! ! ! ! ! WITH ac_db( ac_ix ) DO 99260 2887 849 ! ! ! ! ! ! ! ! ! BEGIN 99270 2888 850 ! ! ! ! ! ! ! ! ! ! 99280 2889 851 ! ! ! ! ! ! ! ! ! ! ac_state:= (..); 99290 2890 852 ! ! ! ! ! ! ! ! ! ! activity:= update; 99300 2891 853 ! ! ! ! ! ! ! ! ! ! dc_request:= no_request 99310 2892 854 ! ! ! ! ! ! ! ! ! ! 99320 2893 855 ! ! ! ! ! ! ! ! ! END 99330 2894 856 ! ! ! ! ! ! ! ! ! ELSE 99340 2895 857 ! ! ! ! ! ! ! ! ! write_error( 1, 4, no_of_ac ) 99350 2896 858 ! ! ! ! ! ! ! ! ! 99360 2897 859 ! ! ! ! ! ! ! ! END 99370 2898 860 ! ! ! ! ! ! ! ! 99380 2899 861 ! ! ! ! ! ! ! END; 99390 2900 862 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 106 100010 2901 863 ! ! ! ! ! ! ! (* 09.03 *) #h3: (* receipt for test of at-ac connection *) 100020 2902 864 ! ! ! ! ! ! ! LOCK inref AS m: mess_119_type DO 100030 2903 865 ! ! ! ! ! ! ! WITH m, a_label DO 100040 2904 866 ! ! ! ! ! ! ! BEGIN 100050 2905 867 ! ! ! ! ! ! ! ! 100060 2906 868 ! ! ! ! ! ! ! ! writeaddress( sp, send, sp ); 100070 2907 869 ! ! ! ! ! ! ! ! outstring( 10, txt_connected ); 100080 2908 870 ! ! ! ! ! ! ! ! outstring( 3, txt_to ); 100090 2909 871 ! ! ! ! ! ! ! ! writeaddress( sp, act_rac, sp ) 100100 2910 872 ! ! ! ! ! ! ! ! 100110 2911 873 ! ! ! ! ! ! ! END; 100120 2912 874 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 107 101010 2913 875 ! ! ! ! ! ! ! (* 09.08 *) #h8: (* general message *) 101020 2914 876 ! ! ! ! ! ! ! LOCK inref AS m98: alarmmesstype DO 101030 2915 877 ! ! ! ! ! ! ! WITH m98, a_label DO 101040 2916 878 ! ! ! ! ! ! ! BEGIN 101050 2917 879 ! ! ! ! ! ! ! ! 101060 2918 880 ! ! ! ! ! ! ! ! outstring( 11, txt_msg ); 101070 2919 881 ! ! ! ! ! ! ! ! 101080 2920 882 ! ! ! ! ! ! ! ! write_param( a_code, 3 ) 101090 2921 883 ! ! ! ! ! ! ! ! 101100 2922 884 ! ! ! ! ! ! ! END; 101110 2923 885 ! ! ! ! ! ! ! 101120 2924 886 ! ! ! ! ! ! ! OTHERWISE 101130 2925 887 ! ! ! ! ! ! ! unknown_msg( inref ) 101140 2926 888 ! ! ! ! ! ! ! 101150 2927 889 ! ! ! ! ! ! END; 101160 2928 890 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 108 102010 2929 891 ! ! ! ! ! ! #ha: CASE ( opr_code MOD 16 ) OF 102020 2930 892 ! ! ! ! ! ! ! 102030 2931 893 ! ! ! ! ! ! ! (* 10.01 *) #h1 : 102040 2932 894 ! ! ! ! ! ! ! LOCK inref AS receipt: receipt_101_type DO 102050 2933 895 ! ! ! ! ! ! ! WITH receipt, a_label, ac_addr_tab DO 102060 2934 896 ! ! ! ! ! ! ! BEGIN 102070 2935 897 ! ! ! ! ! ! ! ! 102080 2936 898 ! ! ! ! ! ! ! ! outstring( 3, txt_ac ); 102090 2937 899 ! ! ! ! ! ! ! ! 102100 2938 900 ! ! ! ! ! ! ! ! write_table_update( update ); 102110 2939 901 ! ! ! ! ! ! ! ! 102120 2940 902 ! ! ! ! ! ! ! ! outchar( ch_lt ); 102130 2941 903 ! ! ! ! ! ! ! ! outinteger( sp, addr_code, 3 ); 102140 2942 904 ! ! ! ! ! ! ! ! outchar( ch_slash ); 102150 2943 905 ! ! ! ! ! ! ! ! outinteger( sp, vc_index, 3 ); 102160 2944 906 ! ! ! ! ! ! ! ! outchar( ch_slash ); 102170 2945 907 ! ! ! ! ! ! ! ! outinteger( sp, block, 3 ); 102180 2946 908 ! ! ! ! ! ! ! ! outchar( ch_slash ); 102190 2947 909 ! ! ! ! ! ! ! ! outinteger( sp, ord( steering ), 3 ); 102200 2948 910 ! ! ! ! ! ! ! ! outchar( ch_gt ); 102210 2949 911 ! ! ! ! ! ! ! ! 102220 2950 912 ! ! ! ! ! ! ! ! writeresult( result ); 102230 2951 913 ! ! ! ! ! ! ! ! 102240 2952 914 ! ! ! ! ! ! ! ! IF find_at( at_ix, send ) THEN 102250 2953 915 ! ! ! ! ! ! ! ! WITH at_db( at_ix ) DO 102260 2954 916 ! ! ! ! ! ! ! ! BEGIN 102270 2955 917 ! ! ! ! ! ! ! ! ! IF ( dc_request = creating ) THEN 102280 2956 918 ! ! ! ! ! ! ! ! ! BEGIN 102290 2957 919 ! ! ! ! ! ! ! ! ! ! 102300 2958 920 ! ! ! ! ! ! ! ! ! ! dc_request:= no_request; 102310 2959 921 ! ! ! ! ! ! ! ! ! ! outchar( sp ); 102320 2960 922 ! ! ! ! ! ! ! ! ! ! outstring( 4, txt_star ); 102330 2961 923 ! ! ! ! ! ! ! ! ! ! outstring( 6, txt_create ); 102340 2962 924 ! ! ! ! ! ! ! ! ! ! outstring( 3, txt_at ); 102350 2963 925 ! ! ! ! ! ! ! ! ! ! outstring( 9, txt_finish ) 102360 2964 926 ! ! ! ! ! ! ! ! ! ! 102370 2965 927 ! ! ! ! ! ! ! ! ! END 102380 2966 928 ! ! ! ! ! ! ! ! END 102390 2967 929 ! ! ! ! ! ! ! ! ELSE 102400 2968 930 ! ! ! ! ! ! ! ! write_error( 2, 4, no_of_at ) 102410 2969 931 ! ! ! ! ! ! ! ! 102420 2970 932 ! ! ! ! ! ! ! END; 102430 2971 933 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 109 103010 2972 934 ! ! ! ! ! ! ! (* 10.03 *) #h3: (* receipt for update at-addr-table *) 103020 2973 935 ! ! ! ! ! ! ! LOCK inref AS receipt: receipt_103_type DO 103030 2974 936 ! ! ! ! ! ! ! WITH receipt, r_label, at_addr_tab DO 103040 2975 937 ! ! ! ! ! ! ! BEGIN 103050 2976 938 ! ! ! ! ! ! ! ! 103060 2977 939 ! ! ! ! ! ! ! ! (*q if test_b then 103070 2978 940 ! ! ! ! ! ! ! ! testout( opzone,"10.3 receivd", result); q*) 103080 2979 941 ! ! ! ! ! ! ! ! 103090 2980 942 ! ! ! ! ! ! ! ! outstring( 3, txt_at ); 103100 2981 943 ! ! ! ! ! ! ! ! 103110 2982 944 ! ! ! ! ! ! ! ! write_table_update( update ); 103120 2983 945 ! ! ! ! ! ! ! ! 103130 2984 946 ! ! ! ! ! ! ! ! writeaddress( ch_lt, at_addr, ch_slash ); 103140 2985 947 ! ! ! ! ! ! ! ! outinteger( sp, addr_code, 3 ); 103150 2986 948 ! ! ! ! ! ! ! ! outchar( ch_gt ); 103160 2987 949 ! ! ! ! ! ! ! ! 103170 2988 950 ! ! ! ! ! ! ! ! writeresult( result ) 103180 2989 951 ! ! ! ! ! ! ! ! 103190 2990 952 ! ! ! ! ! ! ! END; 103200 2991 953 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 110 104010 2992 954 ! ! ! ! ! ! ! (* 10.05 *) #h5: 104020 2993 955 ! ! ! ! ! ! ! LOCK inref AS m105: mess_104_type DO 104030 2994 956 ! ! ! ! ! ! ! WITH m105, a_label, ts_e DO 104040 2995 957 ! ! ! ! ! ! ! BEGIN 104050 2996 958 ! ! ! ! ! ! ! ! 104060 2997 959 ! ! ! ! ! ! ! ! outstring( 3, txt_ts ); 104070 2998 960 ! ! ! ! ! ! ! ! 104080 2999 961 ! ! ! ! ! ! ! ! write_table_update( update ); 104090 3000 962 ! ! ! ! ! ! ! ! 104100 3001 963 ! ! ! ! ! ! ! ! writeaddress( ch_lt, addr( ts_addr , 0 ), ch_slash ); 104110 3002 964 ! ! ! ! ! ! ! ! outinteger( sp, ord( ts_type ), 3 ); 104120 3003 965 ! ! ! ! ! ! ! ! outchar( ch_slash ); 104130 3004 966 ! ! ! ! ! ! ! ! outinteger( sp, index, 3 ); 104140 3005 967 ! ! ! ! ! ! ! ! outchar( ch_gt ); 104150 3006 968 ! ! ! ! ! ! ! ! 104160 3007 969 ! ! ! ! ! ! ! ! writeresult( result ) 104170 3008 970 ! ! ! ! ! ! ! ! 104180 3009 971 ! ! ! ! ! ! ! END; 104190 3010 972 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 111 105010 3011 973 ! ! ! ! ! ! ! (* 10.07 *) #h7: 105020 3012 974 ! ! ! ! ! ! ! LOCK inref AS m107: mess_106_type DO 105030 3013 975 ! ! ! ! ! ! ! WITH m107, a_label, vcm_at_e DO 105040 3014 976 ! ! ! ! ! ! ! BEGIN 105050 3015 977 ! ! ! ! ! ! ! ! 105060 3016 978 ! ! ! ! ! ! ! ! outstring( 3, txt_ac ); 105070 3017 979 ! ! ! ! ! ! ! ! outstring( 7, txt_group ); 105080 3018 980 ! ! ! ! ! ! ! ! 105090 3019 981 ! ! ! ! ! ! ! ! write_table_update( update ); 105100 3020 982 ! ! ! ! ! ! ! ! 105110 3021 983 ! ! ! ! ! ! ! ! outchar( ch_lt ); 105120 3022 984 ! ! ! ! ! ! ! ! outinteger( sp, vc_code, 3 ); 105130 3023 985 ! ! ! ! ! ! ! ! writeaddress( ch_slash, vc_addr, ch_slash ); 105140 3024 986 ! ! ! ! ! ! ! ! outinteger( sp, vc_arrange, 3 ); 105150 3025 987 ! ! ! ! ! ! ! ! outchar( ch_slash ); 105160 3026 988 ! ! ! ! ! ! ! ! outinteger( sp, ord( vc_relief ), 3 ); 105170 3027 989 ! ! ! ! ! ! ! ! outchar( ch_gt ); 105180 3028 990 ! ! ! ! ! ! ! ! 105190 3029 991 ! ! ! ! ! ! ! ! writeresult( result ) 105200 3030 992 ! ! ! ! ! ! ! ! 105210 3031 993 ! ! ! ! ! ! ! END; 105220 3032 994 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 112 106010 3033 995 ! ! ! ! ! ! ! (* 10.11 *) #hb: (* receipt for update sac-rac-table *) 106020 3034 996 ! ! ! ! ! ! ! LOCK inref AS r: receipt_1011_type DO 106030 3035 997 ! ! ! ! ! ! ! WITH r, a_label, sac_rac_tab DO 106040 3036 998 ! ! ! ! ! ! ! BEGIN 106050 3037 999 ! ! ! ! ! ! ! ! 106060 3038 1000 ! ! ! ! ! ! ! ! outstring( 4, txt_rac ); 106070 3039 1001 ! ! ! ! ! ! ! ! 106080 3040 1002 ! ! ! ! ! ! ! ! write_table_update( update ); 106090 3041 1003 ! ! ! ! ! ! ! ! 106100 3042 1004 ! ! ! ! ! ! ! ! outchar( ch_lt ); 106110 3043 1005 ! ! ! ! ! ! ! ! outinteger( sp, ac_index, 3 ); 106120 3044 1006 ! ! ! ! ! ! ! ! writeaddress( ch_slash, vca_addr, ch_slash ); 106130 3045 1007 ! ! ! ! ! ! ! ! writeaddress( sp, vcm_addr, ch_gt ); 106140 3046 1008 ! ! ! ! ! ! ! ! 106150 3047 1009 ! ! ! ! ! ! ! ! writeresult( result ); 106160 3048 1010 ! ! ! ! ! ! ! ! 106170 3049 1011 ! ! ! ! ! ! ! END; 106180 3050 1012 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 113 107010 3051 1013 ! ! ! ! ! ! ! (* 10.13 *) #hd: 107020 3052 1014 ! ! ! ! ! ! ! LOCK inref AS m1013: mess_1012_type DO 107030 3053 1015 ! ! ! ! ! ! ! WITH m1013, a_label DO 107040 3054 1016 ! ! ! ! ! ! ! BEGIN 107050 3055 1017 ! ! ! ! ! ! ! ! 107060 3056 1018 ! ! ! ! ! ! ! ! outstring( 4, txt_pax ); 107070 3057 1019 ! ! ! ! ! ! ! ! 107080 3058 1020 ! ! ! ! ! ! ! ! write_table_update( update ); 107090 3059 1021 ! ! ! ! ! ! ! ! 107100 3060 1022 ! ! ! ! ! ! ! ! outchar( ch_lt ); 107110 3061 1023 ! ! ! ! ! ! ! ! outinteger( sp, pax_tbl_ix, 3 ); 107120 3062 1024 ! ! ! ! ! ! ! ! writeaddress( ch_slash, addr( al_mac_addr, 0 ), sp ); 107130 3063 1025 ! ! ! ! ! ! ! ! 107140 3064 1026 ! ! ! ! ! ! ! ! FOR noofparams:= 1 TO 14 DO 107150 3065 1027 ! ! ! ! ! ! ! ! BEGIN 107160 3066 1028 ! ! ! ! ! ! ! ! ! 107170 3067 1029 ! ! ! ! ! ! ! ! ! outchar( ch_slash ); 107180 3068 1030 ! ! ! ! ! ! ! ! ! outinteger( sp, ext_pax_address( noofparams ), 2 ) 107190 3069 1031 ! ! ! ! ! ! ! ! ! 107200 3070 1032 ! ! ! ! ! ! ! ! END; 107210 3071 1033 ! ! ! ! ! ! ! ! 107220 3072 1034 ! ! ! ! ! ! ! ! outchar( ch_slash ); 107230 3073 1035 ! ! ! ! ! ! ! ! outinteger( sp, stream_no, 3 ); 107240 3074 1036 ! ! ! ! ! ! ! ! outchar( ch_slash ); 107250 3075 1037 ! ! ! ! ! ! ! ! outinteger( sp, max_retrans, 3 ); 107260 3076 1038 ! ! ! ! ! ! ! ! outchar( ch_gt ); 107270 3077 1039 ! ! ! ! ! ! ! ! 107280 3078 1040 ! ! ! ! ! ! ! ! writeresult( result ) 107290 3079 1041 ! ! ! ! ! ! ! ! 107300 3080 1042 ! ! ! ! ! ! ! END; 107310 3081 1043 ! ! ! ! ! ! ! 107320 3082 1044 ! ! ! ! ! ! ! OTHERWISE 107330 3083 1045 ! ! ! ! ! ! ! unknown_msg( inref ) 107340 3084 1046 ! ! ! ! ! ! ! 107350 3085 1047 ! ! ! ! ! ! END; 107360 3086 1048 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 114 108010 3087 1049 ! ! ! ! ! ! #hb: CASE ( opr_code MOD 16 ) OF 108020 3088 1050 ! ! ! ! ! ! ! 108030 3089 1051 ! ! ! ! ! ! ! (* 11.01 *) #h1: (* receipt for update tss-var *) 108040 3090 1052 ! ! ! ! ! ! ! LOCK inref AS m: mess_110_type DO 108050 3091 1053 ! ! ! ! ! ! ! WITH m, a_label DO 108060 3092 1054 ! ! ! ! ! ! ! BEGIN 108070 3093 1055 ! ! ! ! ! ! ! ! 108080 3094 1056 ! ! ! ! ! ! ! ! outstring( 6, txt_create ); 108090 3095 1057 ! ! ! ! ! ! ! ! outstring( 3, txt_ts ); 108100 3096 1058 ! ! ! ! ! ! ! ! 108110 3097 1059 ! ! ! ! ! ! ! ! writeaddress( ch_lt, addr( tss_macro, 0 ), ch_gt ); 108120 3098 1060 ! ! ! ! ! ! ! ! 108130 3099 1061 ! ! ! ! ! ! ! ! writeresult( result ); 108140 3100 1062 ! ! ! ! ! ! ! ! 108150 3101 1063 ! ! ! ! ! ! ! ! IF ( result <> accepted ) THEN 108160 3102 1064 ! ! ! ! ! ! ! ! BEGIN 108170 3103 1065 ! ! ! ! ! ! ! ! ! 108180 3104 1066 ! ! ! ! ! ! ! ! ! init_ts_db_e( no_of_ts ); 108190 3105 1067 ! ! ! ! ! ! ! ! ! no_of_ts:= no_of_ts - 1 108200 3106 1068 ! ! ! ! ! ! ! ! ! 108210 3107 1069 ! ! ! ! ! ! ! ! END 108220 3108 1070 ! ! ! ! ! ! ! ! 108230 3109 1071 ! ! ! ! ! ! ! END; 108240 3110 1072 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 115 109010 3111 1073 ! ! ! ! ! ! ! (* 11.03 *) 109020 3112 1074 ! ! ! ! ! ! ! (* 11.05 *) 109030 3113 1075 ! ! ! ! ! ! ! (* 11.07 *) 109040 3114 1076 ! ! ! ! ! ! ! (* 11.11 *) 109050 3115 1077 ! ! ! ! ! ! ! (* 11.13 *) #h3, #h5, #h7, #hb, #hd: 109060 3116 1078 ! ! ! ! ! ! ! (* receipt for read/write limits *) 109070 3117 1079 ! ! ! ! ! ! ! LOCK inref AS m: mess_11x_type DO 109080 3118 1080 ! ! ! ! ! ! ! WITH m, a_label DO 109090 3119 1081 ! ! ! ! ! ! ! BEGIN 109100 3120 1082 ! ! ! ! ! ! ! ! 109110 3121 1083 ! ! ! ! ! ! ! ! write_param_update( update ); 109120 3122 1084 ! ! ! ! ! ! ! ! 109130 3123 1085 ! ! ! ! ! ! ! ! CASE opr_code OF 109140 3124 1086 ! ! ! ! ! ! ! ! ! 109150 3125 1087 ! ! ! ! ! ! ! ! ! #hb5: outstring( 5, txt_package ); 109160 3126 1088 ! ! ! ! ! ! ! ! ! 109170 3127 1089 ! ! ! ! ! ! ! ! ! #hb7: 109180 3128 1090 ! ! ! ! ! ! ! ! ! outstring( 7, txt_service ); 109190 3129 1091 ! ! ! ! ! ! ! ! ! 109200 3130 1092 ! ! ! ! ! ! ! ! ! #hbb: 109210 3131 1093 ! ! ! ! ! ! ! ! ! BEGIN 109220 3132 1094 ! ! ! ! ! ! ! ! ! ! 109230 3133 1095 ! ! ! ! ! ! ! ! ! ! outstring( 4, txt_stop ); 109240 3134 1096 ! ! ! ! ! ! ! ! ! ! outstring( 4, txt_poll ) 109250 3135 1097 ! ! ! ! ! ! ! ! ! ! 109260 3136 1098 ! ! ! ! ! ! ! ! ! END; 109270 3137 1099 ! ! ! ! ! ! ! ! ! 109280 3138 1100 ! ! ! ! ! ! ! ! ! #hb3, #hbd: 109290 3139 1101 ! ! ! ! ! ! ! ! ! outstring( 4, txt_error ); 109300 3140 1102 ! ! ! ! ! ! ! ! ! 109310 3141 1103 ! ! ! ! ! ! ! ! ! OTHERWISE 109320 3142 1104 ! ! ! ! ! ! ! ! END; 109330 3143 1105 ! ! ! ! ! ! ! ! 109340 3144 1106 ! ! ! ! ! ! ! ! IF opr_code IN (.#hb3, #hb5.) THEN 109350 3145 1107 ! ! ! ! ! ! ! ! outstring( 7, txt_counter ) 109360 3146 1108 ! ! ! ! ! ! ! ! ELSE 109370 3147 1109 ! ! ! ! ! ! ! ! outstring( 7, txt_limit ); 109380 3148 1110 ! ! ! ! ! ! ! ! 109390 3149 1111 ! ! ! ! ! ! ! ! writeresult( result ); 109400 3150 1112 ! ! ! ! ! ! ! ! 109410 3151 1113 ! ! ! ! ! ! ! ! write_param( counter, 5 ) 109420 3152 1114 ! ! ! ! ! ! ! ! 109430 3153 1115 ! ! ! ! ! ! ! END; 109440 3154 1116 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 116 110010 3155 1117 ! ! ! ! ! ! ! (* 11.09 *) #h9: 110020 3156 1118 ! ! ! ! ! ! ! LOCK inref AS m: mess_119_type DO 110030 3157 1119 ! ! ! ! ! ! ! WITH m, a_label DO 110040 3158 1120 ! ! ! ! ! ! ! BEGIN 110050 3159 1121 ! ! ! ! ! ! ! ! 110060 3160 1122 ! ! ! ! ! ! ! ! write_param_update( update ); 110070 3161 1123 ! ! ! ! ! ! ! ! 110080 3162 1124 ! ! ! ! ! ! ! ! outstring( 7, txt_actual ); 110090 3163 1125 ! ! ! ! ! ! ! ! outstring( 3, txt_ac ); 110100 3164 1126 ! ! ! ! ! ! ! ! 110110 3165 1127 ! ! ! ! ! ! ! ! writeresult( result ); 110120 3166 1128 ! ! ! ! ! ! ! ! 110130 3167 1129 ! ! ! ! ! ! ! ! writeaddress( ch_lt, act_rac, ch_gt ) 110140 3168 1130 ! ! ! ! ! ! ! ! 110150 3169 1131 ! ! ! ! ! ! ! END; 110160 3170 1132 ! ! ! ! ! ! ! 110170 3171 1133 ! ! ! ! ! ! ! OTHERWISE 110180 3172 1134 ! ! ! ! ! ! ! unknown_msg( inref ) 110190 3173 1135 ! ! ! ! ! ! ! 110200 3174 1136 ! ! ! ! ! ! END; 110210 3175 1137 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 117 111010 3176 1138 ! ! ! ! ! ! #hc: CASE ( opr_code MOD 16 ) OF 111020 3177 1139 ! ! ! ! ! ! ! 111030 3178 1140 ! ! ! ! ! ! ! (* 12.01 *) #h1: (* receipt for node test *) 111040 3179 1141 ! ! ! ! ! ! ! LOCK inref AS m1201: mess_12_00_type DO 111050 3180 1142 ! ! ! ! ! ! ! WITH m1201, a_label DO 111060 3181 1143 ! ! ! ! ! ! ! IF find_ts( ts_ix, send.macro ) THEN 111070 3182 1144 ! ! ! ! ! ! ! WITH ts_db( ts_ix ) DO 111080 3183 1145 ! ! ! ! ! ! ! BEGIN 111090 3184 1146 ! ! ! ! ! ! ! ! 111100 3185 1147 ! ! ! ! ! ! ! ! nt_receipt:= true; 111110 3186 1148 ! ! ! ! ! ! ! ! 111120 3187 1149 ! ! ! ! ! ! ! ! IF disconnected THEN 111130 3188 1150 ! ! ! ! ! ! ! ! BEGIN 111140 3189 1151 ! ! ! ! ! ! ! ! ! 111150 3190 1152 ! ! ! ! ! ! ! ! ! disconnected:= false; 111160 3191 1153 ! ! ! ! ! ! ! ! ! broadcast( send, #h25 ) 111170 3192 1154 ! ! ! ! ! ! ! ! ! 111180 3193 1155 ! ! ! ! ! ! ! ! END 111190 3194 1156 ! ! ! ! ! ! ! ! 111200 3195 1157 ! ! ! ! ! ! ! END 111210 3196 1158 ! ! ! ! ! ! ! ELSE 111220 3197 1159 ! ! ! ! ! ! ! write_error( 3, 4, no_of_ts ) 111230 3198 1160 ! ! ! ! ! ! ! ; 111240 3199 1161 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 118 112010 3200 1162 ! ! ! ! ! ! ! (* 12.02 *) #h2: (* node test interval time out *) 112020 3201 1163 ! ! ! ! ! ! ! BEGIN 112030 3202 1164 ! ! ! ! ! ! ! ! 112040 3203 1165 ! ! ! ! ! ! ! ! FOR ts_ix:= 1 TO no_of_ts DO 112050 3204 1166 ! ! ! ! ! ! ! ! WITH ts_db( ts_ix ) DO 112060 3205 1167 ! ! ! ! ! ! ! ! IF ( ts_address <> macroaddr( 0, 0, 0 ) ) THEN 112070 3206 1168 ! ! ! ! ! ! ! ! BEGIN 112080 3207 1169 ! ! ! ! ! ! ! ! ! 112090 3208 1170 ! ! ! ! ! ! ! ! ! IF NOT nt_receipt THEN 112100 3209 1171 ! ! ! ! ! ! ! ! ! IF NOT disconnected THEN 112110 3210 1172 ! ! ! ! ! ! ! ! ! BEGIN 112120 3211 1173 ! ! ! ! ! ! ! ! ! ! 112130 3212 1174 ! ! ! ! ! ! ! ! ! ! disconnected:= true; 112140 3213 1175 ! ! ! ! ! ! ! ! ! ! 112150 3214 1176 ! ! ! ! ! ! ! ! ! ! broadcast( addr( ts_address, tss_mic_addr ), #h24 ) 112160 3215 1177 ! ! ! ! ! ! ! ! ! ! 112170 3216 1178 ! ! ! ! ! ! ! ! ! END; 112180 3217 1179 ! ! ! ! ! ! ! ! ! 112190 3218 1180 ! ! ! ! ! ! ! ! ! nt_receipt:= false; 112200 3219 1181 ! ! ! ! ! ! ! ! ! 112210 3220 1182 ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m1200: mess_12_00_type DO 112220 3221 1183 ! ! ! ! ! ! ! ! ! WITH m1200 DO 112230 3222 1184 ! ! ! ! ! ! ! ! ! BEGIN 112240 3223 1185 ! ! ! ! ! ! ! ! ! ! 112250 3224 1186 ! ! ! ! ! ! ! ! ! ! counter:= 0; 112260 3225 1187 ! ! ! ! ! ! ! ! ! ! nt_freq:= ( nt_time * 10 ) DIV 9 112270 3226 1188 ! ! ! ! ! ! ! ! ! ! 112280 3227 1189 ! ! ! ! ! ! ! ! ! END; 112290 3228 1190 ! ! ! ! ! ! ! ! ! 112300 3229 1191 ! ! ! ! ! ! ! ! ! build_alarm_label( 4, addr( ts_address, tss_mic_addr ), 112310 3230 1192 ! ! ! ! ! ! ! ! ! netc_route, #hc0, modify_code ) 112320 3231 1193 ! ! ! ! ! ! ! ! ! 112330 3232 1194 ! ! ! ! ! ! ! ! END; 112340 3233 1195 ! ! ! ! ! ! ! ! 112350 3234 1196 ! ! ! ! ! ! ! ! IF nt_on THEN 112360 3235 1197 ! ! ! ! ! ! ! ! timerbook( book_up_msg, inref, nt_time, 0, 112370 3236 1198 ! ! ! ! ! ! ! ! timeout_sem^, timeout_answer_sem.s^ ) 112380 3237 1199 ! ! ! ! ! ! ! ! ELSE 112390 3238 1200 ! ! ! ! ! ! ! ! timeout_msg :=: inref 112400 3239 1201 ! ! ! ! ! ! ! ! 112410 3240 1202 ! ! ! ! ! ! ! END 112420 3241 1203 ! ! ! ! ! ! ! ; 112430 3242 1204 ! ! ! ! ! ! ! 112440 3243 1205 ! ! ! ! ! ! ! OTHERWISE 112450 3244 1206 ! ! ! ! ! ! ! unknown_msg( inref ) 112460 3245 1207 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 119 112470 3246 1208 ! ! ! ! ! ! END; 112480 3247 1209 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 120 113010 3248 1210 ! ! ! ! ! ! OTHERWISE 113020 3249 1211 ! ! ! ! ! ! unknown_msg( inref ) 113030 3250 1212 ! ! ! ! ! ! 113040 3251 1213 ! ! ! ! ! END; (* case opr_code div 16 *) 113050 3252 1214 ! ! ! ! ! 113060 3253 1215 ! ! ! ! ! start_com_line 113070 3254 1216 ! ! ! ! ! 113080 3255 1217 ! ! ! ! END; 113090 3256 1218 ! ! ! ! 113100 3257 1219 ! ! ! ! return( inref) 113110 3258 1220 ! ! ! ! 113120 3259 1221 ! ! ! END; (* output_buf - else *) 113130 3260 1222 ! ! ! \f outlist 81.05.26. 15.47. page 121 114010 3261 1223 ! ! ! my_dc_route: (* from dc *) 114020 3262 1224 ! ! ! 114030 3263 1225 ! ! ! 114040 3264 1226 ! ! ! CASE inref^.u2 OF 114050 3265 1227 ! ! ! ! 0 : (* successfully read *) 114060 3266 1228 ! ! ! ! BEGIN 114070 3267 1229 ! ! ! ! ! 114080 3268 1230 ! ! ! ! ! getinput; 114090 3269 1231 ! ! ! ! ! 114100 3270 1232 ! ! ! ! ! writetime( gettime ); 114110 3271 1233 ! ! ! ! ! 114120 3272 1234 ! ! ! ! ! 114130 3273 1235 ! ! ! ! ! (*q 114140 3274 1236 ! ! ! ! ! if test_b then 114150 3275 1237 ! ! ! ! ! begin 114160 3276 1238 ! ! ! ! ! testout( opzone,"kommando ", ord( command)); 114170 3277 1239 ! ! ! ! ! testout( opzone,"param0(2) ", ord(command1(2))); 114180 3278 1240 ! ! ! ! ! testout( opzone,"param1(1) ", ord(command2(1))); 114190 3279 1241 ! ! ! ! ! end; 114200 3280 1242 ! ! ! ! ! q*) 114210 3281 1243 ! ! ! ! ! \f outlist 81.05.26. 15.47. page 122 115010 3282 1244 ! ! ! ! ! CASE command1( 1 ) OF 115020 3283 1245 ! ! ! ! ! ! 115030 3284 1246 ! ! ! ! ! ! "a": (* afl{s *) 115040 3285 1247 ! ! ! ! ! ! 115050 3286 1248 ! ! ! ! ! ! IF ( command2( 1 ) IN (."a", "m", "p", "t".) ) OR 115060 3287 1249 ! ! ! ! ! ! ( ( command2( 1 ) = "s" ) AND ( command2( 2 ) IN (."e", "t".) ) ) THEN 115070 3288 1250 ! ! ! ! ! ! IF params_ok( 4 ) THEN 115080 3289 1251 ! ! ! ! ! ! IF addr_ok( 1 ) THEN 115090 3290 1252 ! ! ! ! ! ! BEGIN 115100 3291 1253 ! ! ! ! ! ! ! 115110 3292 1254 ! ! ! ! ! ! ! CASE command2(1) OF 115120 3293 1255 ! ! ! ! ! ! ! ! 115130 3294 1256 ! ! ! ! ! ! ! ! "a": 115140 3295 1257 ! ! ! ! ! ! ! ! opr_code:= #hb8; 115150 3296 1258 ! ! ! ! ! ! ! ! 115160 3297 1259 ! ! ! ! ! ! ! ! "m": 115170 3298 1260 ! ! ! ! ! ! ! ! opr_code:= #hbc; 115180 3299 1261 ! ! ! ! ! ! ! ! 115190 3300 1262 ! ! ! ! ! ! ! ! "p": 115200 3301 1263 ! ! ! ! ! ! ! ! opr_code:= #hb4; 115210 3302 1264 ! ! ! ! ! ! ! ! 115220 3303 1265 ! ! ! ! ! ! ! ! "s": 115230 3304 1266 ! ! ! ! ! ! ! ! IF command2( 2 ) = "e" THEN 115240 3305 1267 ! ! ! ! ! ! ! ! opr_code:= #hb6 115250 3306 1268 ! ! ! ! ! ! ! ! ELSE 115260 3307 1269 ! ! ! ! ! ! ! ! opr_code:= #hba; 115270 3308 1270 ! ! ! ! ! ! ! ! 115280 3309 1271 ! ! ! ! ! ! ! ! "t": 115290 3310 1272 ! ! ! ! ! ! ! ! opr_code:= #hb2; 115300 3311 1273 ! ! ! ! ! ! ! ! 115310 3312 1274 ! ! ! ! ! ! ! ! OTHERWISE 115320 3313 1275 ! ! ! ! ! ! ! END; 115330 3314 1276 ! ! ! ! ! ! ! 115340 3315 1277 ! ! ! ! ! ! ! build_alarm_label( 0, 115350 3316 1278 ! ! ! ! ! ! ! packaddr( 1 ), netc_route, opr_code, read_code ) 115360 3317 1279 ! ! ! ! ! ! ! 115370 3318 1280 ! ! ! ! ! ! END 115380 3319 1281 ! ! ! ! ! ! ELSE 115390 3320 1282 ! ! ! ! ! ! ELSE 115400 3321 1283 ! ! ! ! ! ! ELSE 115410 3322 1284 ! ! ! ! ! ! write_error( 7, 5, 2 ) 115420 3323 1285 ! ! ! ! ! ! ; 115430 3324 1286 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 123 116010 3325 1287 ! ! ! ! ! ! "b": (* broadcast *) 116020 3326 1288 ! ! ! ! ! ! IF command2( 1 ) IN (."n", "o".) THEN 116030 3327 1289 ! ! ! ! ! ! BEGIN 116040 3328 1290 ! ! ! ! ! ! ! 116050 3329 1291 ! ! ! ! ! ! ! CASE noofparams OF 116060 3330 1292 ! ! ! ! ! ! ! ! 116070 3331 1293 ! ! ! ! ! ! ! ! 1: 116080 3332 1294 ! ! ! ! ! ! ! ! broadcast( addr( packmacro( params( 1 ), 0, 0 ), 0 ), 116090 3333 1295 ! ! ! ! ! ! ! ! ( #h20 + ord( command2( 1 ) <> "n" ) ) ) 116100 3334 1296 ! ! ! ! ! ! ! ! ; 116110 3335 1297 ! ! ! ! ! ! ! ! 116120 3336 1298 ! ! ! ! ! ! ! ! 2: 116130 3337 1299 ! ! ! ! ! ! ! ! broadcast( addr( packmacro( params( 1 ), params( 2 ), 0 ) , 0 ), 116140 3338 1300 ! ! ! ! ! ! ! ! ( #h22 + ord( command2( 1 ) <> "n" ) ) ) 116150 3339 1301 ! ! ! ! ! ! ! ! ; 116160 3340 1302 ! ! ! ! ! ! ! ! 116170 3341 1303 ! ! ! ! ! ! ! ! 3: 116180 3342 1304 ! ! ! ! ! ! ! ! broadcast( addr( packmacro( params( 1 ), params( 2 ), params( 3 ) ), 0 ), 116190 3343 1305 ! ! ! ! ! ! ! ! ( #h24 + ord( command2( 1 ) <> "n" ) ) ) 116200 3344 1306 ! ! ! ! ! ! ! ! ; 116210 3345 1307 ! ! ! ! ! ! ! ! 116220 3346 1308 ! ! ! ! ! ! ! ! 4: 116230 3347 1309 ! ! ! ! ! ! ! ! broadcast( addr( packmacro( params( 1 ), params( 2 ), params( 3 ) ), params( 4 ) ), 116240 3348 1310 ! ! ! ! ! ! ! ! ( #h26 + ord( command2( 1 ) <> "n" ) ) ) 116250 3349 1311 ! ! ! ! ! ! ! ! ; 116260 3350 1312 ! ! ! ! ! ! ! ! 116270 3351 1313 ! ! ! ! ! ! ! ! OTHERWISE 116280 3352 1314 ! ! ! ! ! ! ! ! write_error( 6, 7, 4 ) 116290 3353 1315 ! ! ! ! ! ! ! ! 116300 3354 1316 ! ! ! ! ! ! ! END 116310 3355 1317 ! ! ! ! ! ! ! 116320 3356 1318 ! ! ! ! ! ! END 116330 3357 1319 ! ! ! ! ! ! ELSE 116340 3358 1320 ! ! ! ! ! ! write_error( 7, 5, 2 ) 116350 3359 1321 ! ! ! ! ! ! ; 116360 3360 1322 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 124 117010 3361 1323 ! ! ! ! ! ! "d": (* districtcenter number *) 117020 3362 1324 ! ! ! ! ! ! IF update_px_db( 0 ) THEN 117030 3363 1325 ! ! ! ! ! ! BEGIN 117040 3364 1326 ! ! ! ! ! ! ! 117050 3365 1327 ! ! ! ! ! ! ! IF ( no_of_dc = 0 ) THEN 117060 3366 1328 ! ! ! ! ! ! ! BEGIN 117070 3367 1329 ! ! ! ! ! ! ! ! 117080 3368 1330 ! ! ! ! ! ! ! ! start_new_line; 117090 3369 1331 ! ! ! ! ! ! ! ! outstring( 6, txt_create ); 117100 3370 1332 ! ! ! ! ! ! ! ! outstring( 2, txt_ts ); 117110 3371 1333 ! ! ! ! ! ! ! ! newline 117120 3372 1334 ! ! ! ! ! ! ! ! 117130 3373 1335 ! ! ! ! ! ! ! END; 117140 3374 1336 ! ! ! ! ! ! ! 117150 3375 1337 ! ! ! ! ! ! ! no_of_dc:= no_of_dc + 1; 117160 3376 1338 ! ! ! ! ! ! ! dc_macro:= packmacro( params( 1 ), params( 2 ), params( 3 ) ); 117170 3377 1339 ! ! ! ! ! ! ! 117180 3378 1340 ! ! ! ! ! ! ! update_pax_table( netc_route1, macroaddr( 0, 0, 0), 0, px_db( 0 ).fe_ix, modify_code ) 117190 3379 1341 ! ! ! ! ! ! ! 117200 3380 1342 ! ! ! ! ! ! END 117210 3381 1343 ! ! ! ! ! ! ELSE 117220 3382 1344 ! ! ! ! ! ! outstring( 5, txt_range ) 117230 3383 1345 ! ! ! ! ! ! ; 117240 3384 1346 ! ! ! ! ! ! 117250 3385 1347 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 125 118010 3386 1348 ! ! ! ! ! ! "f" : 118020 3387 1349 ! ! ! ! ! ! (*------------------ remove aac ------------------------- 118030 3388 1350 ! ! ! ! ! ! . 1. find <ac-address> in database 118040 3389 1351 ! ! ! ! ! ! . 2. if <ac-address> is not in database 118050 3390 1352 ! ! ! ! ! ! . write a message on dc-console 118060 3391 1353 ! ! ! ! ! ! . 3. if <ac-address> is in database do the following : 118070 3392 1354 ! ! ! ! ! ! . 4. find an entry with both <ac-address> and <at-address> 118080 3393 1355 ! ! ! ! ! ! . and where pac-or-aac is aac. 118090 3394 1356 ! ! ! ! ! ! . 5. if there is no such entry write a message on dc-console 118100 3395 1357 ! ! ! ! ! ! . 6. in this entry see how many aac-codes are in use 118110 3396 1358 ! ! ! ! ! ! . 7. if <aac-code> is not in this entry, write on dc-console 118120 3397 1359 ! ! ! ! ! ! . 8. if <aac-code> is the last one in use, remove the databaseentry 118130 3398 1360 ! ! ! ! ! ! . 9. send a 10.0 to atc 118140 3399 1361 ! ! ! ! ! ! . 10. send a 10.2 to <ac-address> if at-code in a removed entry 118150 3400 1362 ! ! ! ! ! ! . is not elsewhere in the database 118160 3401 1363 ! ! ! ! ! ! . 11. send a 10.10 to ath if this <ac-address> no longer has an 118170 3402 1364 ! ! ! ! ! ! . at-address with the same macro-addr as <at-address> 118180 3403 1365 ! ! ! ! ! ! 118190 3404 1366 ! ! ! ! ! ! --------------------------------------------------------------*) 118200 3405 1367 ! ! ! ! ! ! 118210 3406 1368 ! ! ! ! ! ! IF params_ok( 9 ) THEN 118220 3407 1369 ! ! ! ! ! ! IF (ac_addr_ok( 1 ) AND at_addr_ok( 5 )) 118230 3408 1370 ! ! ! ! ! ! AND aac_code_ok(params(9)) THEN 118240 3409 1371 ! ! ! ! ! ! IF find_ac( ac_ix, packaddr( 1 ) ) THEN 118250 3410 1372 ! ! ! ! ! ! IF find_at( at_ix, packaddr( 5 ) ) THEN 118260 3411 1373 ! ! ! ! ! ! WITH ac_db( ac_ix ), at_db( at_ix ) DO 118270 3412 1374 ! ! ! ! ! ! BEGIN 118280 3413 1375 ! ! ! ! ! ! ! 118290 3414 1376 ! ! ! ! ! ! ! outstring( 10, txt_undef ) 118300 3415 1377 ! ! ! ! ! ! ! 118310 3416 1378 ! ! ! ! ! ! END 118320 3417 1379 ! ! ! ! ! ! ELSE 118330 3418 1380 ! ! ! ! ! ! write_error( 2, 2, no_of_at ) 118340 3419 1381 ! ! ! ! ! ! ELSE 118350 3420 1382 ! ! ! ! ! ! write_error( 1, 2, no_of_ac ) 118360 3421 1383 ! ! ! ! ! ! ELSE 118370 3422 1384 ! ! ! ! ! ! outstring( 5, txt_param ) 118380 3423 1385 ! ! ! ! ! ! ; 118390 3424 1386 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 126 119010 3425 1387 ! ! ! ! ! ! "g": (* generel message *) 119020 3426 1388 ! ! ! ! ! ! IF params_ok( 4 ) THEN 119030 3427 1389 ! ! ! ! ! ! IF addr_ok( 1 ) THEN 119040 3428 1390 ! ! ! ! ! ! IF find_ac( ac_ix, packaddr( 1 ) ) THEN 119050 3429 1391 ! ! ! ! ! ! WITH ac_db( ac_ix ) DO 119060 3430 1392 ! ! ! ! ! ! BEGIN 119070 3431 1393 ! ! ! ! ! ! ! 119080 3432 1394 ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m98: mess_98_type DO 119090 3433 1395 ! ! ! ! ! ! ! WITH m98 DO 119100 3434 1396 ! ! ! ! ! ! ! msg_text:= command2; 119110 3435 1397 ! ! ! ! ! ! ! 119120 3436 1398 ! ! ! ! ! ! ! build_alarm_label( alfalength, 119130 3437 1399 ! ! ! ! ! ! ! ac_addr, netc_route, #h98, 0 ) 119140 3438 1400 ! ! ! ! ! ! ! 119150 3439 1401 ! ! ! ! ! ! END 119160 3440 1402 ! ! ! ! ! ! ELSE 119170 3441 1403 ! ! ! ! ! ! outstring( 6, txt_unknown ) 119180 3442 1404 ! ! ! ! ! ! ; 119190 3443 1405 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 127 120010 3444 1406 ! ! ! ! ! ! "h" : (* help *) 120020 3445 1407 ! ! ! ! ! ! BEGIN 120030 3446 1408 ! ! ! ! ! ! ! 120040 3447 1409 ! ! ! ! ! ! ! (*q if test_b then 120050 3448 1410 ! ! ! ! ! ! ! testout( opzone, "help command", 0); q*) 120060 3449 1411 ! ! ! ! ! ! ! outstring( 9, txt_undef ) 120070 3450 1412 ! ! ! ! ! ! ! 120080 3451 1413 ! ! ! ! ! ! END 120090 3452 1414 ! ! ! ! ! ! ; 120100 3453 1415 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 128 121010 3454 1416 ! ! ! ! ! ! "i" : 121020 3455 1417 ! ! ! ! ! ! (*-------------------- insert aac -------------------------- 121030 3456 1418 ! ! ! ! ! ! . 121040 3457 1419 ! ! ! ! ! ! . 1. find <ac-address> in database. 121050 3458 1420 ! ! ! ! ! ! . 2. if <ac-address> is not in database 121060 3459 1421 ! ! ! ! ! ! . write a message on dc-console 121070 3460 1422 ! ! ! ! ! ! . 3. if <ac-address> is in database do the following : 121080 3461 1423 ! ! ! ! ! ! . 4. find an entry where <at-address> and <ac-address> 121090 3462 1424 ! ! ! ! ! ! . are in the same entry and where pac-or-avs = aac 121100 3463 1425 ! ! ! ! ! ! . 5. if there is no such entry, make an entry i.e. 121110 3464 1426 ! ! ! ! ! ! . find an entry with <ac-address> and where <at-address> 121120 3465 1427 ! ! ! ! ! ! . is empty and fill <at-address> into this or make a new entry 121130 3466 1428 ! ! ! ! ! ! . 6. a 10.10 is send to ath if there is no <ac-address> in database, 121140 3467 1429 ! ! ! ! ! ! . where at-address.macro is equal to <at-address>.macro 121150 3468 1430 ! ! ! ! ! ! . 7. send a 10.0 to atc 121160 3469 1431 ! ! ! ! ! ! . 8. a 10.2 is send to <ac-address> if at-code is a new one 121170 3470 1432 ! ! ! ! ! ! . this is not send if 4. is true 121180 3471 1433 ! ! ! ! ! ! .--------------------------------------------------------------*) 121190 3472 1434 ! ! ! ! ! ! 121200 3473 1435 ! ! ! ! ! ! IF params_ok( 10 ) THEN 121210 3474 1436 ! ! ! ! ! ! IF ac_addr_ok( 1 ) AND at_addr_ok( 5 ) AND aac_code_ok( params( 9 ) ) 121220 3475 1437 ! ! ! ! ! ! AND ( params( 10 ) IN (.0..1.) ) THEN 121230 3476 1438 ! ! ! ! ! ! BEGIN 121240 3477 1439 ! ! ! ! ! ! ! (*q if test_b then 121250 3478 1440 ! ! ! ! ! ! ! testout( opzone, "insert aac ", 0); q*) 121260 3479 1441 ! ! ! ! ! ! ! 121270 3480 1442 ! ! ! ! ! ! ! IF find_ac( ac_ix, packaddr( 1 ) ) THEN 121280 3481 1443 ! ! ! ! ! ! ! IF find_at( at_ix, packaddr( 5 ) ) THEN 121290 3482 1444 ! ! ! ! ! ! ! WITH at_db( at_ix ) DO 121300 3483 1445 ! ! ! ! ! ! ! IF ( no_ac_e < max_no_ac ) THEN 121310 3484 1446 ! ! ! ! ! ! ! BEGIN 121320 3485 1447 ! ! ! ! ! ! ! ! 121330 3486 1448 ! ! ! ! ! ! ! ! no_ac_e:= no_ac_e + 1; 121340 3487 1449 ! ! ! ! ! ! ! ! ac_indxs( no_ac_e ):= ac_ix; 121350 3488 1450 ! ! ! ! ! ! ! ! ac_codes( no_ac_e ):= params( 9 ); 121360 3489 1451 ! ! ! ! ! ! ! ! 121370 3490 1452 ! ! ! ! ! ! ! ! IF NOT find_sac_entry( sac_rac_ix, ts_indx, 121380 3491 1453 ! ! ! ! ! ! ! ! ac_db( ac_ix ).ac_addr ) THEN 121390 3492 1454 ! ! ! ! ! ! ! ! IF find_sac_entry( sac_rac_ix, ts_indx, empty_addr ) THEN 121400 3493 1455 ! ! ! ! ! ! ! ! BEGIN 121410 3494 1456 ! ! ! ! ! ! ! ! ! (* send 10.10 to athandler and update ts data base *) 121420 3495 1457 ! ! ! ! ! ! ! ! ! WITH ac_db( ac_ix ), ts_db( ts_indx ) DO 121430 3496 1458 ! ! ! ! ! ! ! ! ! BEGIN 121440 3497 1459 ! ! ! ! ! ! ! ! ! ! 121450 3498 1460 ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m: mess_1010_type DO 121460 3499 1461 ! ! ! ! ! ! ! ! ! ! WITH m, a_label DO \f outlist 81.05.26. 15.47. page 129 121470 3500 1462 ! ! ! ! ! ! ! ! ! ! BEGIN 121480 3501 1463 ! ! ! ! ! ! ! ! ! ! ! 121490 3502 1464 ! ! ! ! ! ! ! ! ! ! ! no_sac_e:= no_sac_e + 1; 121500 3503 1465 ! ! ! ! ! ! ! ! ! ! ! 121510 3504 1466 ! ! ! ! ! ! ! ! ! ! ! WITH sac_rac_s( sac_rac_ix ) DO 121520 3505 1467 ! ! ! ! ! ! ! ! ! ! ! BEGIN 121530 3506 1468 ! ! ! ! ! ! ! ! ! ! ! ! 121540 3507 1469 ! ! ! ! ! ! ! ! ! ! ! ! vca_addr:= ac_addr; 121550 3508 1470 ! ! ! ! ! ! ! ! ! ! ! ! vcm_addr:= alarmnetaddr( macroaddr( 0, 0, 0 ), 0 ); 121560 3509 1471 ! ! ! ! ! ! ! ! ! ! ! ! 121570 3510 1472 ! ! ! ! ! ! ! ! ! ! ! ! sac_rac_index:= sac_rac_ix; 121580 3511 1473 ! ! ! ! ! ! ! ! ! ! ! ! sac_addr:= vca_addr; 121590 3512 1474 ! ! ! ! ! ! ! ! ! ! ! ! rac_addr:= vcm_addr 121600 3513 1475 ! ! ! ! ! ! ! ! ! ! ! ! 121610 3514 1476 ! ! ! ! ! ! ! ! ! ! ! END 121620 3515 1477 ! ! ! ! ! ! ! ! ! ! ! 121630 3516 1478 ! ! ! ! ! ! ! ! ! ! END; 121640 3517 1479 ! ! ! ! ! ! ! ! ! ! 121650 3518 1480 ! ! ! ! ! ! ! ! ! ! build_alarm_label( 10, addr( at_addr.macro, ath_mic_addr ), 121660 3519 1481 ! ! ! ! ! ! ! ! ! ! netc_route, #haa, insert_code ) 121670 3520 1482 ! ! ! ! ! ! ! ! ! ! 121680 3521 1483 ! ! ! ! ! ! ! ! ! END; 121690 3522 1484 ! ! ! ! ! ! ! ! ! 121700 3523 1485 ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m102: mess_102_type DO 121710 3524 1486 ! ! ! ! ! ! ! ! ! WITH m102 DO 121720 3525 1487 ! ! ! ! ! ! ! ! ! BEGIN 121730 3526 1488 ! ! ! ! ! ! ! ! ! ! 121740 3527 1489 ! ! ! ! ! ! ! ! ! ! at_addr_tab.at_addr:= at_addr; 121750 3528 1490 ! ! ! ! ! ! ! ! ! ! at_addr_tab.addr_code:= at_code 121760 3529 1491 ! ! ! ! ! ! ! ! ! ! 121770 3530 1492 ! ! ! ! ! ! ! ! ! END; 121780 3531 1493 ! ! ! ! ! ! ! ! ! 121790 3532 1494 ! ! ! ! ! ! ! ! ! build_alarm_label( 5, ac_db( ac_ix ).ac_addr, 121800 3533 1495 ! ! ! ! ! ! ! ! ! netc_route, #ha2, insert_code ) 121810 3534 1496 ! ! ! ! ! ! ! ! ! 121820 3535 1497 ! ! ! ! ! ! ! ! END 121830 3536 1498 ! ! ! ! ! ! ! ! ELSE 121840 3537 1499 ! ! ! ! ! ! ! ! write_error( 3, 4, ts_db( ts_indx ).no_sac_e ) 121850 3538 1500 ! ! ! ! ! ! ! ! ; 121860 3539 1501 ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 130 122010 3540 1502 ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS l: receipt_101_type DO 122020 3541 1503 ! ! ! ! ! ! ! ! WITH l DO 122030 3542 1504 ! ! ! ! ! ! ! ! BEGIN 122040 3543 1505 ! ! ! ! ! ! ! ! ! 122050 3544 1506 ! ! ! ! ! ! ! ! ! ac_addr_tab.addr_code:= params( 9 ); 122060 3545 1507 ! ! ! ! ! ! ! ! ! ac_addr_tab.vc_index:= sac_rac_ix; 122070 3546 1508 ! ! ! ! ! ! ! ! ! ac_addr_tab.block:= 1; 122080 3547 1509 ! ! ! ! ! ! ! ! ! ac_addr_tab.steering:= ( params( 10 ) = 1 ) 122090 3548 1510 ! ! ! ! ! ! ! ! ! 122100 3549 1511 ! ! ! ! ! ! ! ! END; 122110 3550 1512 ! ! ! ! ! ! ! ! 122120 3551 1513 ! ! ! ! ! ! ! ! build_alarm_label( 6, at_db( at_ix ).at_addr, 122130 3552 1514 ! ! ! ! ! ! ! ! netc_route, #ha0, insert_code ) 122140 3553 1515 ! ! ! ! ! ! ! ! 122150 3554 1516 ! ! ! ! ! ! ! END 122160 3555 1517 ! ! ! ! ! ! ! ELSE 122170 3556 1518 ! ! ! ! ! ! ! write_error( 0, 3, max_no_ac ) 122180 3557 1519 ! ! ! ! ! ! ! ELSE 122190 3558 1520 ! ! ! ! ! ! ! write_error( 2, 2, no_of_at ) 122200 3559 1521 ! ! ! ! ! ! ! ELSE 122210 3560 1522 ! ! ! ! ! ! ! write_error( 1, 2, no_of_ac ) 122220 3561 1523 ! ! ! ! ! ! ! 122230 3562 1524 ! ! ! ! ! ! END 122240 3563 1525 ! ! ! ! ! ! ELSE 122250 3564 1526 ! ! ! ! ! ! outstring( 5, txt_param ) 122260 3565 1527 ! ! ! ! ! ! ; 122270 3566 1528 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 131 123010 3567 1529 ! ! ! ! ! ! "k" : 123020 3568 1530 ! ! ! ! ! ! IF params_ok( 2 ) THEN 123030 3569 1531 ! ! ! ! ! ! IF ( params( 1 ) IN (.0..23.) ) AND ( params( 2 ) IN (.0..59.) ) THEN 123040 3570 1532 ! ! ! ! ! ! BEGIN 123050 3571 1533 ! ! ! ! ! ! ! (*q if test_b then 123060 3572 1534 ! ! ! ! ! ! ! testout( opzone, "klokken er ", 0); q*) 123070 3573 1535 ! ! ! ! ! ! ! 123080 3574 1536 ! ! ! ! ! ! ! settime( params( 1 ), params( 2 ) ); 123090 3575 1537 ! ! ! ! ! ! ! 123100 3576 1538 ! ! ! ! ! ! ! writetime( gettime ) 123110 3577 1539 ! ! ! ! ! ! ! 123120 3578 1540 ! ! ! ! ! ! END 123130 3579 1541 ! ! ! ! ! ! ELSE 123140 3580 1542 ! ! ! ! ! ! outstring( 5, txt_range ) 123150 3581 1543 ! ! ! ! ! ! ; 123160 3582 1544 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 132 124010 3583 1545 ! ! ! ! ! ! "l" : log_off:= ( command2( 1 ) = "n" ); 124020 3584 1546 ! ! ! ! ! ! 124030 3585 1547 ! ! ! ! ! ! 124040 3586 1548 ! ! ! ! ! ! "n" : (* close *) 124050 3587 1549 ! ! ! ! ! ! IF params_ok( 4 ) THEN 124060 3588 1550 ! ! ! ! ! ! IF addr_ok( 1 ) THEN 124070 3589 1551 ! ! ! ! ! ! CASE command2( 1 ) OF 124080 3590 1552 ! ! ! ! ! ! ! 124090 3591 1553 ! ! ! ! ! ! ! "a" : (* alarm terminal *) 124100 3592 1554 ! ! ! ! ! ! ! IF find_at( at_ix, packaddr( 1 ) ) THEN 124110 3593 1555 ! ! ! ! ! ! ! WITH at_db( at_ix ) DO 124120 3594 1556 ! ! ! ! ! ! ! IF ( activity <> start_code ) THEN 124130 3595 1557 ! ! ! ! ! ! ! BEGIN 124140 3596 1558 ! ! ! ! ! ! ! ! 124150 3597 1559 ! ! ! ! ! ! ! ! dc_request:= removing; 124160 3598 1560 ! ! ! ! ! ! ! ! 124170 3599 1561 ! ! ! ! ! ! ! ! IF ( dc_request <> ac_request ) THEN 124180 3600 1562 ! ! ! ! ! ! ! ! BEGIN 124190 3601 1563 ! ! ! ! ! ! ! ! ! 124200 3602 1564 ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m: mess_62_type DO 124210 3603 1565 ! ! ! ! ! ! ! ! ! WITH m DO 124220 3604 1566 ! ! ! ! ! ! ! ! ! at_adr:= at_addr; 124230 3605 1567 ! ! ! ! ! ! ! ! ! 124240 3606 1568 ! ! ! ! ! ! ! ! ! build_alarm_label( 4, ac_db( ac_indxs( 1 ) ).ac_addr, 124250 3607 1569 ! ! ! ! ! ! ! ! ! netc_route, #h66, remove_code ) 124260 3608 1570 ! ! ! ! ! ! ! ! ! 124270 3609 1571 ! ! ! ! ! ! ! ! END 124280 3610 1572 ! ! ! ! ! ! ! ! ELSE 124290 3611 1573 ! ! ! ! ! ! ! ! BEGIN 124300 3612 1574 ! ! ! ! ! ! ! ! ! 124310 3613 1575 ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m68: mess_60_type DO 124320 3614 1576 ! ! ! ! ! ! ! ! ! WITH m68 DO 124330 3615 1577 ! ! ! ! ! ! ! ! ! BEGIN 124340 3616 1578 ! ! ! ! ! ! ! ! ! ! 124350 3617 1579 ! ! ! ! ! ! ! ! ! ! at_mic:= at_addr.micro; 124360 3618 1580 ! ! ! ! ! ! ! ! ! ! lam_num:= 0; 124370 3619 1581 ! ! ! ! ! ! ! ! ! ! port_num:= lam_port; 124380 3620 1582 ! ! ! ! ! ! ! ! ! ! IF find_sac_entry( ac_ix, ts_indx, ac_db( ac_indxs( 1 ) ).ac_addr ) THEN 124390 3621 1583 ! ! ! ! ! ! ! ! ! ! sac_rac_index:= ac_ix 124400 3622 1584 ! ! ! ! ! ! ! ! ! ! ELSE 124410 3623 1585 ! ! ! ! ! ! ! ! ! ! write_error( 3, 4, ts_indx ) 124420 3624 1586 ! ! ! ! ! ! ! ! ! ! 124430 3625 1587 ! ! ! ! ! ! ! ! ! END; 124440 3626 1588 ! ! ! ! ! ! ! ! ! 124450 3627 1589 ! ! ! ! ! ! ! ! ! build_alarm_label( 8, addr( at_addr.macro, ath_mic_addr ), 124460 3628 1590 ! ! ! ! ! ! ! ! ! netc_route, #h68, remove_code ) \f outlist 81.05.26. 15.47. page 133 124470 3629 1591 ! ! ! ! ! ! ! ! ! 124480 3630 1592 ! ! ! ! ! ! ! ! END 124490 3631 1593 ! ! ! ! ! ! ! ! 124500 3632 1594 ! ! ! ! ! ! ! END 124510 3633 1595 ! ! ! ! ! ! ! ELSE 124520 3634 1596 ! ! ! ! ! ! ! outstring( 4, txt_busy ) 124530 3635 1597 ! ! ! ! ! ! ! ELSE 124540 3636 1598 ! ! ! ! ! ! ! outstring( 6, txt_unknown ) 124550 3637 1599 ! ! ! ! ! ! ! ; 124560 3638 1600 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 134 125010 3639 1601 ! ! ! ! ! ! ! <* 125020 3640 1602 ! ! ! ! ! ! ! "d" : (* district center *) 125030 3641 1603 ! ! ! ! ! ! ! BEGIN 125040 3642 1604 ! ! ! ! ! ! ! 125050 3643 1605 ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m: mess_110_type DO 125060 3644 1606 ! ! ! ! ! ! ! WITH m DO 125070 3645 1607 ! ! ! ! ! ! ! BEGIN 125080 3646 1608 ! ! ! ! ! ! ! 125090 3647 1609 ! ! ! ! ! ! ! tss_macro:= macroaddr( 0, 0, 0 ); 125100 3648 1610 ! ! ! ! ! ! ! xx:= 0; 125110 3649 1611 ! ! ! ! ! ! ! dc_ts_macro:= macroaddr( 0, 0, 0 ) 125120 3650 1612 ! ! ! ! ! ! ! 125130 3651 1613 ! ! ! ! ! ! ! END; 125140 3652 1614 ! ! ! ! ! ! ! 125150 3653 1615 ! ! ! ! ! ! ! build_alarm_label( 6, addr( ts_db( 1 ).ts_address, 0 ), 125160 3654 1616 ! ! ! ! ! ! ! netc_route, #hb0, insert_code ); 125170 3655 1617 ! ! ! ! ! ! ! 125180 3656 1618 ! ! ! ! ! ! ! restart_dc 125190 3657 1619 ! ! ! ! ! ! ! 125200 3658 1620 ! ! ! ! ! ! ! END 125210 3659 1621 ! ! ! ! ! ! ! ; 125220 3660 1622 ! ! ! ! ! ! ! *> 125230 3661 1623 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 135 126010 3662 1624 ! ! ! ! ! ! ! "v" : (* alarm center *) 126020 3663 1625 ! ! ! ! ! ! ! IF find_ac( ac_ix, packaddr( 1 ) ) THEN 126030 3664 1626 ! ! ! ! ! ! ! WITH ac_db( ac_ix ) DO 126040 3665 1627 ! ! ! ! ! ! ! BEGIN 126050 3666 1628 ! ! ! ! ! ! ! ! 126060 3667 1629 ! ! ! ! ! ! ! ! dc_request:= removing; 126070 3668 1630 ! ! ! ! ! ! ! ! 126080 3669 1631 ! ! ! ! ! ! ! ! IF ( ac_request = dc_request ) THEN 126090 3670 1632 ! ! ! ! ! ! ! ! BEGIN 126100 3671 1633 ! ! ! ! ! ! ! ! ! 126110 3672 1634 ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m: mess_70_type DO 126120 3673 1635 ! ! ! ! ! ! ! ! ! WITH m DO 126130 3674 1636 ! ! ! ! ! ! ! ! ! ac_mic:= ac_addr.micro; 126140 3675 1637 ! ! ! ! ! ! ! ! ! 126150 3676 1638 ! ! ! ! ! ! ! ! ! build_alarm_label( 2, addr( ac_addr.macro, vch_mic_addr ), 126160 3677 1639 ! ! ! ! ! ! ! ! ! netc_route, #h74, remove_code ) 126170 3678 1640 ! ! ! ! ! ! ! ! ! 126180 3679 1641 ! ! ! ! ! ! ! ! END 126190 3680 1642 ! ! ! ! ! ! ! ! ELSE 126200 3681 1643 ! ! ! ! ! ! ! ! build_alarm_label( 0, 126210 3682 1644 ! ! ! ! ! ! ! ! addr( ac_addr.macro, vch_mic_addr ), netc_route, #h72, remove_code ) 126220 3683 1645 ! ! ! ! ! ! ! ! 126230 3684 1646 ! ! ! ! ! ! ! END 126240 3685 1647 ! ! ! ! ! ! ! ELSE 126250 3686 1648 ! ! ! ! ! ! ! outstring( 6, txt_unknown ) 126260 3687 1649 ! ! ! ! ! ! ! ; 126270 3688 1650 ! ! ! ! ! ! ! 126280 3689 1651 ! ! ! ! ! ! ! OTHERWISE 126290 3690 1652 ! ! ! ! ! ! ! write_error( 7, 5, 2 ) 126300 3691 1653 ! ! ! ! ! ! ! 126310 3692 1654 ! ! ! ! ! ! END 126320 3693 1655 ! ! ! ! ! ! ; 126330 3694 1656 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 136 127010 3695 1657 ! ! ! ! ! ! "t" : (* internal test *) 127020 3696 1658 ! ! ! ! ! ! (*---------------------------------------------- 127030 3697 1659 ! ! ! ! ! ! . 1. send mess 8.0 or 8.2 to at-connector or 127040 3698 1660 ! ! ! ! ! ! . to ac-connector 127050 3699 1661 ! ! ! ! ! ! . 2. write 8.1 or 8.3 when it comes 127060 3700 1662 ! ! ! ! ! ! ------------------------------------------------*) 127070 3701 1663 ! ! ! ! ! ! 127080 3702 1664 ! ! ! ! ! ! CASE command2( 1 ) OF 127090 3703 1665 ! ! ! ! ! ! ! 127100 3704 1666 ! ! ! ! ! ! ! "a": 127110 3705 1667 ! ! ! ! ! ! ! IF params_ok( 5 ) THEN 127120 3706 1668 ! ! ! ! ! ! ! IF addr_ok( 1 ) THEN 127130 3707 1669 ! ! ! ! ! ! ! IF params( 5 ) IN (.1..2.) THEN 127140 3708 1670 ! ! ! ! ! ! ! BEGIN 127150 3709 1671 ! ! ! ! ! ! ! ! (*q if test_b then 127160 3710 1672 ! ! ! ! ! ! ! ! testout( opzone, "test command", 0); q*) 127170 3711 1673 ! ! ! ! ! ! ! ! 127180 3712 1674 ! ! ! ! ! ! ! ! CASE params( 5 ) OF 127190 3713 1675 ! ! ! ! ! ! ! ! ! 127200 3714 1676 ! ! ! ! ! ! ! ! ! 1: (* internal test 1 *) 127210 3715 1677 ! ! ! ! ! ! ! ! ! opr_code:= #h80; 127220 3716 1678 ! ! ! ! ! ! ! ! ! 127230 3717 1679 ! ! ! ! ! ! ! ! ! 2: (* internal test 2 *) 127240 3718 1680 ! ! ! ! ! ! ! ! ! opr_code:= #h82; 127250 3719 1681 ! ! ! ! ! ! ! ! ! 127260 3720 1682 ! ! ! ! ! ! ! ! ! OTHERWISE; 127270 3721 1683 ! ! ! ! ! ! ! ! END; (* case *) 127280 3722 1684 ! ! ! ! ! ! ! ! 127290 3723 1685 ! ! ! ! ! ! ! ! build_alarm_label( 0, 127300 3724 1686 ! ! ! ! ! ! ! ! packaddr( 1 ), netc_route, opr_code, 0 ) 127310 3725 1687 ! ! ! ! ! ! ! ! 127320 3726 1688 ! ! ! ! ! ! ! END 127330 3727 1689 ! ! ! ! ! ! ! ELSE 127340 3728 1690 ! ! ! ! ! ! ! outstring( 5, txt_range ) 127350 3729 1691 ! ! ! ! ! ! ! ; 127360 3730 1692 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 137 128010 3731 1693 ! ! ! ! ! ! ! "f": (* test at_ac connection *) 128020 3732 1694 ! ! ! ! ! ! ! IF params_ok( 8 ) THEN 128030 3733 1695 ! ! ! ! ! ! ! IF at_addr_ok( 1 ) AND ac_addr_ok( 5 ) THEN 128040 3734 1696 ! ! ! ! ! ! ! BEGIN 128050 3735 1697 ! ! ! ! ! ! ! ! 128060 3736 1698 ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m: mess_119_type DO 128070 3737 1699 ! ! ! ! ! ! ! ! WITH m DO 128080 3738 1700 ! ! ! ! ! ! ! ! act_rac:= packaddr( 5 ); 128090 3739 1701 ! ! ! ! ! ! ! ! 128100 3740 1702 ! ! ! ! ! ! ! ! build_alarm_label( 4, 128110 3741 1703 ! ! ! ! ! ! ! ! packaddr( 1 ), netc_route, #h92, 0 ) 128120 3742 1704 ! ! ! ! ! ! ! ! 128130 3743 1705 ! ! ! ! ! ! ! END 128140 3744 1706 ! ! ! ! ! ! ! ELSE 128150 3745 1707 ! ! ! ! ! ! ! outstring( 5, txt_range ) 128160 3746 1708 ! ! ! ! ! ! ! ; 128170 3747 1709 ! ! ! ! ! ! ! 128180 3748 1710 ! ! ! ! ! ! ! OTHERWISE 128190 3749 1711 ! ! ! ! ! ! ! write_error( 7, 5, 2 ) 128200 3750 1712 ! ! ! ! ! ! ! 128210 3751 1713 ! ! ! ! ! ! END; 128220 3752 1714 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 138 129010 3753 1715 ! ! ! ! ! ! "o": 129020 3754 1716 ! ! ! ! ! ! (*---------------------------------------------- 129030 3755 1717 ! ! ! ! ! ! . 1. send 10.10 to at-handler 129040 3756 1718 ! ! ! ! ! ! . if sac-rac-table should be updated 129050 3757 1719 ! ! ! ! ! ! . else send 6.0 129060 3758 1720 ! ! ! ! ! ! . 2. when 10.11 is received send 6.0 to ts-supervisor 129070 3759 1721 ! ! ! ! ! ! . 3. when 6.1 is received it is written on dc-console 129080 3760 1722 ! ! ! ! ! ! . 4. send 10.2 to all ac-connectors that belongs to 129090 3761 1723 ! ! ! ! ! ! . this at 129100 3762 1724 ! ! ! ! ! ! . 5. when 10.3 is received send a 6.2 to pac-connector 129110 3763 1725 ! ! ! ! ! ! . 6. when 6.3 is received a 10.0 is send to at-connector 129120 3764 1726 ! ! ! ! ! ! --------------------------------------------------*) 129130 3765 1727 ! ! ! ! ! ! 129140 3766 1728 ! ! ! ! ! ! CASE command2( 1 ) OF 129150 3767 1729 ! ! ! ! ! ! ! 129160 3768 1730 ! ! ! ! ! ! ! "a": (* create at *) 129170 3769 1731 ! ! ! ! ! ! ! IF params_ok( 10 ) THEN 129180 3770 1732 ! ! ! ! ! ! ! IF at_addr_ok( 1 ) AND ac_addr_ok( 7 ) AND ( params( 6 ) IN (.0..15.) ) 129190 3771 1733 ! ! ! ! ! ! ! AND aac_code_ok( params( 5 ) ) THEN 129200 3772 1734 ! ! ! ! ! ! ! IF no_of_at < max_no_at THEN 129210 3773 1735 ! ! ! ! ! ! ! IF find_ts( ts_ix, packaddr( 1 ).macro ) AND 129220 3774 1736 ! ! ! ! ! ! ! ( params( 6 ) IN ts_db( ts_ix ).ports_used ) THEN 129230 3775 1737 ! ! ! ! ! ! ! outstring( 4, txt_port ) 129240 3776 1738 ! ! ! ! ! ! ! ELSE 129250 3777 1739 ! ! ! ! ! ! ! BEGIN 129260 3778 1740 ! ! ! ! ! ! ! ! (*---------------- update -------------------------- 129270 3779 1741 ! ! ! ! ! ! ! ! . 129280 3780 1742 ! ! ! ! ! ! ! ! .1. search for a ac-address which is equal to <pac-address> 129290 3781 1743 ! ! ! ! ! ! ! ! .2. if ac-address does not exist write to dc-console 129300 3782 1744 ! ! ! ! ! ! ! ! .3. else search for a at-macro-address equal to <at-address>.macro 129310 3783 1745 ! ! ! ! ! ! ! ! .4. if such one does not exist snd a 10.10 to ath 129320 3784 1746 ! ! ! ! ! ! ! ! .5. else send a 6.0 to atc 129330 3785 1747 ! ! ! ! ! ! ! ! .6. go on as described above 129340 3786 1748 ! ! ! ! ! ! ! ! ------------------------------------------------------*) 129350 3787 1749 ! ! ! ! ! ! ! ! 129360 3788 1750 ! ! ! ! ! ! ! ! IF find_ac( ac_ix, packaddr( 7 ) ) THEN 129370 3789 1751 ! ! ! ! ! ! ! ! BEGIN 129380 3790 1752 ! ! ! ! ! ! ! ! ! 129390 3791 1753 ! ! ! ! ! ! ! ! ! IF find_at( at_ix, packaddr( 1 ) ) THEN 129400 3792 1754 ! ! ! ! ! ! ! ! ! write_error( 2, 1, no_of_at ) 129410 3793 1755 ! ! ! ! ! ! ! ! ! ELSE 129420 3794 1756 ! ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 139 130010 3795 1757 ! ! ! ! ! ! ! ! ! IF find_at( at_ix, empty_addr ) THEN 130020 3796 1758 ! ! ! ! ! ! ! ! ! WITH at_db( at_ix ), ts_db( ts_ix ) DO 130030 3797 1759 ! ! ! ! ! ! ! ! ! BEGIN 130040 3798 1760 ! ! ! ! ! ! ! ! ! ! 130050 3799 1761 ! ! ! ! ! ! ! ! ! ! no_of_at:= no_of_at + 1; 130060 3800 1762 ! ! ! ! ! ! ! ! ! ! 130070 3801 1763 ! ! ! ! ! ! ! ! ! ! (* update at data base *) 130080 3802 1764 ! ! ! ! ! ! ! ! ! ! at_addr:= packaddr( 1 ); 130090 3803 1765 ! ! ! ! ! ! ! ! ! ! at_code:= params( 5 ); 130100 3804 1766 ! ! ! ! ! ! ! ! ! ! lam_port:= params( 6 ); 130110 3805 1767 ! ! ! ! ! ! ! ! ! ! dc_request:= creating; 130120 3806 1768 ! ! ! ! ! ! ! ! ! ! no_ac_e:= no_ac_e + 1; 130130 3807 1769 ! ! ! ! ! ! ! ! ! ! ac_indxs( no_ac_e ):= ac_ix; (* pointer to ac_db *) 130140 3808 1770 ! ! ! ! ! ! ! ! ! ! ac_codes( no_ac_e ):= 0; (* pac addr code *) 130150 3809 1771 ! ! ! ! ! ! ! ! ! ! ts_indx:= ts_ix; 130160 3810 1772 ! ! ! ! ! ! ! ! ! ! ports_used:= ports_used + (.lam_port.); 130170 3811 1773 ! ! ! ! ! ! ! ! ! ! 130180 3812 1774 ! ! ! ! ! ! ! ! ! ! IF NOT find_sac_entry( sac_rac_ix, ts_indx, 130190 3813 1775 ! ! ! ! ! ! ! ! ! ! ac_db( ac_indxs( 1 ) ).ac_addr ) THEN 130200 3814 1776 ! ! ! ! ! ! ! ! ! ! BEGIN 130210 3815 1777 ! ! ! ! ! ! ! ! ! ! ! IF find_sac_entry( sac_rac_ix, ts_indx, empty_addr ) THEN 130220 3816 1778 ! ! ! ! ! ! ! ! ! ! ! BEGIN 130230 3817 1779 ! ! ! ! ! ! ! ! ! ! ! ! (* ac isn't in sac_rac_table at this ts *) 130240 3818 1780 ! ! ! ! ! ! ! ! ! ! ! ! 130250 3819 1781 ! ! ! ! ! ! ! ! ! ! ! ! no_sac_e:= no_sac_e + 1; 130260 3820 1782 ! ! ! ! ! ! ! ! ! ! ! ! 130270 3821 1783 ! ! ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS l: mess_1010_type DO 130280 3822 1784 ! ! ! ! ! ! ! ! ! ! ! ! WITH l, sac_rac_s( sac_rac_ix ) DO 130290 3823 1785 ! ! ! ! ! ! ! ! ! ! ! ! BEGIN 130300 3824 1786 ! ! ! ! ! ! ! ! ! ! ! ! ! 130310 3825 1787 ! ! ! ! ! ! ! ! ! ! ! ! ! sac_rac_index:= sac_rac_ix; 130320 3826 1788 ! ! ! ! ! ! ! ! ! ! ! ! ! sac_addr:= packaddr( 7 ); 130330 3827 1789 ! ! ! ! ! ! ! ! ! ! ! ! ! rac_addr:= alarmnetaddr( macroaddr( 0, 0, 0 ), 0 ); 130340 3828 1790 ! ! ! ! ! ! ! ! ! ! ! ! ! 130350 3829 1791 ! ! ! ! ! ! ! ! ! ! ! ! ! vca_addr:= sac_addr; 130360 3830 1792 ! ! ! ! ! ! ! ! ! ! ! ! ! vcm_addr:= rac_addr 130370 3831 1793 ! ! ! ! ! ! ! ! ! ! ! ! ! 130380 3832 1794 ! ! ! ! ! ! ! ! ! ! ! ! END; 130390 3833 1795 ! ! ! ! ! ! ! ! ! ! ! ! 130400 3834 1796 ! ! ! ! ! ! ! ! ! ! ! ! build_alarm_label( 10, 130410 3835 1797 ! ! ! ! ! ! ! ! ! ! ! ! addr( ts_address, ath_mic_addr ), 130420 3836 1798 ! ! ! ! ! ! ! ! ! ! ! ! netc_route, #haa, insert_code ) 130430 3837 1799 ! ! ! ! ! ! ! ! ! ! ! ! 130440 3838 1800 ! ! ! ! ! ! ! ! ! ! ! END 130450 3839 1801 ! ! ! ! ! ! ! ! ! ! ! ELSE 130460 3840 1802 ! ! ! ! ! ! ! ! ! ! ! write_error( 3, 4, no_sac_e ) \f outlist 81.05.26. 15.47. page 140 130470 3841 1803 ! ! ! ! ! ! ! ! ! ! ! 130480 3842 1804 ! ! ! ! ! ! ! ! ! ! END; 130490 3843 1805 ! ! ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 141 131010 3844 1806 ! ! ! ! ! ! ! ! ! ! (**) 131020 3845 1807 ! ! ! ! ! ! ! ! ! ! 131030 3846 1808 ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS l: mess_60_type DO 131040 3847 1809 ! ! ! ! ! ! ! ! ! ! WITH l DO 131050 3848 1810 ! ! ! ! ! ! ! ! ! ! BEGIN 131060 3849 1811 ! ! ! ! ! ! ! ! ! ! ! 131070 3850 1812 ! ! ! ! ! ! ! ! ! ! ! at_mic:= params( 4 ); 131080 3851 1813 ! ! ! ! ! ! ! ! ! ! ! lam_num:= 0; 131090 3852 1814 ! ! ! ! ! ! ! ! ! ! ! port_num:= params( 6 ); 131100 3853 1815 ! ! ! ! ! ! ! ! ! ! ! sac_rac_index:= sac_rac_ix 131110 3854 1816 ! ! ! ! ! ! ! ! ! ! ! 131120 3855 1817 ! ! ! ! ! ! ! ! ! ! END; 131130 3856 1818 ! ! ! ! ! ! ! ! ! ! 131140 3857 1819 ! ! ! ! ! ! ! ! ! ! build_alarm_label( 6, addr( at_addr.macro, ath_mic_addr ), 131150 3858 1820 ! ! ! ! ! ! ! ! ! ! netc_route, #h60, 0 ); 131160 3859 1821 ! ! ! ! ! ! ! ! ! ! 131170 3860 1822 ! ! ! ! ! ! ! ! ! ! (**) 131180 3861 1823 ! ! ! ! ! ! ! ! ! ! 131190 3862 1824 ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS l: mess_102_type DO 131200 3863 1825 ! ! ! ! ! ! ! ! ! ! WITH l DO 131210 3864 1826 ! ! ! ! ! ! ! ! ! ! BEGIN 131220 3865 1827 ! ! ! ! ! ! ! ! ! ! ! 131230 3866 1828 ! ! ! ! ! ! ! ! ! ! ! at_addr_tab.at_addr:= at_addr; 131240 3867 1829 ! ! ! ! ! ! ! ! ! ! ! at_addr_tab.addr_code:= at_code 131250 3868 1830 ! ! ! ! ! ! ! ! ! ! ! 131260 3869 1831 ! ! ! ! ! ! ! ! ! ! END; 131270 3870 1832 ! ! ! ! ! ! ! ! ! ! 131280 3871 1833 ! ! ! ! ! ! ! ! ! ! build_alarm_label( 5, ac_db( ac_ix ).ac_addr, 131290 3872 1834 ! ! ! ! ! ! ! ! ! ! netc_route, #ha2, insert_code ); 131300 3873 1835 ! ! ! ! ! ! ! ! ! ! 131310 3874 1836 ! ! ! ! ! ! ! ! ! ! (**) 131320 3875 1837 ! ! ! ! ! ! ! ! ! ! 131330 3876 1838 ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m104: mess_104_type DO 131340 3877 1839 ! ! ! ! ! ! ! ! ! ! WITH m104, ts_e DO 131350 3878 1840 ! ! ! ! ! ! ! ! ! ! BEGIN 131360 3879 1841 ! ! ! ! ! ! ! ! ! ! ! 131370 3880 1842 ! ! ! ! ! ! ! ! ! ! ! ts_addr:= at_addr.macro; 131380 3881 1843 ! ! ! ! ! ! ! ! ! ! ! ts_type:= 0; 131390 3882 1844 ! ! ! ! ! ! ! ! ! ! ! index:= sac_rac_ix 131400 3883 1845 ! ! ! ! ! ! ! ! ! ! ! 131410 3884 1846 ! ! ! ! ! ! ! ! ! ! END; 131420 3885 1847 ! ! ! ! ! ! ! ! ! ! 131430 3886 1848 ! ! ! ! ! ! ! ! ! ! build_alarm_label( 6, ac_db( ac_ix ).ac_addr, 131440 3887 1849 ! ! ! ! ! ! ! ! ! ! netc_route, #ha4, insert_code ); 131450 3888 1850 ! ! ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 142 132010 3889 1851 ! ! ! ! ! ! ! ! ! ! (**) 132020 3890 1852 ! ! ! ! ! ! ! ! ! ! 132030 3891 1853 ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS r: receipt_101_type DO 132040 3892 1854 ! ! ! ! ! ! ! ! ! ! WITH r, ac_addr_tab DO 132050 3893 1855 ! ! ! ! ! ! ! ! ! ! BEGIN 132060 3894 1856 ! ! ! ! ! ! ! ! ! ! ! 132070 3895 1857 ! ! ! ! ! ! ! ! ! ! ! addr_code:= ac_codes( no_ac_e ); (* pac addr code *) 132080 3896 1858 ! ! ! ! ! ! ! ! ! ! ! vc_index:= sac_rac_ix; 132090 3897 1859 ! ! ! ! ! ! ! ! ! ! ! block:= 1; 132100 3898 1860 ! ! ! ! ! ! ! ! ! ! ! steering:= true 132110 3899 1861 ! ! ! ! ! ! ! ! ! ! ! 132120 3900 1862 ! ! ! ! ! ! ! ! ! ! END; 132130 3901 1863 ! ! ! ! ! ! ! ! ! ! 132140 3902 1864 ! ! ! ! ! ! ! ! ! ! build_alarm_label( 6, 132150 3903 1865 ! ! ! ! ! ! ! ! ! ! at_addr, netc_route, #ha0, insert_code ); 132160 3904 1866 ! ! ! ! ! ! ! ! ! ! 132170 3905 1867 ! ! ! ! ! ! ! ! ! ! (**) 132180 3906 1868 ! ! ! ! ! ! ! ! ! ! 132190 3907 1869 ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m62: mess_62_type DO 132200 3908 1870 ! ! ! ! ! ! ! ! ! ! m62.at_adr:= at_addr; 132210 3909 1871 ! ! ! ! ! ! ! ! ! ! 132220 3910 1872 ! ! ! ! ! ! ! ! ! ! build_alarm_label( 4, 132230 3911 1873 ! ! ! ! ! ! ! ! ! ! ac_db( ac_ix ).ac_addr, netc_route, #h62, 0 ) 132240 3912 1874 ! ! ! ! ! ! ! ! ! ! 132250 3913 1875 ! ! ! ! ! ! ! ! ! ! (**) 132260 3914 1876 ! ! ! ! ! ! ! ! ! ! 132270 3915 1877 ! ! ! ! ! ! ! ! ! END 132280 3916 1878 ! ! ! ! ! ! ! ! ! ELSE 132290 3917 1879 ! ! ! ! ! ! ! ! ! write_error( 2, 4, no_of_at ) 132300 3918 1880 ! ! ! ! ! ! ! ! ! 132310 3919 1881 ! ! ! ! ! ! ! ! END 132320 3920 1882 ! ! ! ! ! ! ! ! ELSE 132330 3921 1883 ! ! ! ! ! ! ! ! write_error( 1, 2, no_of_ac ) 132340 3922 1884 ! ! ! ! ! ! ! ! 132350 3923 1885 ! ! ! ! ! ! ! END 132360 3924 1886 ! ! ! ! ! ! ! ELSE 132370 3925 1887 ! ! ! ! ! ! ! write_error( 2, 3, max_no_at ) 132380 3926 1888 ! ! ! ! ! ! ! ELSE 132390 3927 1889 ! ! ! ! ! ! ! outstring( 5, txt_param ) 132400 3928 1890 ! ! ! ! ! ! ! ; 132410 3929 1891 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 143 133010 3930 1892 ! ! ! ! ! ! ! "v" : (* create ac *) 133020 3931 1893 ! ! ! ! ! ! ! IF params_ok( 6 ) THEN 133030 3932 1894 ! ! ! ! ! ! ! IF ac_addr_ok( 1 ) AND aac_code_ok( params( 5 ) ) AND 133040 3933 1895 ! ! ! ! ! ! ! ( params( 6 ) IN (.0..15.) ) THEN 133050 3934 1896 ! ! ! ! ! ! ! IF no_of_ac < max_no_ac THEN 133060 3935 1897 ! ! ! ! ! ! ! IF find_ts( ts_ix, packaddr( 1 ).macro ) THEN 133070 3936 1898 ! ! ! ! ! ! ! IF NOT ( params( 6 ) IN ts_db( ts_ix ).ports_used ) THEN 133080 3937 1899 ! ! ! ! ! ! ! BEGIN 133090 3938 1900 ! ! ! ! ! ! ! ! 133100 3939 1901 ! ! ! ! ! ! ! ! (*--------------- update database ----------------- 133110 3940 1902 ! ! ! ! ! ! ! ! . 1. search for ac-address 133120 3941 1903 ! ! ! ! ! ! ! ! . 2. if ac-address exist in database write to dc-console 133130 3942 1904 ! ! ! ! ! ! ! ! . 3. else find first empty entry in database 133140 3943 1905 ! ! ! ! ! ! ! ! . 4. initialize entry 133150 3944 1906 ! ! ! ! ! ! ! ! . 5. put ac-address into databaseentry 133160 3945 1907 ! ! ! ! ! ! ! ! -------------------------------------------------------*) 133170 3946 1908 ! ! ! ! ! ! ! ! 133180 3947 1909 ! ! ! ! ! ! ! ! 133190 3948 1910 ! ! ! ! ! ! ! ! IF find_ac( ac_ix, packaddr( 1 ) ) THEN 133200 3949 1911 ! ! ! ! ! ! ! ! outstring( 5, txt_known ) 133210 3950 1912 ! ! ! ! ! ! ! ! ELSE 133220 3951 1913 ! ! ! ! ! ! ! ! IF find_ac( ac_ix, empty_addr ) THEN 133230 3952 1914 ! ! ! ! ! ! ! ! WITH ac_db( ac_ix ), ts_db( ts_ix ) DO 133240 3953 1915 ! ! ! ! ! ! ! ! BEGIN 133250 3954 1916 ! ! ! ! ! ! ! ! ! 133260 3955 1917 ! ! ! ! ! ! ! ! ! no_of_ac:= no_of_ac + 1; 133270 3956 1918 ! ! ! ! ! ! ! ! ! 133280 3957 1919 ! ! ! ! ! ! ! ! ! (* update ac data base *) 133290 3958 1920 ! ! ! ! ! ! ! ! ! ac_addr:= packaddr( 1 ); 133300 3959 1921 ! ! ! ! ! ! ! ! ! ac_code:= params( 5 ); 133310 3960 1922 ! ! ! ! ! ! ! ! ! lam_port:= params( 6 ); 133320 3961 1923 ! ! ! ! ! ! ! ! ! ts_indx:= ts_ix; 133330 3962 1924 ! ! ! ! ! ! ! ! ! ports_used:= ports_used + (.lam_port.); 133340 3963 1925 ! ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 144 134010 3964 1926 ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS l: mess_70_type DO 134020 3965 1927 ! ! ! ! ! ! ! ! ! WITH l DO 134030 3966 1928 ! ! ! ! ! ! ! ! ! BEGIN 134040 3967 1929 ! ! ! ! ! ! ! ! ! ! 134050 3968 1930 ! ! ! ! ! ! ! ! ! ! ac_mic:= params( 4 ); 134060 3969 1931 ! ! ! ! ! ! ! ! ! ! ac_typ:= vcat; 134070 3970 1932 ! ! ! ! ! ! ! ! ! ! lam_num:= 0; 134080 3971 1933 ! ! ! ! ! ! ! ! ! ! port_num:= params( 6 ); 134090 3972 1934 ! ! ! ! ! ! ! ! ! ! (*q 134100 3973 1935 ! ! ! ! ! ! ! ! ! ! if test_b then 134110 3974 1936 ! ! ! ! ! ! ! ! ! ! testout( opzone,"7.0 ready ", 0 ); 134120 3975 1937 ! ! ! ! ! ! ! ! ! ! q*) 134130 3976 1938 ! ! ! ! ! ! ! ! ! ! 134140 3977 1939 ! ! ! ! ! ! ! ! ! END; 134150 3978 1940 ! ! ! ! ! ! ! ! ! 134160 3979 1941 ! ! ! ! ! ! ! ! ! build_alarm_label( 5, addr( ac_addr.macro, vch_mic_addr ), 134170 3980 1942 ! ! ! ! ! ! ! ! ! netc_route, #h70, 0 ); 134180 3981 1943 ! ! ! ! ! ! ! ! ! 134190 3982 1944 ! ! ! ! ! ! ! ! ! (**) 134200 3983 1945 ! ! ! ! ! ! ! ! ! 134210 3984 1946 ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m106: mess_106_type DO 134220 3985 1947 ! ! ! ! ! ! ! ! ! WITH m106, vcm_at_e DO 134230 3986 1948 ! ! ! ! ! ! ! ! ! BEGIN 134240 3987 1949 ! ! ! ! ! ! ! ! ! ! 134250 3988 1950 ! ! ! ! ! ! ! ! ! ! vc_code:= 0; 134260 3989 1951 ! ! ! ! ! ! ! ! ! ! vc_addr:= addr( dc_macro, 0 ); 134270 3990 1952 ! ! ! ! ! ! ! ! ! ! vc_arrange:= 0; 134280 3991 1953 ! ! ! ! ! ! ! ! ! ! vc_relief:= false 134290 3992 1954 ! ! ! ! ! ! ! ! ! ! 134300 3993 1955 ! ! ! ! ! ! ! ! ! END; 134310 3994 1956 ! ! ! ! ! ! ! ! ! 134320 3995 1957 ! ! ! ! ! ! ! ! ! build_alarm_label( 7, ac_addr, 134330 3996 1958 ! ! ! ! ! ! ! ! ! netc_route, #ha6, insert_code ); 134340 3997 1959 ! ! ! ! ! ! ! ! ! 134350 3998 1960 ! ! ! ! ! ! ! ! ! (**) 134360 3999 1961 ! ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 145 135010 4000 1962 ! ! ! ! ! ! ! ! ! FOR ac_ix:= 1 TO max_no_ac DO 135020 4001 1963 ! ! ! ! ! ! ! ! ! WITH ac_db( ac_ix ) DO 135030 4002 1964 ! ! ! ! ! ! ! ! ! BEGIN 135040 4003 1965 ! ! ! ! ! ! ! ! ! ! 135050 4004 1966 ! ! ! ! ! ! ! ! ! ! IF ( ac_addr <> empty_addr ) AND 135060 4005 1967 ! ! ! ! ! ! ! ! ! ! ( ac_addr <> packaddr( 1 ) ) THEN 135070 4006 1968 ! ! ! ! ! ! ! ! ! ! BEGIN 135080 4007 1969 ! ! ! ! ! ! ! ! ! ! ! 135090 4008 1970 ! ! ! ! ! ! ! ! ! ! ! (**) 135100 4009 1971 ! ! ! ! ! ! ! ! ! ! ! 135110 4010 1972 ! ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m106: mess_106_type DO 135120 4011 1973 ! ! ! ! ! ! ! ! ! ! ! WITH m106, vcm_at_e DO 135130 4012 1974 ! ! ! ! ! ! ! ! ! ! ! BEGIN 135140 4013 1975 ! ! ! ! ! ! ! ! ! ! ! ! 135150 4014 1976 ! ! ! ! ! ! ! ! ! ! ! ! vc_code:= ac_code; 135160 4015 1977 ! ! ! ! ! ! ! ! ! ! ! ! vc_addr:= ac_addr; 135170 4016 1978 ! ! ! ! ! ! ! ! ! ! ! ! vc_arrange:= 0; 135180 4017 1979 ! ! ! ! ! ! ! ! ! ! ! ! vc_relief:= false 135190 4018 1980 ! ! ! ! ! ! ! ! ! ! ! ! 135200 4019 1981 ! ! ! ! ! ! ! ! ! ! ! END; 135210 4020 1982 ! ! ! ! ! ! ! ! ! ! ! 135220 4021 1983 ! ! ! ! ! ! ! ! ! ! ! build_alarm_label( 7, packaddr( 1 ), 135230 4022 1984 ! ! ! ! ! ! ! ! ! ! ! netc_route, #ha6, insert_code ); 135240 4023 1985 ! ! ! ! ! ! ! ! ! ! ! 135250 4024 1986 ! ! ! ! ! ! ! ! ! ! ! (**) 135260 4025 1987 ! ! ! ! ! ! ! ! ! ! ! 135270 4026 1988 ! ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m106: mess_106_type DO 135280 4027 1989 ! ! ! ! ! ! ! ! ! ! ! WITH m106, vcm_at_e DO 135290 4028 1990 ! ! ! ! ! ! ! ! ! ! ! BEGIN 135300 4029 1991 ! ! ! ! ! ! ! ! ! ! ! ! 135310 4030 1992 ! ! ! ! ! ! ! ! ! ! ! ! vc_code:= params( 5 ); 135320 4031 1993 ! ! ! ! ! ! ! ! ! ! ! ! vc_addr:= packaddr( 1 ); 135330 4032 1994 ! ! ! ! ! ! ! ! ! ! ! ! vc_arrange:= 0; 135340 4033 1995 ! ! ! ! ! ! ! ! ! ! ! ! vc_relief:= false 135350 4034 1996 ! ! ! ! ! ! ! ! ! ! ! ! 135360 4035 1997 ! ! ! ! ! ! ! ! ! ! ! END; 135370 4036 1998 ! ! ! ! ! ! ! ! ! ! ! 135380 4037 1999 ! ! ! ! ! ! ! ! ! ! ! build_alarm_label( 7, ac_addr, 135390 4038 2000 ! ! ! ! ! ! ! ! ! ! ! netc_route, #ha6, insert_code ) 135400 4039 2001 ! ! ! ! ! ! ! ! ! ! ! 135410 4040 2002 ! ! ! ! ! ! ! ! ! ! END 135420 4041 2003 ! ! ! ! ! ! ! ! ! ! 135430 4042 2004 ! ! ! ! ! ! ! ! ! ! (**) 135440 4043 2005 ! ! ! ! ! ! ! ! ! ! 135450 4044 2006 ! ! ! ! ! ! ! ! ! END 135460 4045 2007 ! ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 146 136010 4046 2008 ! ! ! ! ! ! ! ! END 136020 4047 2009 ! ! ! ! ! ! ! ! ELSE 136030 4048 2010 ! ! ! ! ! ! ! ! write_error( 1, 4, no_of_ac ) 136040 4049 2011 ! ! ! ! ! ! ! ! 136050 4050 2012 ! ! ! ! ! ! ! END 136060 4051 2013 ! ! ! ! ! ! ! ELSE 136070 4052 2014 ! ! ! ! ! ! ! outstring( 4, txt_port ) 136080 4053 2015 ! ! ! ! ! ! ! ELSE 136090 4054 2016 ! ! ! ! ! ! ! write_error( 3, 2, no_of_ts ) 136100 4055 2017 ! ! ! ! ! ! ! ELSE 136110 4056 2018 ! ! ! ! ! ! ! write_error( 1, 3, max_no_ac ) 136120 4057 2019 ! ! ! ! ! ! ! ELSE 136130 4058 2020 ! ! ! ! ! ! ! outstring( 5, txt_param ) 136140 4059 2021 ! ! ! ! ! ! ! ; 136150 4060 2022 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 147 137010 4061 2023 ! ! ! ! ! ! ! "t" : (* terminalstation *) 137020 4062 2024 ! ! ! ! ! ! ! IF ( no_of_ts < max_no_ts ) THEN 137030 4063 2025 ! ! ! ! ! ! ! IF find_ts( ts_ix, macroaddr( 0, 0, 0 ) ) THEN 137040 4064 2026 ! ! ! ! ! ! ! BEGIN 137050 4065 2027 ! ! ! ! ! ! ! ! 137060 4066 2028 ! ! ! ! ! ! ! ! px_ix:= ts_ix; 137070 4067 2029 ! ! ! ! ! ! ! ! 137080 4068 2030 ! ! ! ! ! ! ! ! IF update_px_db( px_ix ) THEN 137090 4069 2031 ! ! ! ! ! ! ! ! WITH px_db( px_ix ) DO 137100 4070 2032 ! ! ! ! ! ! ! ! IF find_ts( ts_ix, mac_address ) THEN 137110 4071 2033 ! ! ! ! ! ! ! ! outstring( 5, txt_known ) 137120 4072 2034 ! ! ! ! ! ! ! ! ELSE 137130 4073 2035 ! ! ! ! ! ! ! ! IF find_ts( ts_ix, macroaddr( 0, 0, 0 ) ) THEN 137140 4074 2036 ! ! ! ! ! ! ! ! WITH ts_db( ts_ix ) DO 137150 4075 2037 ! ! ! ! ! ! ! ! BEGIN 137160 4076 2038 ! ! ! ! ! ! ! ! ! 137170 4077 2039 ! ! ! ! ! ! ! ! ! no_of_ts:= no_of_ts + 1; 137180 4078 2040 ! ! ! ! ! ! ! ! ! 137190 4079 2041 ! ! ! ! ! ! ! ! ! ts_address:= mac_address; 137200 4080 2042 ! ! ! ! ! ! ! ! ! 137210 4081 2043 ! ! ! ! ! ! ! ! ! IF no_of_ts = 1 THEN 137220 4082 2044 ! ! ! ! ! ! ! ! ! ports_used:= ports_used + (.1.); (* dcs port number *) 137230 4083 2045 ! ! ! ! ! ! ! ! ! 137240 4084 2046 ! ! ! ! ! ! ! ! ! update_pax_table( netc_route1, dc_macro, 137250 4085 2047 ! ! ! ! ! ! ! ! ! px_ix, fe_ix, modify_code ); 137260 4086 2048 ! ! ! ! ! ! ! ! ! 137270 4087 2049 ! ! ! ! ! ! ! ! ! IF ( fe_ix > max_locals ) THEN 137280 4088 2050 ! ! ! ! ! ! ! ! ! BEGIN (* ... update PAX-table at remote TS ... *) 137290 4089 2051 ! ! ! ! ! ! ! ! ! ! 137300 4090 2052 ! ! ! ! ! ! ! ! ! ! update_pax_table( netc_route, mac_address, 137310 4091 2053 ! ! ! ! ! ! ! ! ! ! px_ix, 1, modify_code ); 137320 4092 2054 ! ! ! ! ! ! ! ! ! ! 137330 4093 2055 ! ! ! ! ! ! ! ! ! ! FOR w_px_ix:= 0 TO no_of_ts DO 137340 4094 2056 ! ! ! ! ! ! ! ! ! ! WITH px_db( w_px_ix ) DO 137350 4095 2057 ! ! ! ! ! ! ! ! ! ! IF ( mac_address <> ts_address ) THEN 137360 4096 2058 ! ! ! ! ! ! ! ! ! ! update_pax_table( netc_route, ts_address, 137370 4097 2059 ! ! ! ! ! ! ! ! ! ! w_px_ix, max_locals + 1 + w_px_ix, modify_code ) 137380 4098 2060 ! ! ! ! ! ! ! ! ! ! 137390 4099 2061 ! ! ! ! ! ! ! ! ! END; 137400 4100 2062 ! ! ! ! ! ! ! ! ! 137410 4101 2063 ! ! ! ! ! ! ! ! ! FOR w_px_ix:= 1 TO no_of_ts DO 137420 4102 2064 ! ! ! ! ! ! ! ! ! WITH px_db( w_px_ix ) DO 137430 4103 2065 ! ! ! ! ! ! ! ! ! IF ( mac_address <> ts_address ) AND ( fe_ix > max_locals ) THEN 137440 4104 2066 ! ! ! ! ! ! ! ! ! (* ... update PAX tables at existing remote TS's ... *) 137450 4105 2067 ! ! ! ! ! ! ! ! ! update_pax_table( netc_route, mac_address, 137460 4106 2068 ! ! ! ! ! ! ! ! ! px_ix, max_locals + 1 + px_ix, modify_code ); \f outlist 81.05.26. 15.47. page 148 137470 4107 2069 ! ! ! ! ! ! ! ! ! 137480 4108 2070 ! ! ! ! ! ! ! ! ! IF nt_on AND NOT nil( timeout_msg ) THEN 137490 4109 2071 ! ! ! ! ! ! ! ! ! timerbook( book_up_msg, timeout_msg, nt_time, 0, 137500 4110 2072 ! ! ! ! ! ! ! ! ! timeout_sem^, timeout_answer_sem.w^ ); 137510 4111 2073 ! ! ! ! ! ! ! ! ! 137520 4112 2074 ! ! ! ! ! ! ! ! ! 137530 4113 2075 ! ! ! ! ! ! ! ! ! 137540 4114 2076 ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m1100: mess_110_type DO 137550 4115 2077 ! ! ! ! ! ! ! ! ! WITH m1100 DO 137560 4116 2078 ! ! ! ! ! ! ! ! ! BEGIN 137570 4117 2079 ! ! ! ! ! ! ! ! ! ! 137580 4118 2080 ! ! ! ! ! ! ! ! ! ! tss_macro:= ts_address; 137590 4119 2081 ! ! ! ! ! ! ! ! ! ! xx:= 0; 137600 4120 2082 ! ! ! ! ! ! ! ! ! ! dc_ts_macro:= dc_macro 137610 4121 2083 ! ! ! ! ! ! ! ! ! ! 137620 4122 2084 ! ! ! ! ! ! ! ! ! END; 137630 4123 2085 ! ! ! ! ! ! ! ! ! 137640 4124 2086 ! ! ! ! ! ! ! ! ! build_alarm_label( 6, addr( ts_address, tss_mic_addr ), 137650 4125 2087 ! ! ! ! ! ! ! ! ! netc_route, #hb0, insert_code ) 137660 4126 2088 ! ! ! ! ! ! ! ! ! 137670 4127 2089 ! ! ! ! ! ! ! ! END 137680 4128 2090 ! ! ! ! ! ! ! ! 137690 4129 2091 ! ! ! ! ! ! ! END 137700 4130 2092 ! ! ! ! ! ! ! ELSE 137710 4131 2093 ! ! ! ! ! ! ! write_error( 3, 3, max_no_ts ) 137720 4132 2094 ! ! ! ! ! ! ! ELSE 137730 4133 2095 ! ! ! ! ! ! ! outstring( 5, txt_param ) 137740 4134 2096 ! ! ! ! ! ! ! ; 137750 4135 2097 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 149 138010 4136 2098 ! ! ! ! ! ! ! OTHERWISE 138020 4137 2099 ! ! ! ! ! ! ! write_error( 7, 5, 2 ) 138030 4138 2100 ! ! ! ! ! ! ! 138040 4139 2101 ! ! ! ! ! ! END; (* case command2(1) *) 138050 4140 2102 ! ! ! ! ! ! 138060 4141 2103 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 150 139010 4142 2104 ! ! ! ! ! ! "s": 139020 4143 2105 ! ! ! ! ! ! (*------------------------------------------------- 139030 4144 2106 ! ! ! ! ! ! . 1. if <address> = ac-address then send 9.0 to ac-connector 139040 4145 2107 ! ! ! ! ! ! . 2. if <address> = at-address then do the following 139050 4146 2108 ! ! ! ! ! ! . 3. send 6.4 to pac-connector 139060 4147 2109 ! ! ! ! ! ! . 4. when 6.5 is received it is written at dc-console 139070 4148 2110 ! ! ! ! ! ! . 5. if 6.5 is a pos. receipt a 9.0 is send to at-connector 139080 4149 2111 ! ! ! ! ! ! . 6. when 9.1 is received it is written at dc-console 139090 4150 2112 ! ! ! ! ! ! ---------------------------------------------------*) 139100 4151 2113 ! ! ! ! ! ! 139110 4152 2114 ! ! ! ! ! ! CASE command1( 3 ) OF 139120 4153 2115 ! ! ! ! ! ! ! 139130 4154 2116 ! ! ! ! ! ! ! "a", "o", "r": 139140 4155 2117 ! ! ! ! ! ! ! CASE command2( 1 ) OF 139150 4156 2118 ! ! ! ! ! ! ! ! 139160 4157 2119 ! ! ! ! ! ! ! ! "p": 139170 4158 2120 ! ! ! ! ! ! ! ! IF params_ok( 5 - ord( command1( 3 ) = "o" ) ) THEN 139180 4159 2121 ! ! ! ! ! ! ! ! IF addr_ok( 1 ) THEN 139190 4160 2122 ! ! ! ! ! ! ! ! IF params( 4 ) <= 255 THEN 139200 4161 2123 ! ! ! ! ! ! ! ! BEGIN 139210 4162 2124 ! ! ! ! ! ! ! ! ! 139220 4163 2125 ! ! ! ! ! ! ! ! ! IF find_ac( ac_ix, packaddr( 1 ) ) THEN 139230 4164 2126 ! ! ! ! ! ! ! ! ! WITH ac_db( ac_ix ) DO 139240 4165 2127 ! ! ! ! ! ! ! ! ! BEGIN 139250 4166 2128 ! ! ! ! ! ! ! ! ! ! (* start poll ac *) 139260 4167 2129 ! ! ! ! ! ! ! ! ! ! 139270 4168 2130 ! ! ! ! ! ! ! ! ! ! IF ( noofparams = 5 ) THEN 139280 4169 2131 ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS l: mess_90_type DO 139290 4170 2132 ! ! ! ! ! ! ! ! ! ! WITH l DO 139300 4171 2133 ! ! ! ! ! ! ! ! ! ! BEGIN 139310 4172 2134 ! ! ! ! ! ! ! ! ! ! ! 139320 4173 2135 ! ! ! ! ! ! ! ! ! ! ! trans_err:= 0; 139330 4174 2136 ! ! ! ! ! ! ! ! ! ! ! poll_int:= params( 5 ); 139340 4175 2137 ! ! ! ! ! ! ! ! ! ! ! poll_delay:= poll_int 139350 4176 2138 ! ! ! ! ! ! ! ! ! ! ! 139360 4177 2139 ! ! ! ! ! ! ! ! ! ! END; 139370 4178 2140 ! ! ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 151 140010 4179 2141 ! ! ! ! ! ! ! ! ! ! CASE command1( 3 ) OF 140020 4180 2142 ! ! ! ! ! ! ! ! ! ! ! "a" : 140030 4181 2143 ! ! ! ! ! ! ! ! ! ! ! dc_request:= start_code; 140040 4182 2144 ! ! ! ! ! ! ! ! ! ! ! 140050 4183 2145 ! ! ! ! ! ! ! ! ! ! ! "o" : 140060 4184 2146 ! ! ! ! ! ! ! ! ! ! ! dc_request:= stop_code; 140070 4185 2147 ! ! ! ! ! ! ! ! ! ! ! 140080 4186 2148 ! ! ! ! ! ! ! ! ! ! ! "r" : 140090 4187 2149 ! ! ! ! ! ! ! ! ! ! ! dc_request:= service_code; 140100 4188 2150 ! ! ! ! ! ! ! ! ! ! ! 140110 4189 2151 ! ! ! ! ! ! ! ! ! ! ! OTHERWISE 140120 4190 2152 ! ! ! ! ! ! ! ! ! ! END; 140130 4191 2153 ! ! ! ! ! ! ! ! ! ! 140140 4192 2154 ! ! ! ! ! ! ! ! ! ! build_alarm_label( 4 * ord( noofparams = 5 ), 140150 4193 2155 ! ! ! ! ! ! ! ! ! ! packaddr( 1 ), netc_route, #h90, dc_request - ord( dc_request = service_code ) ) 140160 4194 2156 ! ! ! ! ! ! ! ! ! ! 140170 4195 2157 ! ! ! ! ! ! ! ! ! END 140180 4196 2158 ! ! ! ! ! ! ! ! ! ELSE 140190 4197 2159 ! ! ! ! ! ! ! ! ! outstring( 6, txt_unknown ) 140200 4198 2160 ! ! ! ! ! ! ! ! ! 140210 4199 2161 ! ! ! ! ! ! ! ! END 140220 4200 2162 ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 152 141010 4201 2163 ! ! ! ! ! ! ! ! ELSE 141020 4202 2164 ! ! ! ! ! ! ! ! 141030 4203 2165 ! ! ! ! ! ! ! ! (* start- stop- or service-poll at *) 141040 4204 2166 ! ! ! ! ! ! ! ! 141050 4205 2167 ! ! ! ! ! ! ! ! IF find_at( at_ix, packaddr( 1 ) ) THEN 141060 4206 2168 ! ! ! ! ! ! ! ! WITH at_db( at_ix ) DO 141070 4207 2169 ! ! ! ! ! ! ! ! IF ( dc_request = creating ) THEN 141080 4208 2170 ! ! ! ! ! ! ! ! write_error( 2, 9, ord( dc_request ) ) 141090 4209 2171 ! ! ! ! ! ! ! ! ELSE 141100 4210 2172 ! ! ! ! ! ! ! ! BEGIN 141110 4211 2173 ! ! ! ! ! ! ! ! ! 141120 4212 2174 ! ! ! ! ! ! ! ! ! CASE command1( 3 ) OF 141130 4213 2175 ! ! ! ! ! ! ! ! ! ! "a" : 141140 4214 2176 ! ! ! ! ! ! ! ! ! ! dc_request:= start_code; 141150 4215 2177 ! ! ! ! ! ! ! ! ! ! 141160 4216 2178 ! ! ! ! ! ! ! ! ! ! "o" : 141170 4217 2179 ! ! ! ! ! ! ! ! ! ! dc_request:= stop_code; 141180 4218 2180 ! ! ! ! ! ! ! ! ! ! 141190 4219 2181 ! ! ! ! ! ! ! ! ! ! "r" : 141200 4220 2182 ! ! ! ! ! ! ! ! ! ! dc_request:= service_code; 141210 4221 2183 ! ! ! ! ! ! ! ! ! ! 141220 4222 2184 ! ! ! ! ! ! ! ! ! ! OTHERWISE 141230 4223 2185 ! ! ! ! ! ! ! ! ! END; 141240 4224 2186 ! ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 153 142010 4225 2187 ! ! ! ! ! ! ! ! ! IF ( ( dc_request - ord( dc_request = service_code ) ) = ac_request ) THEN 142020 4226 2188 ! ! ! ! ! ! ! ! ! BEGIN (* send 9.0 to atc *) 142030 4227 2189 ! ! ! ! ! ! ! ! ! ! 142040 4228 2190 ! ! ! ! ! ! ! ! ! ! IF ( noofparams = 5 ) THEN 142050 4229 2191 ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m: mess_90_type DO 142060 4230 2192 ! ! ! ! ! ! ! ! ! ! WITH m DO 142070 4231 2193 ! ! ! ! ! ! ! ! ! ! BEGIN 142080 4232 2194 ! ! ! ! ! ! ! ! ! ! ! 142090 4233 2195 ! ! ! ! ! ! ! ! ! ! ! trans_err:= 0; 142100 4234 2196 ! ! ! ! ! ! ! ! ! ! ! poll_delay:= params( 5 ); 142110 4235 2197 ! ! ! ! ! ! ! ! ! ! ! poll_int:= poll_delay 142120 4236 2198 ! ! ! ! ! ! ! ! ! ! ! 142130 4237 2199 ! ! ! ! ! ! ! ! ! ! END; 142140 4238 2200 ! ! ! ! ! ! ! ! ! ! 142150 4239 2201 ! ! ! ! ! ! ! ! ! ! build_alarm_label( 4 * ord( noofparams = 5 ), 142160 4240 2202 ! ! ! ! ! ! ! ! ! ! at_addr, netc_route, #h90, dc_request ); 142170 4241 2203 ! ! ! ! ! ! ! ! ! ! 142180 4242 2204 ! ! ! ! ! ! ! ! ! ! dc_request:= no_request; 142190 4243 2205 ! ! ! ! ! ! ! ! ! ! ac_request:= no_request 142200 4244 2206 ! ! ! ! ! ! ! ! ! ! 142210 4245 2207 ! ! ! ! ! ! ! ! ! END 142220 4246 2208 ! ! ! ! ! ! ! ! ! ELSE 142230 4247 2209 ! ! ! ! ! ! ! ! ! BEGIN (* send request to ac and update delay *) 142240 4248 2210 ! ! ! ! ! ! ! ! ! ! 142250 4249 2211 ! ! ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS m: mess_62_type DO 142260 4250 2212 ! ! ! ! ! ! ! ! ! ! WITH m, a_label DO 142270 4251 2213 ! ! ! ! ! ! ! ! ! ! at_adr:= at_addr; 142280 4252 2214 ! ! ! ! ! ! ! ! ! ! 142290 4253 2215 ! ! ! ! ! ! ! ! ! ! build_alarm_label( 4, ac_db( ac_indxs( 1 ) ).ac_addr, 142300 4254 2216 ! ! ! ! ! ! ! ! ! ! netc_route, #h64, dc_request - ord( dc_request = service_code ) ); 142310 4255 2217 ! ! ! ! ! ! ! ! ! ! 142320 4256 2218 ! ! ! ! ! ! ! ! ! ! IF ( noofparams = 5 ) THEN 142330 4257 2219 ! ! ! ! ! ! ! ! ! ! poll_delay:= params( 5 ) 142340 4258 2220 ! ! ! ! ! ! ! ! ! ! 142350 4259 2221 ! ! ! ! ! ! ! ! ! END 142360 4260 2222 ! ! ! ! ! ! ! ! ! 142370 4261 2223 ! ! ! ! ! ! ! ! END 142380 4262 2224 ! ! ! ! ! ! ! ! ; 142390 4263 2225 ! ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 154 143010 4264 2226 ! ! ! ! ! ! ! ! "k": 143020 4265 2227 ! ! ! ! ! ! ! ! 143030 4266 2228 ! ! ! ! ! ! ! ! CASE command1( 3 ) OF 143040 4267 2229 ! ! ! ! ! ! ! ! ! 143050 4268 2230 ! ! ! ! ! ! ! ! ! "a": 143060 4269 2231 ! ! ! ! ! ! ! ! ! IF params_ok( 1 ) THEN 143070 4270 2232 ! ! ! ! ! ! ! ! ! BEGIN 143080 4271 2233 ! ! ! ! ! ! ! ! ! ! 143090 4272 2234 ! ! ! ! ! ! ! ! ! ! nt_on:= true; 143100 4273 2235 ! ! ! ! ! ! ! ! ! ! nt_time:= params( 1 ); 143110 4274 2236 ! ! ! ! ! ! ! ! ! ! 143120 4275 2237 ! ! ! ! ! ! ! ! ! ! IF NOT nil( timeout_msg ) THEN 143130 4276 2238 ! ! ! ! ! ! ! ! ! ! timerbook( book_up_msg, timeout_msg, nt_time, 0, timeout_sem^, timeout_answer_sem.s^ ) 143140 4277 2239 ! ! ! ! ! ! ! ! ! ! 143150 4278 2240 ! ! ! ! ! ! ! ! ! END 143160 4279 2241 ! ! ! ! ! ! ! ! ! ; 143170 4280 2242 ! ! ! ! ! ! ! ! ! 143180 4281 2243 ! ! ! ! ! ! ! ! ! "o": 143190 4282 2244 ! ! ! ! ! ! ! ! ! nt_on:= false 143200 4283 2245 ! ! ! ! ! ! ! ! ! ; 143210 4284 2246 ! ! ! ! ! ! ! ! ! 143220 4285 2247 ! ! ! ! ! ! ! ! ! OTHERWISE 143230 4286 2248 ! ! ! ! ! ! ! ! END 143240 4287 2249 ! ! ! ! ! ! ! ! ; 143250 4288 2250 ! ! ! ! ! ! ! ! 143260 4289 2251 ! ! ! ! ! ! ! ! 143270 4290 2252 ! ! ! ! ! ! ! ! OTHERWISE 143280 4291 2253 ! ! ! ! ! ! ! ! write_error( 6, 5, 2 ) 143290 4292 2254 ! ! ! ! ! ! ! END 143300 4293 2255 ! ! ! ! ! ! ! ; 143310 4294 2256 ! ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 155 144010 4295 2257 ! ! ! ! ! ! ! "t": 144020 4296 2258 ! ! ! ! ! ! ! IF ( command2( 1 ) IN (."m", "s", "t".) ) THEN 144030 4297 2259 ! ! ! ! ! ! ! BEGIN 144040 4298 2260 ! ! ! ! ! ! ! ! 144050 4299 2261 ! ! ! ! ! ! ! ! LOCK tsc_listen_ref AS l: mess_11x_type DO 144060 4300 2262 ! ! ! ! ! ! ! ! WITH l DO 144070 4301 2263 ! ! ! ! ! ! ! ! BEGIN 144080 4302 2264 ! ! ! ! ! ! ! ! ! 144090 4303 2265 ! ! ! ! ! ! ! ! ! CASE command2(1) OF 144100 4304 2266 ! ! ! ! ! ! ! ! ! ! "m": 144110 4305 2267 ! ! ! ! ! ! ! ! ! ! opr_code:= #hbc; 144120 4306 2268 ! ! ! ! ! ! ! ! ! ! 144130 4307 2269 ! ! ! ! ! ! ! ! ! ! "s": 144140 4308 2270 ! ! ! ! ! ! ! ! ! ! IF command2( 2 ) = "e" THEN 144150 4309 2271 ! ! ! ! ! ! ! ! ! ! opr_code:= #hb6 144160 4310 2272 ! ! ! ! ! ! ! ! ! ! ELSE 144170 4311 2273 ! ! ! ! ! ! ! ! ! ! opr_code:= #hba; 144180 4312 2274 ! ! ! ! ! ! ! ! ! ! 144190 4313 2275 ! ! ! ! ! ! ! ! ! ! "t": 144200 4314 2276 ! ! ! ! ! ! ! ! ! ! opr_code:= #hb2; 144210 4315 2277 ! ! ! ! ! ! ! ! ! ! 144220 4316 2278 ! ! ! ! ! ! ! ! ! ! OTHERWISE 144230 4317 2279 ! ! ! ! ! ! ! ! ! END; 144240 4318 2280 ! ! ! ! ! ! ! ! ! 144250 4319 2281 ! ! ! ! ! ! ! ! ! counter:= params( 5 ) 144260 4320 2282 ! ! ! ! ! ! ! ! ! 144270 4321 2283 ! ! ! ! ! ! ! ! END; 144280 4322 2284 ! ! ! ! ! ! ! ! 144290 4323 2285 ! ! ! ! ! ! ! ! build_alarm_label( 2, 144300 4324 2286 ! ! ! ! ! ! ! ! packaddr( 1 ), netc_route, opr_code, modify_code ) 144310 4325 2287 ! ! ! ! ! ! ! ! 144320 4326 2288 ! ! ! ! ! ! ! END 144330 4327 2289 ! ! ! ! ! ! ! ELSE 144340 4328 2290 ! ! ! ! ! ! ! write_error( 7, 5, 2 ) 144350 4329 2291 ! ! ! ! ! ! ! ; 144360 4330 2292 ! ! ! ! ! ! ! 144370 4331 2293 ! ! ! ! ! ! ! OTHERWISE 144380 4332 2294 ! ! ! ! ! ! ! write_error( 7, 5, 1 ) 144390 4333 2295 ! ! ! ! ! ! ! 144400 4334 2296 ! ! ! ! ! ! END 144410 4335 2297 ! ! ! ! ! ! ; 144420 4336 2298 ! ! ! ! ! ! 144430 4337 2299 ! ! ! ! ! ! \f outlist 81.05.26. 15.47. page 156 145010 4338 2300 ! ! ! ! ! ! cr, esc, dc3: 145020 4339 2301 ! ! ! ! ! ! start_com_line 145030 4340 2302 ! ! ! ! ! ! ; 145040 4341 2303 ! ! ! ! ! ! 145050 4342 2304 ! ! ! ! ! ! OTHERWISE 145060 4343 2305 ! ! ! ! ! ! write_error( 7, 5, 1 ) 145070 4344 2306 ! ! ! ! ! ! 145080 4345 2307 ! ! ! ! ! END; (* case command1( 1 ) *) 145090 4346 2308 ! ! ! ! ! 145100 4347 2309 ! ! ! ! ! read_at_dc 145110 4348 2310 ! ! ! ! ! 145120 4349 2311 ! ! ! ! END; (* case route *) 145130 4350 2312 ! ! ! ! 145140 4351 2313 ! ! ! ! 1..4: (* transient error *) 145150 4352 2314 ! ! ! ! BEGIN 145160 4353 2315 ! ! ! ! ! 145170 4354 2316 ! ! ! ! ! testout( opzone, "lam error ", inref^.u2 ); 145180 4355 2317 ! ! ! ! ! read_at_dc 145190 4356 2318 ! ! ! ! ! 145200 4357 2319 ! ! ! ! END; 145210 4358 2320 ! ! ! ! 145220 4359 2321 ! ! ! ! 5: (* timeout *) 145230 4360 2322 ! ! ! ! BEGIN 145240 4361 2323 ! ! ! ! ! (*q if test_b then 145250 4362 2324 ! ! ! ! ! testout( opzone, "dc-lam-timud", 5 ); q*) 145260 4363 2325 ! ! ! ! ! 145270 4364 2326 ! ! ! ! ! inref^.u2:= dcm_in_port; 145280 4365 2327 ! ! ! ! ! 145290 4366 2328 ! ! ! ! ! LOCK inref AS dcbuf: dcbuftype DO 145300 4367 2329 ! ! ! ! ! dcbuf.next:= firstindex; 145310 4368 2330 ! ! ! ! ! 145320 4369 2331 ! ! ! ! ! signal( inref, lam_sem^ ) 145330 4370 2332 ! ! ! ! ! 145340 4371 2333 ! ! ! ! END; 145350 4372 2334 ! ! ! ! 145360 4373 2335 ! ! ! ! OTHERWISE 145370 4374 2336 ! ! ! ! BEGIN 145380 4375 2337 ! ! ! ! ! 145390 4376 2338 ! ! ! ! ! testout( opzone, "ill dcbuffer", inref^.u2 ); 145400 4377 2339 ! ! ! ! ! read_at_dc 145410 4378 2340 ! ! ! ! ! 145420 4379 2341 ! ! ! ! END; 145430 4380 2342 ! ! ! ! 145440 4381 2343 ! ! ! END; (* case u2 *) 145450 4382 2344 ! ! ! \f outlist 81.05.26. 15.47. page 157 146010 4383 2345 ! ! ! OTHERWISE 146020 4384 2346 ! ! ! BEGIN 146030 4385 2347 ! ! ! ! 146040 4386 2348 ! ! ! ! testout( opzone, "ill tsbuffer", inref^.u3 ); 146050 4387 2349 ! ! ! ! 146060 4388 2350 ! ! ! ! return( inref ) 146070 4389 2351 ! ! ! ! 146080 4390 2352 ! ! ! END; 146090 4391 2353 ! ! ! 146100 4392 2354 ! ! END (* case routes *) 146110 4393 2355 ! ! 146120 4394 2356 ! UNTIL false 146130 4395 2357 ! 146140 4396 2358 END. 146150 4397 146160 4398 146170 4399 \f outlist 81.05.26. 15.47. page 158 0 149* 149* 149* 149* 154* 155* 156* 158* 162* 480* 501* 537* 543* 543* 544* 544* 545* 545* 546* 546* 549* 551* 551* 578* 578* 578* 749 784 786 788 925 1026 1037 1037 1045 1120 1127* 1151 1158 1160 1173 1201 1391 1533 1575 1575 1594 1599 1626 1629 1654 1701 1786 1786 1786 1787 1788 1827 1829 1849 1855 1856 1863 1891 1899 1900 1901 1902 1921 1921 1978 1979 2102 2104 2261 2558 2614 3001 3062 3097 3205 3205 3205 3224 3235 3265: 3315 3332 3332 3332 3337 3337 3342 3362 3365 3378 3378 3378 3378 3378 3437 3475 3508 3508 3508 3508 3556 3569 3569 3618 3681 3723 3724 3741 3770 3808 3827 3827 3827 3827 3851 3858 3881 3911 3933 3970 3980 3988 3989 3990 4016 4032 4063 4063 4063 4073 4073 4073 4093 4109 4119 4173 4233 4276 1 136* 137* 142* 144* 145* 152* 153* 158* 163* 164* 165* 284* 518* 519* 520* 538* 539* 540* 541* 649: 679: 765 767 797 809 843* 853 929 935 959 984 1001 1035 1039 1042 1057 1076 1080 1095* 1134 1168 1169 1182 1206 1208 1398 1403: 1428 1534 1576 1576 1594 1603 1607 1631 1633 1648* 1652 1657 1731 1751 1754 1765 1771 1792 1809 1812 1828 1857 1859 1862 1893 1895 1897 1914 1935 1938 1973* 1977 1985 1989 2129 2278 2292 2407 2462 2506 2617 2659 2680 2724 2728 2770 2795 2799 2895 3064 3105 3203 3282 3286 3287 3289 3292 3316 3326 3331: 3332 3333 3337 3338 3342 3343 3347 3348 3375 3376 3407 3409 3420 3427 3428 3474 3475 3480 3486 3502 3546 3547 3560 3569 3574 3583 3588 3589 3592 3606 3620 3663 3702 3706 3707 3714: 3724 3733 3741 3766 3770 3773 3791 3792 3799 3802 3806 3813 3819 3897 3921 3932 3935 3948 3955 3958 4000 4005 4021 4031 4048 4056 4077 4081 4082 4091 4097 4101 4106 4155 4159 4163 4193 4205 4253 4269 4273 4296 4303 4324 4332 4343 4351 2 143* 284* 284* 284* 653: 683: 797 809 1237 1239 1241 1297 1406: 1442 1494 1496 1549 1599 1603 1607 1611 1732 1883 1977 1985 2055 2128 2261 2312 2378 2407 2510 2540 2584 2638 2684 2756 2828 2879 2968 3068 3287 3304 3322 3336: 3337 3342 3347 3358 3370 3376 3418 3418 3420 3558 3558 3560 3568 3569 3574 3676 3690 3707 3717: 3749 3792 3917 3921 3925 4054 4137 4208 4291 4308 4323 4328 3 462* 650 654 657: 658 666 670 687: 726 799 811 1254 1256 1409: 1410 1511 1733 1879 1887 1977 1985 2180 2195 2225 2281 2325 2338 2342 2408 2482 2485 2487 2489 2491 2519 2520 2594 2620 2650 2701 2704 2706 2708 2710 2738 2782 2856 2858 2908 2920 2936 2941 2943 2945 2947 2962 2980 2985 2997 3002 3004 3016 3022 3024 3026 3043 3061 3073 3075 3095 3163 3197 3341: 3342 3347 3376 3537 3556 3623 3840 3925 4054 4056 4131 4131 4152 4158 4179 4212 4266 4 463* 661: 691: 692 1243 1412: 1435 1474 1920 1978 1986 2055 2174 2179 2312 2430 2438 2439 2462 2510 2563 2573 2584 2620 2631 2638 2684 2728 2763 2770 2799 2816 2829 2879 2895 2960 2968 3038 3056 3133 3134 3139 3197 3229 3288 3346: 3347 3352 3426 3537 3587 3606 3623 3634 3740 3775 3840 3850 3910 3917 3968 4048 4052 4160 4192 4239 4253 4351: 5 464* 662 665: 695: 704 712 829 848 1095* 1137 1185 1187 1364 1376 1415: 1428 1528 1978 1987 1990 1996 2229 2237 2248 2328 2671 3125 3151 3322 3358 3382 3407 3410 3422 3474 3481 3532 3564 3580 3690 3705 3707 3712 3728 3733 3738 3745 3749 3771 3803 3871 3927 3932 3949 3959 3979 4030 4058 4071 4133 4137 4158 4168 4174 4192 4228 4234 4239 4256 4257 4291 4319 4328 4332 4343 4359: \f outlist 81.05.26. 15.47. page 159 6 133* 669: 680 699: 700 708 848 856 1285 1291 1323 1339 1360 1393 1394 1413 1418: 1422 1886 1888 1979 2189 2262 2268 2331 2337 2481 2593 2649 2700 2737 2781 2961 3094 3352 3369 3441 3551 3636 3686 3770 3774 3804 3852 3857 3886 3902 3931 3933 3936 3960 3971 4124 4197 4291 7 156* 684 688 703: 720 1288 1311 1312 1317 1342 1398 1421: 1470 2181 2186 2247 2433 2447 2552 2602 2750 3017 3128 3145 3147 3162 3322 3352 3358 3690 3749 3770 3788 3826 3995 4021 4037 4137 4328 4332 4343 8 707: 1368 1419 1478 1595 2233 2624 3627 3732 9 696 711: 1404 1416 2192 2264 2349 2410 2819 2820 2963 3225 3406 3408 3449 3474 3488 3544 4208 10 138* 715: 1296 1320 1345 1407 1482 2521 2831 2907 3225 3414 3473 3475 3518 3547 3769 3834 11 716 719: 856 1326 1348 1372 1950 1960 2182 2241 2334 2373 2374 2918 12 1881 2574 2632 2764 13 134* 2027 14 158* 1973* 1989 3064 15 155* 158* 784 1979 3770 3933 16 1494 1496 2055 2201 2203 2358 2389 2419 2471 2693 2808 2846 2929 3087 3176 19 1976 1979 20 147* 154* 1016* 23 1594 3569 32 2055 59 1594 3569 60 2057 63 786 788 80 135* 100 1534 1575 1594 1603 1607 255 749 2862 4160 256 735 3276 1190 9999 735 10000 1576 32768 1192 a 2166: 2167 2454: 2455 aac_code 746* 749 749 aac_code_ok 746* 749= 3408 3474 3771 3932 abs 1033 1575 1576 ac 1747* 1753 1756 1761* 1770 1773 accepted 1284: 1704 2296 2496 2543 2597 2654 2715 2740 2786 2824 2869 3101 act 1353* 1357 activity 475* 492* 1830= 1851= 2872= 2890= 3594 act_rac 450* 2909 3167 3738= ac_addr 487* 1753 1756 1826= 2617 2671 3437 3491 3507 3532 3606 3620 3674 3676 3682 3813 3871 3886 3911 3958= 3979 3995 4004 4005 4015 4037 4253 \f outlist 81.05.26. 15.47. page 160 ac_addr_ok 804* 808= 823 3407 3474 3733 3770 3932 ac_addr_tab 343* 2933 3544 3545 3546 3547 3892 ac_code 488* 1827= 3959= 4014 ac_codes 482* 1863= 3488= 3808= 3895 ac_db 573* 1753 1756 1823 2459 2617 2671 2717 2742 2788 2886 3411 3429 3491 3495 3532 3606 3620 3664 3813 3871 3886 3911 3952 4001 4164 4253 ac_db_e 486* 573* ac_db_ix 164* 481* 481* 482* 502* 539* 541* 573* 1747* 1760* 1818* ac_index 362* 3043 ac_indxs 481* 1862= 2617 2671 3487= 3606 3620 3807= 3813 4253 ac_ix 539* 1747* 1751= 1753 1753 1754= 1754 1756 1792= 1793 1818* 1823 1859= 1862 1863 1895= 1895 2458 2459 2617 2618 2659= 2671 2716 2717 2723 2741 2742 2787 2788 2794 2885 2886 3409 3411 3428 3429 3480 3487 3491 3495 3532 3620 3621 3663 3664 3788 3807 3871 3886 3911 3948 3951 3952 4000= 4001 4163 4164 ac_mic 384* 2704 2716 2754= 2783 2787 3674= 3968= ac_num 739* 742 742 ac_num_ok 739* 742= 811 ac_request 477* 493* 1831= 1853= 2546= 2548 2567= 2604= 2606 2745= 2747 3599 3669 4225 4243= ac_state 491* 1834= 2460 2889= ac_typ 385* 2706 3969= addr 634* 1701 1737* 1741 1742 1921 2028 2497 2625 2651 2655 2716 2756 2783 2787 3001 3062 3097 3214 3229 3332 3337 3342 3347 3518 3627 3676 3682 3835 3857 3979 3989 4124 address 1907* 1918 addr_code 2667= 2941 2985 3528= 3544= 3867= 3895= addr_ok 815* 824= 828= 3289 3427 3588 3706 4159 alarm 2424: 2425 alarmlabel 281* 283* 289* 291* 297* 303* 309* 317* 331* 336* 342* 348* 354* 361* 368* 377* 383* 392* 399* 405* 411* 417* 425* 435* 443* 449* 455* 1506 1695 2166 alarmmesstype <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 295* 2424 2812 2914 alarmnetaddr 149* 310* 319* 337* 378* 419* 420* 450* 472* 487* 634* 640* 1225* 1250* 1681* 1722* 1737* 1747* 1761* 1907* 1927* 3508 3827 alfa 400* 568* 610* 622* 1050* 1638* alfalength 152* 1654 3436 alloc 2046 2080 2096 2115 2119 2123 alpha_lth 152* 610* 1050* 1053* 1648* al_env_version <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1883 2042 al_mac_addr 427* 2017= 3062 answer_sem 590* 599* as 876: 895: 958: 980: 1071: 1205: 1506: 1530: 1572: 1630: 1695: 1916: 2013: 2052: 2075: 2085: 2108: 2166: 2209: 2219: 2304: 2319: 2362: 2401: 2424: 2454: 2474: 2515: 2530: 2554: 2589: 2609: 2645: 2662: 2696: 2733: 2752: 2777: 2812: 2849: 2902: 2914: 2932: 2973: 2993: 3012: 3034: 3052: 3090: 3117: 3156: 3179: 3220: 3432: 3498: 3523: 3540: 3602: 3613: 3672: 3736: 3821: 3846: 3862: 3876: 3891: 3907: 3964: 3984: 4010: 4026: 4114: 4169: 4229: 4249: \f outlist 81.05.26. 15.47. page 161 4299: 4366: at 1927* 1937 1940 ath_mic_addr 2625 3518 3627 3835 3857 at_addr 472* 1848= 1937 1940 2613 2625 2666= 2666 2984 3518 3527= 3527 3551 3604 3617 3627 3802= 3857 3866= 3866 3880 3903 3908 4240 4251 at_addr_e 349* 355* at_addr_limit <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 742 at_addr_ok 792* 796= 823 3407 3474 3733 3770 at_addr_tab 349* 355* 2666 2667 2974 3527 3528 3866 3867 at_adr 310* 378* 2339 2523 2534 2541 2564 2595 2598 3604= 3908= 4251= at_code 473* 1849= 2667 3528 3803= 3867 at_db 572* 1845 1937 1940 2309 2498 2535 2599 2656 2866 2953 3411 3482 3551 3593 3796 4206 at_db_e 471* 572* at_db_ix 165* 540* 572* 1840* 1927* at_ix 540* 1840* 1845 1897= 1897 1927* 1935= 1937 1937 1938= 1938 1940 2308 2309 2497 2498 2504 2534 2535 2598 2599 2655 2656 2679 2865 2866 2952 2953 3410 3411 3481 3482 3551 3592 3593 3791 3795 3796 4205 4206 at_l 145* at_mic 369* 2485 2497 2613= 2651 2655 3617= 3850= at_num 732* 735 735 at_num_ok 732* 735= 799 at_state 474* 1850= 2310 2873= at_tim_excess <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1477: at_ts_e 406* a_code 298* 312* 2342 2345 2449 2827 2920 a_label 281* 289* 297* 303* 309* 330* 336* 342* 348* 361* 368* 377* 383* 392* 399* 405* 411* 417* 425* 435* 443* 449* 455* 2213 2366 2402 2458 2475 2516 2531 2590 2646 2697 2734 2754 2756 2778 2813 2824 2850 2903 2915 2933 2994 3013 3035 3053 3091 3118 3157 3180 3499 4250 base 138* 1033 1034 1196 block 2945 3546= 3897= book_msg 584* book_up_msg 526* 2115 2117 3235 4109 4276 book_up_pool 519* 2115 boolean 504* 557* 558* 561* 566* 616* 732* 739* 746* 752* 755* 773* 792* 804* 815* 835* 921* 974* 1084* 1102* 1103* 1128* 1747* 1761* 1805* 1927* 1970* broadcast 1906* 3191 3214 3332 3337 3342 3347 buf 1530: 1533= 1534= 1572: 1575= 1575 1576= 1576 1577 buffull 974* 986= 990 build_alarm_label <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1679* 1920 2027 2563 2624 2671 2756 3229 3315 3436 3518 3532 3551 3606 3627 3676 3681 3723 3740 3834 3857 3871 3886 3902 3910 3979 3995 4021 4037 4124 4192 4239 4253 4323 \f outlist 81.05.26. 15.47. page 162 byte 284* 298* 311* 312* 324* 325* 370* 371* 385* 386* 387* 430* 473* 482* 488* 510* 577* 1490* 1683* 1908* 2004* call 1473: ch 965* 985 1107* 1118= 1120 1154 1155= 1156 1158 1166 1169 1176= 1177 1183 1190 1196 char 276* 607* 613* 965* 1006* 1020* 1062* 1095* 1107* 1225* 1225* chr 1033 ch_gt 173* 1268 1453 1486 1961 2288 2492 2523 2595 2651 2711 2783 2948 2986 3005 3027 3045 3076 3097 3167 ch_lt 172* 1266 1396 1465 2276 2484 2523 2595 2651 2703 2783 2940 2984 3001 3021 3042 3060 3097 3167 ch_slash 174* 1451 2284 2486 2488 2490 2705 2707 2709 2942 2944 2946 2984 3001 3003 3023 3023 3025 3044 3044 3062 3067 3072 3074 ch_star 171* 1046 command 622* 1638* 1652= 1654 1658= command1 567* 905 3282 4152 4158 4179 4212 4266 command2 568* 907 3286 3287 3287 3292 3304 3326 3333 3338 3343 3348 3434 3583 3589 3702 3766 4155 4296 4303 4308 com_sem 6* 1718 2134 continue 1128* 1135= 1137 controle_byte <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 324* 2055= counter 444* 456* 3151 3224= 4319= cr 1158 1220 4338: create_tty_ch <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 2048 creating 464* 468* 2955 3805 4207 curdigit 1104* current_activity <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 467* 475* 492* current_state <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1383* 1391 1434= 1434 1441= 1441 data 276* 284* 985= 1075 2281 2292 dc3 4338: dcbuf 876: 877 895: 896 958: 959 980: 981 1071: 1072 1205: 1206 1206 1630: 1631 1631 2075: 2076 2085: 2088 2089 2108: 2109 4366: 4367 dcbuftype 271* 521* 876 895 958 980 1071 1205 1630 2075 2085 2108 4366 dcmodule 1* dcm_in_port 874 4364 dcm_out_port 961 2049 dc_addr 1237 1672= 1730= dc_macro 578* 1701 3376= 3989 4084 4120 dc_num 637* 1664* 1672 dc_request 476* 494* 1832= 1852= 2549 2549 2564 2566= 2606 2747 2891= 2955 2958= 3597= 3599 3667= 3669 3805= 4181= 4184= 4187= 4193 4193 4207 4208 4214= 4217= 4220= 4225 4225 4240 4242= 4254 4254 \f outlist 81.05.26. 15.47. page 163 dc_ts_macro 438* 4120= delimiters 1622* 1626 digit 1103* 1114= 1156= 1158 1163 1173 1177= 1179 digitcheck 1124* 1187 digits 1020* 1033= 1040= 1043 1098* 1120 1156 1177 disconnected 504* 1790= 3187 3190= 3209 3212= dummy_route 952 1544 1567 2067 2150: d_op_code 311* 2323 2341 2344 empty_addr 149* 1796 1797 1826 1848 3492 3795 3815 3951 4004 error1 643* 647 error2 643* 677 esc 4338: external 591* 600* extern_px_addr <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 158* 428* 511* ext_pax_address <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 428* 2019= 3068 ext_px_addr 511* 1990= 2019 false 557* 558* 828 1103* 1114 1146 1147 1193 1789 1997 3190 3218 3991 4017 4033 4282 4394 fch 1225* 1236 fe_ix 509* 1986= 3378 4085 4087 4103 ff 1877 fill 282* 290* 607* 1006* 1040 find_ac 1747* 1756= 2458 2716 2741 2787 2885 3409 3428 3480 3663 3788 3948 3951 4163 find_at 1927* 1940= 2308 2497 2534 2598 2655 2865 2952 3410 3481 3592 3791 3795 4205 find_sac_entry <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1760* 1773= 2617 3490 3492 3620 3812 3815 find_ts 1805* 1814= 3181 3773 3935 4063 4070 4073 first 273* 752* 760 899 2076= 2088= 2109= firstindex 136* 137* 276* 877 900 959 2076 2088 2109 4367 getcommand 622* 905 907 1638* getinput 885* 3268 getoutputbuf 940* 978 getparams 604* 908 912* gettime 1553* 1577= 2170 3270 3576 gettime_msg 527* 1528 1530: 1538 1542 1544 1545 1547 1549 1561 1565 1567 1568 1570 1572: 2123 2125 gettime_pool 520* 2123 h0 2203: 2205: 2361 2400 h00 2163 2174: h02 2163 h06 2828: h1 2358: 2423 2473: 2695: 2811 2848: 2931: 3089: 3178: \f outlist 81.05.26. 15.47. page 164 h10 2176: h12 2186: h16 2829: h2 2318: 2361: 2389: 2453: 3200: h20 3333 h22 3338 h24 3214 3343 h25 3191 h26 3348 h3 2419: 2514: 2732: 2811: 2901: 2972: 3115 h30 2224: 2258 2324: 2341 h31 2188 2228: 2258 2273 2327: 2344 2429: h32 2188 2218 2330: h34 2188 2432: h35 2188: 2435: h4 2423 2529: h40 2232 h41 2232: h5 2423: 2776: 2992: 3115 h6 2471: h60 3858 h62 3911 h64 4254 h66 3607 h68 2625 3628 h7 2588: 2693: 3011: 3115 h70 3980 h72 3682 h74 2757 3677 h8 2808: 2913: h80 3715 h81 2819: h82 3718 h83 2820: h84 2236 h85 2236: h9 2400: 2644: 2846: 3155: h90 2564 4193 4240 h92 3741 h98 2240: 3437 ha 2929: ha0 3552 3903 ha2 2672 3533 3872 ha4 3887 \f outlist 81.05.26. 15.47. page 165 ha6 3996 4022 4038 haa 3519 3836 hac 2028 half_byte 155* 479* 490* 500* hb 3033: 3087: 3115 hb0 4125 hb2 3310 4314 hb3 3138 3144 hb4 3301 hb5 3125: 3144 hb6 3305 4309 hb7 3127: hb8 3295 hba 3307 4311 hbb 3130: hbc 3298 4305 hbd 3138: hc 3176: hc0 3230 hc8 2244 2270 hc9 2244: 2270 hd 3051: 3115: hh 1520* 1533 i 843* 852 852 853= 853 855 856 860 997* 1001= 1053* 1057= 1058 1127* 1134= 1134 1135 1135 1137 1139 1139 1648* 1654 1654 1657= 1657 1658 incharsleft 548* 899= 1080= 1080 1120 1151 1158 1173 1201 1208= 1208 1626 1629 1633= 1633 1654 incname 2040 index 640* 792* 797 797 797 799 804* 809 809 809 811 815* 823 823 1722* 1730 1731 1732 1733 3004 3882= init_ac_db_e 1818* 1895 2723 2794 init_at_db_e 1840* 1897 2504 2679 init_ts_db_e 1779* 1893 3104 input_sem 9* 2080 2119 2143 2146 2156 inref 529* 874 876: 881 895: 1071: 1205: 1630: 2080 2082 2083 2085: 2144 2146 2148 2150 2157 2161 2166: 2209: 2219: 2304: 2319: 2354 2362: 2385 2401: 2415 2424: 2454: 2467 2474: 2515: 2530: 2589: 2645: 2689 2696: 2733: 2777: 2804 2812: 2841 2849: 2902: 2914: 2925 2932: 2973: 2993: 3012: 3034: 3052: 3083 3090: 3117: 3156: 3172 3179: 3235 3238 3244 3249 3257 3264 4354 4364 4366: 4369 4376 4386 4388 insert_code 1316: 1341: 3519 3533 3552 3836 3872 3887 3903 3996 4022 4038 4125 int 607* 1006* 1026 1033 1034= 1034 1037 1045 integer 275* 282* 290* 318* 362* 369* 372* 384* 393* 394* 418* 426* 437* 444* 457* 478* 495* 509* 518* 549* 552* 565* 587* 597* 607* 616* 634* 637* 643* 732* 739* 746* 752* 773* 994* 997* 1006* 1084* 1105* 1127* 1262* 1520* 1664* 1680* 1737* 2007* \f outlist 81.05.26. 15.47. page 166 int_position 154* 607* 1006* 1019* 1020* 1262* ix 756* 760= 764 764 765= 765 767 1973* 1989= 1990 1990 l 1695: 1696 2304: 2305 3540: 3541 3821: 3822 3846: 3847 3862: 3863 3964: 3965 4169: 4170 4299: 4300 label_size 284* 1699 2278 2283 2378 lambuf 2052: 2055 2057 lambuftype 322* 2052 lam_buf_pool 521* 2046 2080 2093 2096 lam_num 370* 386* 2487 2614= 2708 3618= 3851= 3970= lam_port 479* 490* 1829= 1855= 2502 2615 2677 2721 2792 3619 3804= 3810 3960= 3962 lam_sem 4* 881 990 1964 2061 4369 lam_talk_sem 12* 950 2046 2065 2096 last 274* 752* 765 959= 984= 984 985 986 2089= lastchar 1107* 1154= 1161 lastindex 137* 276* 986 2089 lch 1225* 1244 linelength 135* 137* lock 876: 895: 958: 980: 1071: 1205: 1506: 1530: 1572: 1630: 1695: 1916: 2013: 2052: 2075: 2085: 2108: 2166: 2209: 2219: 2304: 2319: 2362: 2401: 2424: 2454: 2474: 2515: 2530: 2554: 2589: 2609: 2645: 2662: 2696: 2733: 2752: 2777: 2812: 2849: 2902: 2914: 2932: 2973: 2993: 3012: 3034: 3052: 3090: 3117: 3156: 3179: 3220: 3432: 3498: 3523: 3540: 3602: 3613: 3672: 3736: 3821: 3846: 3862: 3876: 3891: 3907: 3964: 3984: 4010: 4026: 4114: 4169: 4229: 4249: 4299: 4366: log02 2319: 2320 log02type 307* 2319 logmess 2209: 2210 2219: 2220 logmesstype 279* 2209 2219 logstatustype <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 287* 2304 log_off 558* 2163 3583= m 1506: 1507 2362: 2363 2696: 2697 2849: 2850 2902: 2903 3090: 3091 3117: 3118 3156: 3157 3498: 3499 3602: 3603 3672: 3673 3736: 3737 4229: 4230 4249: 4250 m1012 2013: 2014 m1013 3052: 3053 m102 2662: 2663 3523: 3524 m104 3876: 3877 m105 2993: 2994 m106 3984: 3985 4010: 4011 4026: 4027 m107 3012: 3013 m1100 4114: 4115 m1200 3220: 3221 m1201 3179: 3180 m2x 1916: 1917 2401: 2402 m62 3907: 3908 \f outlist 81.05.26. 15.47. page 167 m63 2515: 2516 m64 2530: 2531 m67 2589: 2590 m68 2609: 2610 3613: 3614 m69 2645: 2646 m73 2733: 2734 2754 2756 m74 2752: 2753 m75 2777: 2778 m90 2554: 2555 m98 2914: 2915 3432: 3433 mac 634* 1737* 1741 macro 1233 1237 1239 1241 1730 1731 1732 1741= 2497 2625 2651 2655 2716 2756 2783 2787 3181 3518 3627 3676 3682 3773 3857 3880 3935 3979 macroaddr 149* 427* 436* 438* 499* 508* 578* 578* 634* 637* 1664* 1737* 1786 1805* 2005* 3205 3378 3508 3827 4063 4073 macro_ok 773* 783= 797 809 1977 mac_address 508* 1985= 2017 4070 4079 4090 4095 4103 4105 max 752* 764 maxnumber 1095* 1099* 1106* maxpos 1016* max_byte 1978 max_lam_bufs 134* 521* max_locals 133* 2023 4087 4097 4103 4106 max_no_ac 144* 164* 480* 501* 545* 1753 1770 1792 1859 1895 3483 3556 3934 4000 4056 max_no_at 145* 165* 546* 1897 1937 3772 3925 max_no_dc 142* 543* max_no_retrans <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 510* 1987= 2020 max_no_ts 143* 162* 163* 544* 1811 1893 4062 4131 max_params 147* 153* 551* 933 max_retrans 430* 2020= 3075 mess_1010_type <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 415* 3498 3821 mess_1012_type <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 423* 2013 3052 mess_102_type <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 346* 2662 3523 3862 mess_104_type <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 403* 2993 3876 mess_106_type <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 409* 3012 3984 4010 4026 mess_110_type <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 433* 3090 4114 mess_119_type <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 447* 2902 3156 3736 \f outlist 81.05.26. 15.47. page 168 mess_11x_type <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 441* 3117 4299 mess_12_00_type <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 453* 3179 3220 mess_12_type 328* 2362 mess_2x_type 334* 1916 2401 mess_60_type 366* 2474 2609 2645 3613 3846 mess_62_type 375* 2515 2530 2589 3602 3907 4249 mess_70_type 381* 2696 2733 2752 2777 3672 3964 mess_90_type 390* 2554 2849 4169 4229 mess_98_type 397* 3432 mic 318* 634* 1737* 1742 micro 1243 1733= 1742= 2613 2754 2862 3617 3674 min 752* 764 mm 1520* 1534 modify_code 1319: 1344: 3230 3378 4085 4091 4097 4106 4324 msg 1502* 1506: 1510 msg_text 400* 3434= my_dc_route 140* 2050 2073 2083 2103 3261: nc_addr 1239 1673= 1731= nc_num 637* 1664* 1673 negative 1102* 1161= 1190 1193= netc_mic_addr <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 2028 netc_route 1921 2117 2121 2152: 2564 2625 2672 2757 3230 3316 3437 3519 3533 3552 3607 3628 3677 3682 3724 3741 3836 3858 3872 3887 3903 3911 3980 3996 4022 4038 4090 4096 4105 4125 4193 4240 4254 4324 netc_route1 2153: 3378 4084 netc_route2 2154: newline 619* 1216* 1591 1876 1889 1949 1958 1959 3371 new_state 1381* 1391 1431 next 275* 877= 899 900= 1075 1076= 1076 1206= 1206 1631= 1631 4367= nl 1221 node 337* 1918= 2405 noofparams 550* 847 852 860 925= 929= 929 930 931 933 935= 935 2278= 2281 2283 3064= 3068 3329 4168 4192 4228 4239 4256 not_accepted 1287: no_ac_e 480* 1856= 2659 3483 3486= 3486 3487 3488 3806= 3806 3807 3808 3895 no_by 1680* 1699 no_digits 549* 1168= 1182= 1182 1183 1185 1187 no_of_ac 545* 1901= 2462 2724= 2724 2728 2770 2795= 2795 2799 2895 3420 3560 3921 3934 3955= 3955 4048 no_of_at 546* 1902= 2312 2506= 2506 2510 2584 2638 2680= 2680 2684 2879 2968 3418 3558 3772 3792 3799= 3799 3917 \f outlist 81.05.26. 15.47. page 169 no_of_by 1699= 2278 2283 2378 no_of_chars 610* 1050* 1057 no_of_dc 543* 1891= 1899= 3365 3375= 3375 no_of_sp 994* 1001 no_of_ts 544* 1900= 1914 3104 3105= 3105 3197 3203 4054 4062 4077= 4077 4081 4093 4101 no_request 462* 1831 1832 1852 1853 2566 2567 2891 2958 4242 4243 no_sac_e 501* 1788= 3502= 3502 3537 3819= 3819 3840 nt_default 552* nt_freq 457* 3225= nt_on 557* 3234 4108 4272= 4282= nt_receipt 503* 1789= 3185= 3208 3218= nt_time 552* 3225 3235 4109 4273= 4276 nul 1107* object 587* ok 755* 764= 764 767 769 old_label 283* 291* 331* 2210 2220 2305 2369 opcode 1908* 1921 open 2143 2156 openpool 2093 opr_code 577* 1683* 1702 1712 2161= 2163 2172 2201 2203 2213= 2218 2358 2389 2407 2419 2428 2471 2693 2808 2818 2846 2929 3087 3123 3144 3176 3295= 3298= 3301= 3305= 3307= 3310= 3316 3715= 3718= 3724 4305= 4309= 4311= 4314= 4324 opzone 576* 2040 2042 4354 4376 4386 op_code 1490* 1494 1496 1702= 2213 2223 2254 2258 2261 2270 2273 2375 op_route 140* op_sem 2* 2040 ord 1033 1166 1166 1196 1196 2023 2549 2563 2706 2947 3002 3026 3333 3338 3343 3348 4158 4192 4193 4208 4225 4239 4254 outchar 965* 1002 1027 1043 1046 1058 1220 1221 1236 1238 1240 1242 1244 1258 1266 1268 1280 1303 1396 1451 1453 1457 1465 1486 1495 1497 1592 1601 1605 1877 1961 2276 2284 2288 2347 2484 2486 2488 2490 2492 2703 2705 2707 2709 2711 2940 2942 2944 2946 2948 2959 2986 3003 3005 3021 3025 3027 3042 3060 3067 3072 3074 3076 outinteger 607* 726 1006* 1237 1239 1241 1243 1267 1297 1494 1496 1599 1603 1607 1883 2281 2485 2487 2489 2491 2704 2706 2708 2710 2941 2943 2945 2947 2985 3002 3004 3022 3024 3026 3043 3061 3068 3073 3075 output_to_dc 528* 950 952 953 955 958: 961 978 980: 990 1963 1964 2046 2048 2049 2050 2052: 2061 2065 2067 2068 2070 2072 2073 2075: 2078 2096 2098 2108: 2111 outstring 610* 650 654 658 662 666 670 680 684 688 692 696 700 704 708 712 716 720 829 1050* 1254 1256 1285 1288 1291 1296 1311 1312 1317 1320 1323 1326 1339 1342 1345 1348 1360 1364 1368 1372 1376 1393 1394 1404 1407 1410 1413 1416 1419 1422 1435 1442 1470 1474 1478 1482 1511 1595 1879 1881 1886 1887 1888 1996 2174 2179 2180 2181 2182 2186 2189 2192 2195 2225 2229 2233 2237 2241 2247 2248 2262 2264 2268 2325 2328 2331 2334 2337 2338 2349 2373 2374 2408 2410 2430 2433 2438 2439 2447 2481 2482 2519 2520 2521 2540 2552 2573 2574 2593 2594 2602 2631 2632 2649 2650 2700 2701 2737 2738 2750 \f outlist 81.05.26. 15.47. page 170 2763 2764 2781 2782 2816 2819 2820 2828 2829 2831 2907 2908 2918 2936 2960 2961 2962 2963 2980 2997 3016 3017 3038 3056 3094 3095 3125 3128 3133 3134 3139 3145 3147 3162 3163 3369 3370 3382 3414 3422 3441 3449 3564 3580 3634 3636 3686 3728 3745 3775 3927 3949 4052 4058 4071 4133 4197 overflow 616* 921* 930 931 1084* 1113= 1147= 1189 overflows 566* 852 855 860 931= ovflow 1109* 1139 1185 own 2040 o_digits 1106* 1135 1139 1169= 1183= o_limit 1099* 1135 1139 p1 773* 784 784 p2 773* 786 786 p3 773* 788 788 packaddr 640* 1722* 1730 1731 1732 1733 3316 3409 3410 3428 3480 3481 3592 3663 3724 3738 3741 3773 3788 3791 3802 3826 3935 3948 3958 4005 4021 4031 4163 4193 4205 4324 packmacro 637* 1664* 1672 1673 1674 1985 3332 3337 3342 3347 3376 pac_adr 319* param 643* 726 1262* 1267 params 565* 764 764 797 797 797 799 809 809 809 811 835* 847 848 860 930= 1730 1731 1732 1733 1977 1977 1977 1985 1985 1985 1986 1987 1990 3332 3337 3337 3342 3342 3342 3347 3347 3347 3347 3376 3376 3376 3408 3474 3475 3488 3544 3547 3569 3569 3574 3574 3707 3712 3770 3771 3774 3803 3804 3850 3852 3932 3933 3936 3959 3960 3968 3971 4030 4160 4174 4234 4257 4273 4319 params_ok 835* 860= 1976 3288 3406 3426 3473 3568 3587 3705 3732 3769 3931 4158 4269 param_range 153* 565* 566* 640* 752* 756* 792* 804* 815* 835* 843* 1722* passive 2143 pax_tbl_ix 426* 2021= 2023 2023 3061 pending_request <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 468* 477* 494* poll_delay 478* 495* 1833= 1854= 2559 4175= 4234= 4235 4257= poll_delay_time <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1833 1854 poll_int 394* 2559= 2856 4174= 4175 4235= pool 518* 519* 520* 521* ports_used 500* 1787= 2502= 2502 2677= 2677 2721= 2721 2792= 2792 3774 3810= 3810 3936 3962= 3962 4082= 4082 port_num 371* 387* 2489 2615= 2710 3619= 3852= 3971= pos 1019* 1024= 1033 1035= 1035 1037 1039= 1039 1040 1042= 1043 1262* 1267 position 607* 1006* 1024 1042 process 1* px_db 570* 1980 2014 3378 4069 4094 4102 px_db_e 507* 570* px_db_ix 162* 537* 570* 1969* 2006* \f outlist 81.05.26. 15.47. page 171 px_ix 537* 1969* 1980 2006* 2014 4066= 4068 4069 4085 4091 4106 4106 queue_sem 10* 2143 2144 2157 r 3034: 3035 3891: 3892 rac_addr 420* 3512= 3827= 3830 range_ok 752* 769= 1978 1979 readchar 613* 1062* 1075= 1118 1155 1176 1626 1652 1658 readinteger 616* 930 1084* 1212= readok 559* 933 1146= 1167= read_at_dc 865* 2138 4347 4355 4377 read_code 1338: 3316 read_tty 2082 rec 1250* 1255 1700= 2214 2376 recall 1469: receipt 2474: 2475 2812: 2813 2932: 2933 2973: 2974 receipttype 315* receipt_1011_type <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 359* 3034 receipt_101_type <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 340* 2932 3540 3891 receipt_103_type <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 352* 2973 receiver_addr <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1681* 1700 receiver_macro <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 2005* 2028 reference 531* 585* 596* 1502* remote_px_ix 2007* 2021 remove_code 1322: 2625 2672 2757 3607 3628 3677 3682 removing 463* 2604 2745 3597 3667 restart_dc 1872* 2136 result 1105* 1160= 1166= 1190 1192= 1196= 1196 1212 1272* 1282 1297 1514 1704= 2296 2297 2367 2494 2496 2525 2543 2580 2597 2640 2652 2654 2713 2715 2740 2772 2784 2786 2824 2836 2860 2869 2950 2988 3007 3029 3047 3078 3099 3101 3149 3165 result_range 1272* return 953 1545 1568 2068 2078 2111 2150 3257 4388 route 1682* 1711 2004* 2028 r_label 317* 354* 2974 s 2046 2080 2096 2115 2119 2123 2157 3236 4276 sac_addr 419* 3511= 3826= 3829 sac_rac_index <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 372* 418* 2491 2618= 3510= 3621= 3825= 3853= sac_rac_ix 541* 1760* 1765= 1770 1770 1771= 1771 1773 3490 3492 3504 3510 3545 3812 3815 3822 3825 3853 3882 3896 sac_rac_s 502* 1770 1773 1793 3504 3822 \f outlist 81.05.26. 15.47. page 172 sac_rac_tab 363* 3035 semaphore 590* 599* sempointer 2* 7* send 1250* 1257 1512 1701= 2196 2214 2308 2376 2458 2497 2651 2655 2716 2741 2754 2756 2783 2787 2862 2865 2885 2906 2952 3181 3191 sender 1225* 1233 service_code 467* 1367: 2549 2855 4187 4193 4220 4225 4254 settime 1520* 3574 signal 881 990 1538 1561 1716 1964 2061 2157 4369 size_supp 284* skipdelimiters <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 625* 904 906 1615* sp 726 1002 1238 1240 1242 1255 1255 1257 1258 1267 1280 1297 1303 1457 1497 1512 1512 1592 1622* 1883 2196 2196 2281 2339 2339 2347 2405 2405 2485 2487 2489 2491 2541 2541 2704 2706 2708 2710 2906 2906 2909 2909 2941 2943 2945 2947 2959 2985 3002 3004 3022 3024 3026 3043 3045 3061 3062 3068 3073 3075 space 994* 1611 1950 1960 2858 start_code 467* 468* 1359: 2855 3594 4181 4214 start_com_line <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 631* 879 1954* 3253 4339 start_new_line <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 628* 1878 1885 1945* 3368 state 292* 304* 1461* 1467 2310 2460 state_bit 1386* 1398= 1399 1402 1428 1431 1434 1441 1448 state_error 1290: state_range 156* 160* 1386* state_set 160* 292* 304* 474* 491* 1381* 1383* 1387* statusalarmtype <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 301* 2454 steering 2947 3547= 3898= stop_code 1363: 1830 1851 2563 4184 4217 stream_no 429* 2023= 3073 testopen 2040 testout 2042 4354 4376 4386 text 610* 1050* 1058 time 586* 597* 1583* 1594 1594 1599 1603 1607 timeout 325* 2057= timeout_answer_sem <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 11* 1542 1565 2115 2123 3236 4110 4276 timeout_msg 525* 585* 2119 2121 3238= 4108 4109 4275 4276 timeout_pool 518* 2119 timeout_sem 7* 589* 1538 1561 3236 4110 4276 timerbook 582* 3235 4109 4276 timerupdate 594* \f outlist 81.05.26. 15.47. page 173 time_out 219* 1404 1478 trans_err 393* 2558= 4173= 4233= true 755* 824 1113 1167 1790 1983 3185 3212 3898 4272 ts 1805* 1811 1814 tsc_listen_ref <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 530* 1695: 1708 1716 1718 1916: 2013: 2133 2134 2554: 2609: 2662: 2752: 3220: 3432: 3498: 3523: 3540: 3602: 3613: 3672: 3736: 3821: 3846: 3862: 3876: 3891: 3907: 3964: 3984: 4010: 4026: 4114: 4169: 4229: 4249: 4299: tsc_sem 5* 1716 tss_macro 436* 3097 4118= tss_mic_addr 3214 3229 4124 ts_add 2197 2372 ts_addr 1241 1674= 1732= 3001 3880= ts_address 499* 1786= 1811 1814 1921 3205 3214 3229 3835 4079= 4095 4096 4103 4118 4124 ts_db 571* 1767 1783 1811 1814 1921 2501 2676 2720 2791 3182 3204 3495 3537 3774 3796 3936 3952 4074 ts_db_e 498* 571* ts_db_ix 163* 483* 489* 538* 571* 1760* 1779* 1805* ts_e 406* 2994 3877 ts_indx 483* 489* 1828= 1857= 2501 2617 2620 2676 2720 2791 3490 3492 3495 3537 3620 3623 3809= 3812 3815 3961= ts_ix 538* 1760* 1767 1779* 1783 1805* 1809= 1811 1811 1812= 1812 1814 1893= 1893 1914= 1921 3181 3182 3203= 3204 3773 3774 3796 3809 3935 3936 3952 3961 4063 4066 4070 4073 4074 ts_num 637* 1664* 1674 ts_pointer 12* ts_time 520* 1530 1553* 1572 1583* ts_type 3002 3881= txt_220_ac 224* 1422 txt_aac 183* txt_ac 182* 650 2701 2738 2782 2936 3016 3163 txt_accepted 226* 1285 txt_actual 214* 3162 txt_addr 265* 1311 txt_alarm 190* 1394 2189 2268 2337 txt_at 181* 654 2482 2519 2594 2650 2962 2980 txt_au 206* 1410 2225 2325 txt_battery 223* 1419 txt_busy 249* 712 3634 txt_cmmnd 260* 696 txt_connected <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 240* 2247 2410 2907 txt_counter 211* 3145 txt_create 198* 2481 2700 2961 3094 3369 \f outlist 81.05.26. 15.47. page 174 txt_db 258* 692 txt_dc 186* 1879 1887 txt_delivered <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 232* 2349 2521 txt_dis 179* 2408 txt_enter 253* 1886 txt_error 244* 1435 1474 2430 2829 3139 txt_finish 231* 2963 txt_from 176* 1256 1511 2195 2338 txt_granted 229* 2552 2602 2750 txt_group 266* 3017 txt_hs 220* 1407 txt_insert 236* 1317 1342 txt_known 247* 680 3949 4071 txt_limit 212* 688 2447 3147 txt_line 204* 2229 2328 txt_log 191* 2174 2179 txt_modify 237* 1320 1345 txt_msg 252* 2182 2241 2374 2918 txt_no 256* 666 txt_number 254* 1888 txt_of 178* 2180 2540 txt_ok 243* 1442 2520 2828 txt_org 264* 2373 txt_ovf 262* 720 txt_package 210* 3125 txt_param 259* 700 704 3422 3564 3927 4058 4133 txt_pax 187* 3056 txt_poll 216* 1376 2439 3134 txt_port 257* 662 3775 4052 txt_rac 184* 3038 txt_range 228* 708 829 1996 3382 3580 3728 3745 txt_read 234* 1339 txt_rec 193* 2192 txt_recall 218* 1470 txt_receipt 194* 2264 txt_refused 227* 1288 txt_rej 192* 2181 2186 txt_remove 238* 1323 2593 2649 2737 2781 txt_request 261* 2574 2632 2764 txt_restart 222* 1416 txt_result 242* 1296 txt_send 251* 2262 txt_serif 221* 1413 \f outlist 81.05.26. 15.47. page 175 txt_service 202* 1368 2433 3128 txt_star 255* 670 1595 2573 2631 2763 2960 txt_start 200* 1360 txt_state 205* 1291 1393 2331 txt_steer 207* 2233 txt_stop 201* 1364 2438 3133 txt_table 196* 1312 txt_test 208* 2237 2248 2816 txt_to 177* 1254 2908 txt_ts 185* 658 2997 3095 3370 txt_undef 246* 716 1326 1348 1372 1482 2334 2831 3414 3449 txt_unknown 248* 684 3441 3636 3686 4197 u1 1528= 1549= 2048= 2072= 2082= 2101= 2128= u2 874= 961= 2049= 2102= 3264 4354 4364= 4376 u3 952 1544 1567 1711= 2050= 2067 2073= 2083= 2103= 2117= 2121= 2129= 2148 4386 u4 1510 1712= 2104= 2161 unknown_msg 1502* 2354 2385 2415 2467 2689 2804 2841 2925 3083 3172 3244 3249 upd 1307* 1314 1332* 1336 update 1703= 2538 2546 2563 2853 2855 2872 2890 2938 2982 2999 3019 3040 3058 3121 3160 updates 519* update_kind 2008* 2028 update_msg 596* update_pax_table <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 2003* 3378 4084 4090 4096 4105 update_px_db 1968* 1983= 1997= 3362 4068 update_range 1307* 1332* 1353* 1461* 1684* 2008* upd_code 1684* 1703 valids 1645* 1654 vcat 3969 vca_addr 1770 1773 1796= 3044 3507= 3511 3829= vca_vcm_e 363* 502* vch_mic_addr 2756 3676 3682 3979 vcmat_e 412* vcm_addr 1797= 3045 3508= 3512 3830= vcm_at_e 412* 3013 3985 4011 4027 vc_addr 3023 3989= 4015= 4031= vc_addr_e 343* vc_addr_limit <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 742 vc_arrange 3024 3990= 4016= 4032= vc_code 3022 3988= 4014= 4030= vc_index 2943 3545= 3896= vc_l 144* \f outlist 81.05.26. 15.47. page 176 vc_relief 3026 3991= 4017= 4033= version 15* 1881 2042 w 950 1542 1565 2065 2143 2143 2144 2146 2156 4110 wait 950 1542 1565 1718 2065 2134 2144 2146 work_set 1387* 1391= 1399 1448= 1448 1450 writeaddress 1225* 1255 1257 1512 2196 2339 2405 2523 2541 2595 2651 2783 2906 2909 2984 3001 3023 3044 3045 3062 3097 3167 writeresult 1272* 1514 2297 2367 2494 2525 2580 2640 2652 2713 2772 2784 2836 2860 2950 2988 3007 3029 3047 3078 3099 3149 3165 writetime 1583* 2170 2197 2372 3270 3576 write_at_activity <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1353* 2538 2853 write_error 643* 848 856 2312 2462 2510 2584 2620 2638 2684 2728 2770 2799 2879 2895 2968 3197 3322 3352 3358 3418 3420 3537 3556 3558 3560 3623 3690 3749 3792 3840 3917 3921 3925 4048 4054 4056 4131 4137 4208 4291 4328 4332 4343 write_line_state <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1461* 2292 2345 2449 write_op_code <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1490* 1510 2254 2375 write_param 1262* 2342 2378 2856 2920 3151 write_param_update <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1332* 3121 3160 write_state 1380* 2310 2460 write_table_update <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1307* 2938 2982 2999 3019 3040 3058 write_to_from <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1250* 2214 2376 write_tty 2072 2101 w_px_ix 536* 4093= 4094 4097 4097 4101= 4102 xx 437* 4119= zero 170* 1033 1098* 1166 1196 1237 1239 1241 1243 1494 1496 1599 1603 1607 zone 576* \f outlist 81.05.26. 15.47. page 177 AND 45 ARRAY 14 BEGIN 232 CASE 42 CONST 8 DIV 6 DO 216 DOWNTO 1 ELSE 86 END 305 FOR 19 FORWARD 13 FUNCTION 25 IF 156 IN 25 MOD 19 NIL 9 NOT 23 OF 62 OR 10 OTHERWISE 42 PACKED 2 PROCEDURE 46 RECORD 31 REPEAT 11 SET 2 THEN 156 TO 18 TYPE 4 UNTIL 11 VAR 29 WHILE 9 WITH 111 *pascal80 codesize.12000 alarmenv source 81.05.26. 15.50. pascal80 version 1981.04.01 name headline beginline endline appetite(words) write_error 645 649 726 : 15 at_num_ok 734 735 736 : 5 ac_num_ok 741 742 743 : 5 aac_code_ok 748 749 750 : 5 range_ok 755 760 771 : 8 macro_ok 781 790 788 : 5 at_addr_ok 794 801 799 : 20 ac_addr_ok 806 813 811 : 20 addr_ok 821 824 833 : 16 params_ok 843 848 860 : 12 read_at_dc 872 874 881 : 10 getinput 893 895 910 : 12 getparams 921 925 937 : 16 getoutputbuf 946 950 963 : 7 outchar 974 978 990 : 11 space 997 1001 1002 : 13 outinteger 1016 1024 1046 : 27 outstring 1053 1057 1058 : 17 readchar 1069 1071 1082 : 11 ovflow 1111 1113 1120 : 11 digitcheck 1127 1134 1141 : 10 readinteger 1095 1146 1214 : 19 newline 1218 1220 1221 : 9 writeaddress 1231 1233 1248 : 13 write_to_fro 1252 1254 1258 : 15 write_param 1264 1266 1268 : 13 writeresult 1278 1280 1303 : 15 write_table_ 1309 1311 1330 : 15 write_param_ 1334 1338 1351 : 15 write_at_act 1355 1359 1376 : 15 write_state 1386 1391 1457 : 20 write_line_s 1463 1465 1486 : 15 write_op_cod 1492 1494 1497 : 11 unknown_msg 1504 1506 1518 : 19 settime 1526 1528 1551 : 9 gettime 1559 1561 1581 : 14 writetime 1589 1591 1611 : 15 skipdelimite 1622 1626 1635 : 12 getcommand 1645 1652 1662 : 14 packmacro 1670 1672 1676 : 5 build_alarm_ 1693 1695 1718 : 20 packaddr 1728 1730 1733 : 7 addr 1739 1741 1744 : 5 find_ac 1749 1751 1756 : 9 find_sac_ent 1763 1765 1777 : 11 init_ts_db_e 1781 1783 1803 : 12 find_ts 1807 1809 1816 : 7 init_ac_db_e 1821 1823 1838 : 7 init_at_db_e 1843 1845 1869 : 10 restart_dc 1874 1876 1904 : 18 broadcast 1911 1914 1925 : 29 find_at 1933 1935 1942 : 7 start_new_li 1947 1949 1950 : 9 start_com_li 1956 1958 1964 : 10 update_px_db 1973 1977 2001 : 25 update_pax_t 2011 2013 2028 : 26 dcmodule 15 2040 4396 : 405 code: 2 . 10454 = 34454 bytes end of PASCAL80 compilation end blocksread = 53 *o c «eof»