On return Ry+1 may contain error codes that further define a returned
condition code of 3.
Condition
__ __ Ry".! 0 Data transfer successful
1 End of file
2 File not found
3 4 Device address invalid
3 8 Device type invalid
3 12 Device busy
3 16 Fatal paging I/O error
3 20 Page already locked for I/O Scbcca.e X'OOOO' Rx = start address of fullpage virtual buffer
Ry = virtual spool reader address
The specified device is checked for a file already activated via
DIAGNOSE and, if there is one, the next fullpage buffer is made available to the virtual machine via a call to DftKRPAGT. If no file is
active via DIAGNOSE, the chain of reader files is searched for a file
for the calling user and connected to the virtual device for further
reading. If no file is found, virtual condition code 2 is set. When the
end of an active file is reached, the device status settings are tested
for "spool continuous."' If not set, virtual condition code 1 is set,
indicating end of file. If the device is set for continuous input, the
active file is exaained to deter.ine whether or not it is a
aultiple-copy file. If it is, reading is restarted at the beginning of
the file. If it is not, the file is closed via D!KVSPCR and the reader
chain is searched for another input file. If no other file is found,
virtual condition code 1 is set. A specific DIAGNOSE X'14' Subcode X'OOOO' must be issued to get the first spooled page again.
Subcode X'0004' Rx = virtual address of a 12-doubleword buffer
Ry = virtual spool reader address
If the specified device is in use via diagnose, the VSPLCTL block is
checked to see whether or not this is a repeated call for printer
SFBLOKs. If it is, then the chain search continues froa the point where
the last SFBLOK was given to the virtual aachine. In this case, cc = 1
is set when there are no aore print files. If this is the first call for
an SFBLOK, or if there have been intervening calls for file reading, the
spool input chain is searched froa the beginning, and cc=2 is set if no
files are found. !Qt!: The virtual buffer specified via Rx must not cross a page boundary
or a specification exception will result.
1-54 IBM VM/370 System Logic and Problem Deteraination--Voluae 1
Subcode X'0008' Rx = virtual address of a 12-doubleword buffer
Ry = virtual spool reader address
processing for subcode X'0008' is the same as for subcode 1'0004', except that only card-image input files are processed.
Note: For both subcode X'0004' and subcode 1'0008', the for.at
definition for a VK/370 SFBLOK can be found in the syste •• acro library. Subcode X'OOOC' Rx = file identifier of requested file
Ry = virtual spool reader address
The spool input chain is searched for the file specified. If it is
not found, cc=2 is set. If it is found, the file is aoved to the head
of the chain so that it will be the next file processed by any of the
other functions.
Subcode X'0010' Rx = new copy count for the active file
Ry = virtual spool reader address
The specified device is checked for an active file. If no file is
active, cc=2 is set. Otherwise, the copy COUNT for the file is set to
the specified value, with a .axi.u. of 255. If the specified count is
not positive, a specification exception is generated. If the count is
greater than 255, it is adjusted to module 256.
Subcode X'0014' Rx = start address of virtual fullpage buffer
Ry = virtual spool reader address
The specified device is checked for an active file. If no active file
is found, cc=2 is set. Otherwise, the VSPLCTL pointers are reset to the
beginning of the file.
Subcode X'0018' Rx = start address of virtual full page buffer
Ry = virtual spool reader address
CP Introduction 1-55
Previous Page Next Page