DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦399cd8257⟧ TextFile

    Length: 304896 (0x4a700)
    Types: TextFile
    Names: »tsdcslst«

Derivation

└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system
    └─⟦72244f0ef⟧ 
        └─⟦this⟧ »tsdcslst« 

TextFile

\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◀