|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3840 (0xf00) Types: TextFile Names: »noah«
└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system └─⟦72244f0ef⟧ └─⟦this⟧ »noah«
(*****************************************************************) (* *) (* process noah - father of the paxnet node *) (*---------------------------------------------------------------*) (* *) (* ncp ncp process semaphore *) (* ltrm connector transmitter semaphores *) (* lrec connector receiver semaphores *) (* ldrv line driver semaphore array *) (* ldrv2 line driver second semaphore array (hdlcsim) *) (* supv supervisor process semaphore *) (* poolh transit buffer pool process *) (* poolnnp nnp buffer pool process *) (* incno incarnation number *) (* *) (*****************************************************************) process noah ( var sysvec: system_vector; var ncp: ! tap_pointer; var ltrm: ! ltsmarray; var lrec: ! ltsmarray; var ldrv: ! ltsmarray; var ldrv2: ! ltsmarray; var supv, poolh, poolnnp: ! tap_pointer; var ph:ph_type; var phnnp:ph_type; incno:integer); const version='vers. 810317/'; nwu_del1=125; (* networktime update *) nwu_del2=4; nwb_del1=120; (* networktime broadcast *) nwb_del2=11; (* type *) var (* ----- this node address ------------------------- *) ownadr: nwadr; (* ----- lcp ident of the router ------------------- *) r_lcp_id: integer; r_transit_ph: integer; (* transit buffer pool *) r_nnp_ph: integer; (* nnp buffer pool *) (* ----- connector descriptions -------------------- *) conn_desc: conn_desc_array; (* ------ shadows -----------------------------------*) sh_routsupv: shadow; sh_poolh: shadow; sh_poolnnp: shadow; i: integer; z:zone; process pool_handler( var sysvec: system_vector; var poolh_sem: semaphore; var ncp_sem: semaphore; lcp_ident: integer; var ph:ph_type); external; process supervisor( var sysvec: system_vector; var ncp: ! tap_pointer; lcp_ident: integer; var ltrm: ! ltsmarray; var lrec: ! ltsmarray; var ldrv: ! ltsmarray; var ldrv2: ! ltsmarray; var conn_desc: conn_desc_array; var supv: ! tap_pointer; var poolh,poolnnp: ! tap_pointer; udelay1,udelay2,bdelay1,bdelay2: byte; var ownaddr: nwadr); external; begin testopen(z,own.incname,sysvec(operatorsem)); testout(z,version,0); r_lcp_id:=200+incno; r_transit_ph:=10+incno; r_nnp_ph:=20+incno; for i:=1 to cmax do conn_desc(i).ctyp:=none; (* create router supervisor *) i:=link('supervisor ',supervisor); i:=create('supv ',supervisor(sysvec, ncp,r_lcp_id,ltrm,lrec,ldrv,ldrv2,conn_desc, supv,poolh,poolnnp,nwu_del1,nwu_del2,nwb_del1,nwb_del2,ownadr), sh_routsupv,700); start(sh_routsupv,stdpriority); (* create pool handlers *) i:=link('pool_handler',pool_handler); i:=create('transit pool',pool_handler(sysvec, poolh.w^,ncp.s^,r_transit_ph,ph),sh_poolh,300); start(sh_poolh,stdpriority); i:=create('nnp pool ',pool_handler(sysvec, poolnnp.w^,ncp.s^,r_nnp_ph,phnnp),sh_poolnnp,300); start(sh_poolnnp,stdpriority); end. ▶EOF◀