%ZISUTL ;ISD/HGW - Device Handler Utility routine ; 8/19/20 10:51am
Source file <ZISUTL.m>
Name | Comments | DBIA/ICR reference |
---|---|---|
GETDEV(X) | ;Return IO variables
; ZEXCEPT: POP |
|
SAVDEV(NM) | ;Save IO variables
|
|
SYMBOL(MODE,ROOT) | ;0=Save, 1=Restore, K=Kill IO variables
|
|
RMDEV(X) | ;Remove saved IO variables.
|
|
RMALLDEV() | ;Remove saved IO variables for all devices saved in table.
|
|
FINDEV(NM) | ;Find Device name and return IEN.
|
|
NEXTDEV(NM) | ;Return next available device.
|
|
OPEN(HNDL,IOP,%ZIS) | ;Open extrinsic function
|
|
CLOSE(X1) | ;Close extrinsic function
|
|
USE(X1) | ;Restore IO* variables pertaining to the device.
|
|
LINEPORT() | ;Return device name for line port.
|
|
LNPRTSUB() | ;Return line port subtype pointer.
|
|
LNPRTNAM() | ;Return Line port name
|
|
LNPRTIEN(X) | ;Return internal entry number of Line/port
|
|
LNPRTADR(X) | ;Returns Line/Port name of a fixed device.
|
|
FIND(IOP) | ;e.f. Get the IEN of a device
|
|
NOQ(IOP) | ;e.f. Return queueing status
|
|
UNIQUE(ZISNA) | ;Build a unique number to add to a device name
|
|
ENDOFILE() | ;p599 Set Cache end-of-file to work like DSM
|
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^%ZIS(1 - [#3.5] | LNPRTADR+3, NOQ+3 |
^%ZIS(3.23 - [#3.23] | LINEPORT+3, LNPRTSUB+3, LNPRTIEN+2, LNPRTADR+4, LNPRTADR+5 |
^%ZOSF("OS" | LNPRTNAM+2 |
^%ZOSF("VOL" | FIND+2 |
^TMP("XUDEVICE" | GETDEV+2, GETDEV+6, SAVDEV+5, RMDEV+4!, RMALLDEV+1!, FINDEV+1, NEXTDEV+2, NEXTDEV+3* |
^TMP("ZISUTL" | UNIQUE+3 |
Name | Line Occurrences |
---|---|
$$FIND | NOQ+2 |
$$FINDEV | SAVDEV+4, RMDEV+2, CLOSE+3 |
$$NEXTDEV | SAVDEV+4 |
GETDEV | CLOSE+5 |
RMDEV | CLOSE+6 |
SAVDEV | OPEN+7 |
SYMBOL | GETDEV+5, GETDEV+6, SAVDEV+7 |
Name | Field # of Occurrence |
---|---|
^(0 | LNPRTADR+5 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
% | GETDEV+4~, SAVDEV+2~, SYMBOL+1~, SYMBOL+5*, SYMBOL+6, SYMBOL+7, SYMBOL+8, OPEN+5~, CLOSE+2~, USE+3~ , LINEPORT+1~, LINEPORT+2*, LINEPORT+3, LNPRTSUB+1~, LNPRTSUB+2*, LNPRTSUB+3, LNPRTNAM+1~, LNPRTNAM+2*, LNPRTNAM+3, LNPRTNAM+5 , LNPRTADR+1~, LNPRTADR+3*, LNPRTADR+4*, LNPRTADR+5, UNIQUE+2~, UNIQUE+4*, UNIQUE+5, UNIQUE+6*, UNIQUE+7*, UNIQUE+8 , ENDOFILE+2~, ENDOFILE+5* |
%1 | UNIQUE+2~, UNIQUE+6*, UNIQUE+7 |
%2 | UNIQUE+2~, UNIQUE+3*, UNIQUE+4 |
%X | NOQ+2~*, NOQ+3 |
%XX | FIND+1~, FIND+2* |
%Y | NOQ+2~, NOQ+3*, NOQ+4 |
%YY | FIND+1~, FIND+3 |
%ZIS | OPEN~, FIND+1~ |
%ZISV | FIND+1~, FIND+2* |
HNDL | OPEN~, OPEN+7 |
IO | SAVDEV+3, SYMBOL+3, SYMBOL+4*, USE+7 |
IO("CLOSE" | USE+8! |
IO("S" | GETDEV+4! |
IO(0 | USE+7 |
IO(1 | USE+7 |
IOP | OPEN~, OPEN+6!, FIND~, FIND+2, NOQ~, NOQ+2 |
>> IOT | USE+7 |
MODE | SYMBOL~, SYMBOL+3, SYMBOL+4, SYMBOL+6, SYMBOL+7, SYMBOL+8 |
NM | SAVDEV~, SAVDEV+4, SAVDEV+6, FINDEV~, FINDEV+1, NEXTDEV~, NEXTDEV+3 |
>> POP | GETDEV+2*, OPEN+7 |
R | SAVDEV+2~, SAVDEV+5*, SAVDEV+6, SAVDEV+7 |
ROOT | SYMBOL~, SYMBOL+3, SYMBOL+4, SYMBOL+6, SYMBOL+7 |
U | NOQ+3 |
X | GETDEV~, GETDEV+2, GETDEV+6, RMDEV~, RMDEV+2, RMDEV+4, LNPRTIEN~, LNPRTIEN+1, LNPRTIEN+2, LNPRTADR~ , LNPRTADR+3 |
X1 | CLOSE~, CLOSE+3, CLOSE+6, USE~, USE+4 |
Y | SAVDEV+2~, SAVDEV+4*, SAVDEV+5, RMDEV+1~, RMDEV+2*, RMDEV+3, RMDEV+4, NEXTDEV+1~, NEXTDEV+2*, NEXTDEV+3 , NEXTDEV+4, CLOSE+2~, CLOSE+3*, CLOSE+4, CLOSE+5, USE+3~, USE+4*, USE+5, USE+6, LNPRTNAM+1~ , LNPRTNAM+2*, LNPRTNAM+4*, LNPRTNAM+6, LNPRTADR+1~, LNPRTADR+2*, LNPRTADR+5*, LNPRTADR+6 |
ZISNA | UNIQUE~, UNIQUE+5, UNIQUE+6, UNIQUE+7 |