XUTMDEVQ ;ISCSF/RWF - Device call and Queue in one place ;01/18/2006
Source file <XUTMDEVQ.m>
Name | Comments | DBIA/ICR reference |
---|---|---|
EN(ZTRTN,ZTDESC,ZTSAVE,%ZIS,%) | ;ZTSAVE AND %ZIS pass by reference.
|
|
KILL | ||
ZIS | ;
|
|
ZTLOAD | ;
|
|
RUN | ;
|
|
DEV(ZTRTN,ZTDESC,%VAR,%VOTH,%ZIS,IOP,%WR) | ; single que ask for device
; ZTRTN - required - [tag]^routine that taskman will run ; ZTDESC - optional - default to name of [tag]~routine ; %VAR - optional - single value or passed by reference ; this will be used to S ZTSAVE() ; can be a string of variable names separated by ';' ; each ;-piece will be used as a subscript in ztsave ; %VOTH - optional - passed by reference ; %voth(sub)="" or explicit value ; sub - this is any other %ZTLOAD variable besides ; ZTRTN,ZTDESC,ZTIO,ZTSAVE ; example: %VOTH("ZTDTH")=$H ; %ZIS - optional - default value "MQ" - passed by reference ; standard %ZIS variable array for calling device handler ; IOP - optional - IOP variable as defined in Kernel device handler ; %WR - optional - if %WR>0 then write text to the screen as to ; whether or not the queueing was successful |
|
OUT | ||
NODEV(ZTRTN,ZTDESC,%VAR,%VOTH,%WR) | ; single que no device needed
; see DEV for parameter descriptions and return values |
|
QQ(%RTN,%DESC,%VAR1,%VOTH1,%ZIS,IOP,%WR,%RTN2,%DESC2,%VAR2,%VOTH2) | ;
; double queuing - queue up the second routine to device, but do not ; schedule the task in Taskman ; queue up the first job to ZTIO="" and schedule it ; %RTN - required - [tag]^routine for the 1st job to be run (usually a ; search and build sorted data type process) ; %DESC - optional - ZTDESC value for 1st job (default [tag]~routine) ; %VAR1 - optional - ZTSAVE values for 1st job - see %VAR descript above |
|
REQQ(ZTSK,ZTDTH,%VAR) | ;Reschedule the second part of a QQ task.
|
|
SETUP | ; setup %ztload variables
|
|
VAR | ;Setup ZTSAVE
|
Name | Line Occurrences |
---|---|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Routine Call |
|
Routine Call |
|
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
% | EN~, EN+2 |
%DESC | QQ~, QQ+55 |
%DESC2 | QQ~, QQ+43 |
%RET | EN+2~, ZTLOAD+3*, DEV+22~, DEV+23*, DEV+25*, OUT, OUT+1, OUT+2, OUT+3, OUT+5 , NODEV+2~, NODEV+3*, QQ+35~, QQ+36*, QQ+51, QQ+56* |
%RTN | QQ~, QQ+37, QQ+52 |
%RTN2 | QQ~, QQ+37, QQ+39 |
%TMP | QQ+36~, QQ+51*, QQ+56 |
%VAR | DEV~, NODEV~, QQ+36~, QQ+40*, QQ+41*, QQ+51!, QQ+53*, REQQ~, VAR+1 |
%VAR( | VAR+2 |
%VAR1 | QQ~, QQ+41, QQ+53 |
%VAR2 | QQ~, QQ+40 |
%VOTH | DEV~, NODEV~, QQ+36~, QQ+42*, QQ+51!, QQ+54*, SETUP+3 |
%VOTH( | SETUP+3 |
%VOTH1 | QQ~, QQ+54 |
%VOTH2 | QQ~, QQ+42 |
%WR | DEV~, OUT, NODEV~, QQ~ |
%ZIS | EN~, ZIS+1*, DEV~, QQ~, QQ+44, QQ+51! |
I | SETUP+1~, VAR+1* |
IO | RUN+1 |
IO("Q" | EN+2!, EN+4, ZTLOAD+1!, DEV+25, SETUP+1! |
IOP | DEV~, QQ~, QQ+46*, QQ+47*, QQ+51! |
POP | EN+3, DEV+22~, DEV+24, NODEV+2~, QQ+35~, QQ+49 |
U | OUT+3, QQ+56, SETUP+4 |
X | SETUP+1~, SETUP+3*, VAR+1*, VAR+2* |
Y | SETUP+1~ |
ZTCPU | EN+2~, DEV+22~, NODEV+2~, QQ+35~, REQQ+2~, SETUP+1! |
ZTDESC | EN~, DEV~, NODEV~, QQ+35~, QQ+43*, QQ+55*, REQQ+2~, SETUP+4* |
ZTDTH | EN+2~, KILL!, DEV+22~, NODEV+2~, QQ+35~, QQ+50*, REQQ~, REQQ+3, SETUP+1! |
ZTIO | EN+2~, DEV+22~, NODEV+2~, NODEV+3*, QQ+35~, QQ+44*, QQ+49, QQ+56*, REQQ+2~ |
ZTKIL | DEV+22~, NODEV+2~, QQ+35~, REQQ+2~, SETUP+1! |
ZTPRI | DEV+22~, NODEV+2~, QQ+35~, REQQ+2~, SETUP+1! |
>> ZTQUEUED | OUT |
ZTREQ | REQQ+2~ |
ZTRTN | EN~, EN+1, RUN+2, DEV~, DEV+23, NODEV~, NODEV+3, QQ+39*, QQ+52*, REQQ+2~ , SETUP+4 |
ZTSAVE | EN~, KILL!, DEV+22~, NODEV+2~, QQ+35~, REQQ+2~, SETUP+1! |
ZTSAVE( | VAR+1*, VAR+2* |
ZTSAVE("XUTMQQ" | QQ+56* |
ZTSK | EN+2~, ZTLOAD+1!, ZTLOAD+3, DEV+22~, NODEV+2~, QQ+35~, REQQ~, REQQ+3, SETUP+1! |
ZTSK(0 | REQQ+6 |
ZTSYNC | EN+2~, DEV+22~, NODEV+2~, QQ+35~, REQQ+2~, SETUP+1! |
ZTUCI | EN+2~, DEV+22~, NODEV+2~, QQ+35~, REQQ+2~, SETUP+1! |