April 1, 1981
The length of the associated data or buffer is specified in
the VMCPLENA field. VMCPLENA contains the length of the data sent by a user, the length of
a RECEIVE buffer, or the length of an external interrupt
buffer, whichever is specified in the field VMCPVADA. The
size of the value specified in VMCPLENA is restricted only by
virtual machine storage size. The sink virtual machine can use the value in this field as
the data length for RECEIVE operations. VMCPVADB Contains the address of a source virtual machine's REPLY buffer for a SEND/RECV request. When the sink virtual machine
issues a REPLY in response to a SEND/RECV from the source
virtual machine, the REPLY data is moved in this buffer. The
length of the REPLY buffer is contained in the field VMCPLENB. VMCPLENB Specifies the length of the source virtual machine's REPLY buffer. The sink virtual machine uses this field to determine
the maximum length of the REPLY. A corresponding field within
the response message header contains a residual data count.
The source virtual machine uses this residual to
determine the length of the sink reply. The original REPLY buffer length (less the residual count) is the length of the REPLY from the sink virtual machine. VMCPUSE contains the VMCF user doubleword. The user doubleword is
transmitted to .the sink virtual machine in the SEND message
header for SEND, SEND/RECV, SENDX, and IDENTIFY requests. For RECEIVE, REPLY, and REJECT requests, the user doubleword is
transmitted to the source virtual machine within the RESPONSE message header. The sink virtual machine can transmit the
user doubleword to the source virtual machine with REJECT or REPLY requests only if the original request was a SEND/RECV. The user doubleword is transmitted only with requests that
result in 'SEND or RESPONSE external interrupts.
The following chart summarizes the VMCPARM fields required for
execution of each of the VMCF subfunctions. Possible return
codes associated with each subfunction are also listed. A
discussion of the return codes and their meanings can be found
in the section "DIAGNOSE X'0068' RETURN CODES." 162 IBM VM/3 7 0 System Programmer's Guide
April 1, 1981 r- i VMCF i ISubfunctionl Applicable VMCPARM Parameters Return Codes l- -+- I I I AUTHORIZE I VMCPFLG1 - SPECIFIC/PRIORITY option 0,1,2,6,15 I I VMCPFUNC - X'OOOO' - subfunction code I I VMCPITSER - SPECIFIC user id I I VMCPVADA - external interrupt buffer address I I VMCPLENA - external interrupt buffer length .. ------+- I UNAUTHORIZEI VMCPFUNC - X'OO01' - subfunction code 0,2,4,15 l- I I SEND VMCPFLG1 - PRIORITY option 0,1,2,4,5,8 I I VMCPFUNC - X'OO02' - subfunction code 9,10,15,18 I I VMCPMID - message identifier I I VMCPUSER - sink userid I I VMCPVADA - SEND data address I VMCPLENA - SEND data length I I VMCPUSE - user doubleword I I I I (See Note) r I tSEND/RECV I VMCPFLG1 - PRIORITY option 0,1,2,4,5,8,9,
t I VMCPFTJNC - X'OOO3' - subfunction code 10,15,18 I t VMCPMID - message identifier I I VMCPUSER - sink userid I I VMCPVADA - SEND data address I I VMCPLENA - SEND data length , I VMCPVADB - REPLY buffer address , 1 VMCPLENB - REPL Y buffer length I I VMCPUSE - user doubleword I I I------+__ ISENDX t VMCPFLG1 - PRIORITY option 0,1,2,4,5,7,8, I t VMCPFUNC - X'OO04' - subfunction code 9,10,15,18 , , VMCPMID - message identifier I I VMCPUSER - sink userid I I VMCPVADA - SEND data address
! VMCPLENA - SEND data length
t VMCPUSE - user doubleword t I I I I (See Note) I r------+ -+ IRECEIVE t VMCPFUNC - X'0005' - subfunction code I 0,1,3,2,4,5,6, I I VMcpr1ID - message identifier I 12,13,15,16,17 I I VMCPUSER - source user id I I I VMCPVADA - RECEIVE buffer address t I I VMCPLENA - RECEIVE buffer length I I I VMCPUSE - user doubleword I I I I .. ---- ___ ________________ LI __________________ I Fields within the user parameter list that are not used by a I particular subfunction may be used to contain additional user data. I The data, however, can only be passed to the sink virtual machine by I the source virtual machine. The REPLY buffer address and length
fields (VMCPVADB+VMCPLENB) may be used to transmit additional user
data for SEND and SENDX requests. All fields except VMCPFL31, VMCPFLG2, VMCPFUNC, and VMCPUSER may be used to pass control
information with an IDENTIFY request. Figure 19. VMCF Subfunctions, Parameters, and Return Codes (Part 1 of 2) Part 2. Control Proqram (CP) 163
Previous Page Next Page