|
|
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»