|
|
DataMuseum.dkPresents historical artifacts from the history of: DANOSI |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DANOSI Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 5693 (0x163d)
Types: TextFile
Names: »XROU.ENV«
└─⟦5bf9983c6⟧ Bits:30010496 DANOSI SW50070 Disk 2/2 MegaSwitch Development Toolset Rel. 1.1 PN: 798-66-79 DVBS1.SW50070.rel.1.1.2/2
└─⟦this⟧ »PAXENV\XROU.ENV«
xrouenv;
(**************************************************************)
(* *)
(* external router environments *)
(* *)
(**************************************************************)
(***************************************************************
date init changes
---------------------------------------------------------------
810600 tsg/jli first released version
810630 tsg k and autocon inserter in hlopen_type (2 bytes)
810729 jli ubd_cnt inserted in statexttype
810918 tsg facility mask type changed
810922 tsg hdlc connector statistics changed
820618 jli --------------------------------- meanqueue inserted
820803 tsg universal environment restructuring performed
821104 tsg new packet header
821216 tsg new operation: read own address
881117 kgj datagram header format 4 defined
881117 kgj datagram header format 2, short format, deleted
-----------------------------------------------------------------------
890119 kgj phead1 changed for new lineprotocol, rph1 unchanged
901124 bb corrections for mega portability
(**********************************************************************)
(* *)
(* 910920 vr 1.2 Definition of rout_datagram_address, rout_addres *)
(* and rout_head included. *)
(* 920617 var 1.3 Target RC5000 changed to TA. This was already done *)
(* by somebody called tof (nickname for tog ?) 920204 *)
(* without a new version number !!!!. The 920204 *)
(* is hereafter considered illegal, and should not be *)
(* used. *)
(* *)
(**********************************************************************)
const
(* user interface *)
(*----------------*)
(* u1 values *)
connect_ext = 1*4+0; (* connect extension *)
disconnect_ext = 2*4+0; (* disconnect extension *)
reset = 3*4+0; (* reset *)
read_addr = 4*4+0; (* read own address *)
trm_packet = 0*4+2; (* transmit packet *)
dir_transm = 1*4+2; (* directed transmit *)
rec_packet = 0*4+1; (* receive packet *)
get_packet = 1*4+1; (* get packet *)
sense_ready = 2*4+1; (* sense ready *)
(* special router u2 values (results) *)
conn_unkn=6; (* connector number unknown *)
(* packet parameters *)
(* packet formats *)
dg_form1=2; (* format 1 *)
dg_form3=128; (* format 3 *)
dg_form4=8; (* format4 - extended format1 used by local conn *)
(* packet types *)
ext_user_p=1; (* external user packet *)
(* packet states *)
st_notrmreso=1; (* transmission closed caused by no resources *)
st_extunkn=5; (* extension dst unknown *)
st_norecreso=6; (* no receive resources *)
st_congestion=7; (* congestion in the network *)
st_ltexceed=8; (* lifetime exceeded *)
st_lineerror=9; (* line error *)
st_fpatherr=10; (* fixed path error *)
st_mirrored=11; (* mirrored *)
(* facility mask bits definitions *)
fac_rej= #h8000;
fac_rejlt= #h4000;
fac_timelt= #h2000;
fac_linklt= #h1000;
fac_hrej= #h0800;
fac_bcast= #h0400;
fac_mirror= #h0080;
fac_drop= #h0040;
fac_spath= #h0020;
fac_fpath= #h0010;
fac_trace= #h0001;
fac_mask_0= 0;
(* lengths of fields in packet *)
trhead_lgt=8; (* trailer head length in bytes *)
trrec_lgt=4; (* trailer record length in bytes *)
phead1_lgt=22; (* packet head format 1 length in bytes *)
type
rparamtype=record
rparam1,rparam2,rparam3,rparam4: integer;
end;
ROUT_datagram_address = record
net, reg, node: byte;
end;
ROUT_address = record
dg : ROUT_datagram_address;
ext: integer;
end;
ROUT_head = record
format, priority, typ: byte;
dst_address: ROUT_address;
$IF target <> TA
exp_dist: integer;
$ENDIF
rem_detours, crc_x_level, state: byte;
org_address: ROUT_address;
$IF target <> TA
crc_field, top_of_data: integer;
$ELSE
top_of_data: int16;
$ENDIF
end;
routptype=record
drvbuf: drvbuftype;
rparam: rparamtype;
end;
phead1 = record
format, priority,
typ, net_dst,
reg_dst, node_dst: byte;
ext_dst: integer;
$if target <> TA
exp_dist: integer;
$endif
rem_detours, crc_x_level,
state, net_org,
reg_org, node_org: byte;
ext_org: integer;
$if target <> TA
crc_field,
$endif
$if target <> TA
top_of_data: integer;
$else
top_of_data: int16;
$endif
end;
rph = record
drvbuf: drvbuftype;
rparams: rparamtype;
head: phead1;
end;
const
crc_bit = #b11000000;
not_crc_bit = #b00111111;
crc_factor = 64;
type
old_phead1= record
format,priority,
typ,net_dst,
reg_dst,node_dst: byte;
ext_dst: integer;
exp_dist: integer;
rem_detours,ffu: byte;
state,net_org,
reg_org,node_org: byte;
ext_org: integer;
fac: integer;
top_of_data: integer;
end;
rph1=record
drvbuf: drvbuftype;
rparams: rparamtype;
head: old_phead1;
end;
tr_head_type = record
timelimit: integer;
linklimit: integer;
top_of_trailer: integer;
next_record: integer;
end;
tr_record_type = record
reg,
node: byte;
time: integer;
end;
.