|
|
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: 4608 (0x1200)
Types: TextFile
Names: »link8000 «
└─⟦9ccaf6601⟧ Bits:30008165 Bånd med SW8000 kildetekst/release værktøjer
└─⟦2ba378e4a⟧
└─⟦this⟧ »link8000 «
begin comment: part 1;
integer array zdescr(1:20),shdescr(1:12),ia(1:20);
zone z(6,1,stderror),p(1,1,stderror),zout(128,1,stderror);
integer lastdevno,bsmkind,bsbufs,bsbufsize,
twmkind,twbufs,twbufsize,
ptrmkind,ptrbufs,ptrbufsize,
ptpmkind,ptpbufs,ptpbufsize,
lptmkind,lptbufs,lptbufsize,
cdrmkind,cdrbufs,cdrbufsize,
mtmkind,mtbufs,mtbufsize,
fdmkind,fdbufs,fdbufsize;
boolean newname;
procedure bs(devno,devname);
integer devno;
string devname;
linkup(bsmkind,bsbufs,bsbufsize,devno,devname);
procedure tw(devno,devname);
integer devno;
string devname;
linkup(twmkind,twbufs,twbufsize,devno,devname);
procedure ptr(devno,devname);
integer devno;
string devname;
linkup(ptrmkind,ptrbufs,ptrbufsize,devno,devname);
procedure ptp(devno,devname);
integer devno;
string devname;
linkup(ptpmkind,ptpbufs,ptpbufsize,devno,devname);
procedure lpt(devno,devname);
integer devno;
string devname;
linkup(lptmkind,lptbufs,lptbufsize,devno,devname);
procedure cdr(devno,devname);
integer devno;
string devname;
linkup(cdrmkind,cdrbufs,cdrbufsize,devno,devname);
procedure mt(devno,devname);
integer devno;
string devname;
linkup(mtmkind,mtbufs,mtbufsize,devno,devname);
procedure fd(devno,devname);
integer devno;
string devname;
linkup(fdmkind,fdbufs,fdbufsize,devno,devname);
procedure host(hostno,hostid,homereg,netid);
integer hostno,hostid,homereg,netid;
begin
shdescr(7):=hostno;
shdescr(8):=hostid;
shdescr(9):=homereg shift 12 + netid;
end host;
procedure name(devicename);
string devicename;
begin
open(p,0,devicename,0);
getzone6(p,ia);
newname:=true;
close(p,false);
end name;
procedure linkup(mkind,bufno,bufsize,devno,devname);
integer mkind,bufno,bufsize,devno;
string devname;
begin
real array ra(1:2);
integer i,j;
integer array field iaf;
integer array name(1:20);
lastdevno:=devno;
open(p,0,devname,0);
getzone6(p,name);
close(p,true);
iaf:=0;
shdescr(4):=1 shift 12 + 7 shift 1 +0;
shdescr(5):=zdescr(19)+1;
shdescr(6):=zdescr(19)+1+20;
setshare6(z,shdescr,1);
zdescr(14):=zdescr(19);
zdescr(15):=zdescr(19)+zdescr(20);
zdescr(16):=24;
setzone6(z,zdescr);
z.iaf(1):=mkind;
z.iaf(2):=bufno;
z.iaf(3):=bufsize;
for i:=4 step 1 until 7 do
z.iaf(i):=name(i-2);
z.iaf(8):=devno;
write(zout,<:<10>:>,<<ddd>,<:1<12+7<1,k+14,k+34,:>,
shdescr(7),<:,:>,shdescr(8),<:,:>,shdescr(9) shift (-12),
<:<12+:>,shdescr(9) extract 12,<:,0,0<10>:>);
ra(1):=0.0 shift 24 add name(2) shift 24 add name(3);
ra(2):=0.0 shift 24 add name(4) shift 24 add name(5);
i:=1;
write(zout,<<ddd>,mkind,<:,:>,bufno,<:,:>,bufsize,
<:,<60><58>:>);
j:=11-write(zout,string ra(increase(i)));
write(zout,<:<60>0<62>:>);
write(zout,<:<58><62>,:>);
j:=j//3;
for i:=1 step 1 until j do
write(zout,<:0,:>);
write(zout,<<dddd>,devno,<:,0,0,0:>);
if newname then
begin
ra(1):=0.0 shift 24 add ia(2) shift 24 add ia(3);
ra(2):=0.0 shift 24 add ia(4) shift 24 add ia(5);
end;
i:=1;
write(zout,<:,<60><58>:>);
j:=11-write(zout, string ra(increase(i)));
write(zout,<:<60>0<62><58><62>:>);
j:=j//3;
for i:=1 step 1 until j do
write(zout,<:,0:>);
newname:=false;
end linkup;
comment: part 2;
newname:= false;
bsmkind:=6;
bsbufs:=1;
bsbufsize:=512*3//2;
twmkind:=8;
twbufs:=1;
twbufsize:=128*3//2;
ptrmkind:=2 shift 12 +10;
ptrbufs:=1;
ptrbufsize:=128*3//2;
ptpmkind:=2 shift 12 +12;
ptpbufs:=1;
ptpbufsize:=172*3//2;
lptmkind:=14;
lptbufs:=1;
lptbufsize:=172*3//2;
cdrmkind:=10 shift 12+16;
cdrbufs:=1;
cdrbufsize:=256*3//2;
mtmkind:=18;
mtbufs:=1;
mtbufsize:=(4*512+12)*3//2;
fdmkind:=22;
fdbufs:=1;
fdbufsize:=342*3//2;
open(z,0,<:host:>,0);
getzone6(z,zdescr);
getshare6(z,shdescr,1);
open(zout,4,<:deviceinit:>,0);
comment: part 3. definitions of links;
comment: part 4;
write(zout,<:<10>u.<25>:>);
close(zout,true);
end;
finis
▶EOF◀