|
|
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: 3072 (0xc00)
Types: TextFile
Names: »setproctx«, »setproctx «
└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
└─⟦75ff9bef3⟧
└─⟦this⟧ »setproctx «
└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
└─⟦75ff9bef3⟧
└─⟦592c22808⟧ »proctxpack «
└─⟦c7b1c7cfc⟧
└─⟦this⟧ »setproctx«
; set_proc * page 1 19 01 82, 13.07;
if listing.yes
char 10 12 10
set_proc = set 1 0
set_proc = algol
external integer procedure set_proc(name, tail);
________________________________________________
long array name; integer array tail;
<*
setproc (return, integer) 0 ok
_ 1 change kind impossible
_ 2 bs device unknown
_ 3 change bs device impossible
_ 4 no resources
_ 5 in use
_ 6 name format illegal
_ 7 catalog inconsistent
name (call, long array) contains the entry name.
_ If name(1)=long<::> a wrkname is
_ created and name is return parameter.
tail (call, long array) contains the entry tail
_ 1 size or modekind
_ 2:5 docname
_ 6 shortclock, in case shortclock
_ is found in the entry
_ 7:10 remaining tail
*>
begin integer i;
long array field laf;
zone zhelp(1, 1, stderror);
integer array ia(1:20);
i:=1; open(zhelp, 0, string name(increase(i)), 0);
laf:=0; for i:=1 step 1 until 5 do ia.laf(i):=tail.laf(i);
i:=monitor(40<*create*>, zhelp, 0, ia);
setproc:=i;
if name(1)=long<::> then
begin <*get wrkname*>
getzone6(zhelp, ia);
laf:=2;
name(1):=ia.laf(1);
name(2):=ia.laf(2);
end;
if i=3 then
begin <*entry exists*>
i:=monitor(42<*lookup*>, zhelp, 0, ia);
if i<>0 then
begin setproc:=7; goto exit_setproc end;
if tail(1)<0 or ia(1)<0 then
begin
if tail(1)>=0 or ia(1)>=0 then
begin setproc:=1; goto exit_setproc end;
goto change
end;
\f
comment set_proc * page 2 19 01 82, 13.07;
if tail(2)=0 or tail(2)=1 then goto change;
if tail(3) extract 8=0 then tail(4):=tail(5):=0;
if tail(2)<>ia(2) or tail(3)<>ia(3) or
tail(4)<>ia(4) or tail(5)<>ia(5) then
begin setproc:=3; goto exit_setproc end;
change:
laf:=0; for i:=1 step 1 until 5 do ia.laf(i):=tail.laf(i);
i:=monitor(44<*change*>, zhelp, 0, ia);
if i=6 then i:=4;
setproc:=i;
end entry exists;
exit_setproc:
end set_proc;
end
if ok.no
mode warning.yes
if warning.yes
(mode 0.yes
message set_proc not ok
lookup set_proc)
▶EOF◀