These keys are created by the device allocator key {(p2,bdevice)}.
DIO(0,ccw-string;SEGMENT==>c) - Start channel program
"segment-offset" is the offset in SEGMENT to the data affected by the operation.
"flags" are the CCW flags with the following restrictions:
Pages must exist, even if SKIP is specified.
If a CCW is not a TIC and is not the last CCW it must specify command chaining. If a CCW is not a TIC and is the last CCW it must not specify command chaining.
"SEGMENT" is an lss3 node key to a node whose slots hold read/write page keys for those addresses required by the channel program.
1 - An interrupt has occurred since the last one reported. A SIOF was not issued. Use order code 1 to get the csw and sense information. Order 0 on BDEVICE (device) for this device does not clear an interrupt. Order 7 on this key (DIO) clears interrupts.
2 - Invalid CCW string
3 - CCW string too long, not a multiple of eight in length, or none provided
100 - access rescinded {the device’s associated "b" number is different from the device key’s}
101 - device has not been gen’ed into the kernel
KT+3 - The SEGMENT key provided was not a lss=3 read/write node key to a node with sufficient read/write page keys to cover the area referred to by the CCW’s.
"csw" is ((1,cc),(3,ccw-offset),(2,status),(2,residual-count)) where:
"status" in "csw" is ((1,Unit status),(1,Channel status)).
These fields are defined by the hardware. The bits in Unit-status
are called:]
Attention, Status modifier, Control-unit
end, Busy, Channel end, Device end, Unit check, Unit exception.]
The bits in Channel status are called:]
Program-controlled
interruption, Incorrect length, Program check, Channel-data
check, Protection check, Channel-data check, Channel-control
check, Interface-control check, Chaining check.
Return codes:
1 - Operation ended with order 3 (by another domain) on this key.
100 - access rescinded {the device’s associated "b" number is different from the device key’s}
101 - device has not been gen’ed into the kernel
Return codes:
1 - No operation in progress
100 - access rescinded {the device’s associated "b" number is different from the device key’s}
101 - device has not been gen’ed into the kernel
1 - There is already a wake up pending
100 - access rescinded {the device’s associated "b" number is different from the device key’s}
101 - device has not been gen’ed into the kernel
1 - A pending wake up was canceled.
100 - access rescinded {the device’s associated "b" number is different from the device key’s}
101 - device has not been gen’ed into the kernel
c=0: The Gnosis system is running in a virtual machine. A RESET command was issued for the device. "s" is ((4,completion_code),(1,flag),(n,response)). "completion_code" is the completion code from the RESET command. If "flag" = 0, "response" is CP’s response {that would normally go to the VM console} in EBCDIC. If flag = 1, CP’s response was too large to be captured and "response" is empty.
c=1: The Gnosis system is not running in a virtual machine, or the device address is greater than X'FFFF'. "s" is null.
c=100: The ID in the device I/O key did not match the SERIAL in the device. "s" is null.
c=101: The device did not exist. "s" is null.
c=0: The Gnosis system is running in a virtual machine. The SPOOL command was issued for the device. "s" is ((4,completion_code),(1,flag),(n,response)) as above.
c=1: The Gnosis system is not running in a virtual machine, or the device address is greater than X'FFFF'. "s" is null.
c=2: "parameters" is longer than an implementation limit, currently 123 bytes. "s" is null.
c=100: as above.
c=101: as above.
c=100: as above.
c=101: as above.
Return codes
Return codes
2 - CTT is more than 4096 bytes
Returns the type of the device. The following have been defined: