Spooler Plus Programmer's Guide
Sample Perusal Process
Spooler Plus Programmer’s Guide—522293-003
B-11
 BEGIN
 line[j] := ".";
 j := j + 1;
 END;
 line [j] := dev^stat.name[i].<0:7>;
 j := j +1;
 END;
 IF dev^stat.name[i].<8:15> <> " " THEN
 BEGIN
 line [j] := dev^stat.name[i].<8:15>;
 j := j+1;
 END;
 END;
 CASE dev^stat.state OF
 BEGIN
 !0! call err(dev^stat.state);
 !1! line[36] ':=' "WAITING";
 !2! line[36] ':=' "PRINTING";
 !3! line[36] ':=' "SUSPENDED";
 !4! line[36] ':=' "DEVERROR";
 !5! line[36] ':=' "OFFLINE";
 !6! line[36] ':=' "PROCERROR";
 OTHERWISE CALL err (dev^stat.state);
 END;
 IF dev^stat.flags.<10> THEN line[51] :="T";
 IF dev^stat.flags.<12> THEN line[52] :="D";
 IF dev^stat.flags.<13> THEN line[53] :="H";
 IF dev^stat.flags.<14> THEN line[54] :="E";
 IF dev^stat.flags.<15> THEN line[51] :="F";
 line[58] ':=' dev^stat.print^process FOR 6;
 line[66] ':=' dev^stat.form^name FOR 16;
 CALL WRITE (termnum, iline, 80);
 error^code := SPOOLERSTATUS(supernum, 1, 1, dev^stat);
 END;
 IF error^code <> %14006 THEN CALL err(error^code) ;
 END;
?page
! jobstat displays the status of all jobs owned by the current user.
PROC jobstat;
 BEGIN
 INT error^code,
 temp;
! Prepare the header line of the display
 line[0] := " ";
 line[1] ':=' line[0] FOR 79;
 line[2] ':=' "JOB";
 line[8] ':=' "STATE";
 line[15] ':=' "PAGES";
 line[22] ':=' "COPIES";
 line[30] ':=' "PRI";
 line[35] ':=' "HOLD";
 line[41] ':=' "LOCATION";
 line[57] ':=' "REPORT";
 CALL WRITE( termnum, iline, 0);
 CALL WRITE( termnum, iline, 79);
 job.number := 0;
 job.number.<0> := 1;
 job.owner^id := CREATORACCESSID;
 ! Get the status of each job and display it
 error^code := SPOOLERSTATUS(supernum, 2, 1, job);
 WHILE error^code = 0 DO
 BEGIN
 IF job.owner^id = CREATORACCESSID THEN
 BEGIN










