DATA TRANSFER ERROR CODES When a virtual machine executes a SEND, SEND!, or SEND/RECV subfunction,
the normalDIAGNOSE return code is zero, indicating that the request was
successfully initiated. However, when the actual data transfer takes
place, errors can occur. All errors occurring at data transfer time are
communicated to the source virtual machine in theRESPONSE external
interrupt message header,VMCMHDR. Figure 21 shows error codes
indicating conditions that are possible-after theSENDX, SEND, or SEND/RECV request is initiated. The error codes correspond to DIAGNOSE return code numbers.
, 1 ,I Error I I I Code I Meaning I I 0 IThe normal response (no errors) • , I I 1 IInvalid buffer address or length. The SEND and/or RECEIVEI I Ibuffers used for a data transfer operation are not within thel , Ivirtual machine's virtual storage. The beginning and ending' I I addresses were valid when a request was initiated but alII I I addresses are not valid. I I I I 5 IUser not available. The sink virtual machine executed thel I IUNAUTHORIZE function, reexecuted the AUTHORIZE SPECIFICI I Isubfunction, or implicitly reset his virtual machine after thel I Isource virtual machine request Was initiated. I I I 6 IProtection violation. The storage key for a virtual machine'sl I ISEND or RECEIVE buffer did not match its PSi key at the timet I Ithe transfer was initiated. (Assume the key was nonzero.) Thisl I lerror code is also set if a virtual machine attempts to RECEIVEI I I data into a CP-owned shared segment. I I I -I I 7 ISENDX data is too large. The sink virtual machine reexecutedl I IAUTHORIZE and specified an external interrupt buffer size less, I Ithan the buffer size at the time a SENDX subfunction wasl I lexecuted. The SENDX data will no longer fit in the sink, I Ivirtual machine buffer. I I I I 15 IPaging I/O error. An uncorrectable paging I/O error occurredl I Iduring the data transfer operation attempting to fetch at I ,virtual machine SEND or RECEIVE buffer. This is a hardware, I Ifailure. I I I I I 16 IIncorrect length. The sink virtual machine executed a RECEIVEI I Isubfunction with a data length (VMCPLENA) smaller than thel I loriginal SEND data length or a REPLY subfunction with a REPLYI I Idata length larger than the source virtual machine REPLY bufferl I Ilength. I , I --I I 17 IDestructive overlap. A virtual machine was communicating withl I litself in a "wrap connection" and his SEND or RECEIVE buffersl I loverlapped one another (intra-virtual machine communication). I I I I I 19 IData transfer error. A data transfer error occurred which wasl I lassociated with the other virtual machine. The transaction didl I Inot complete successfully. I I J
Figure 21.DIAGNOSE Code X'68' Data Transfer Error Codes 170 IB" VM/370 System programmer's Guide
the normal
successfully initiated. However, when the actual data transfer takes
place, errors can occur. All errors occurring at data transfer time are
communicated to the source virtual machine in the
interrupt message header,
indicating conditions that are possible-after the
, 1 ,
Figure 21.