INTERRUPT POLL Function
Purpose
- Unless you disable your virtual machine for IUCV message-complete and message-pending interrupts, you should not use the INTERRUPT POLL function. When the virtual machine is enabled for these interrupts, IUCV automatically informs you of message completion or arrival of an incoming message by reflecting an external interrupt to your virtual machine.
- No external interrupt will occur for a reply represented by a message-complete returned by the INTERRUPT POLL function.
- No external interrupt will occur for a message represented by a message-pending returned by the INTERRUPT POLL function. It is your responsibility to use the RECEIVE or REJECT function to process a message obtained using the INTERRUPT POLL function.
This function has a different meaning in a virtual MP environment. For more information about a virtual MP environment, see Virtual MP Considerations for IUCV Applications.
Parameters
- IPOLL
- Requests that CP perform the IUCV INTERRUPT POLL function.
- PRMLIST=
- Specifies the address of the INTERRUPT POLL parameter list. The IUCV instruction is generated to reference the address specified. The address of the parameter list must be on a doubleword boundary.
Optional Parameters: If you do not specify these parameters, the macro assumes that you have stored the desired values into the parameter list before invoking the IUCV macro.
- MF=L
- Lets you build an IUCV parameter list without initializing any registers or executing the IUCV instruction.
- BUFFER=
- Specifies the address of the INTERRUPT POLL buffer for interrupt data.
- BUFLEN=
- Specifies the length of the INTERRUPT POLL buffer for interrupt data. This length must be at least the size of an IUCV interrupt buffer and not more than 4096 bytes, and the buffer may not cross a 4K page boundary. The length need not be an exact multiple of the length of an IPARML.

- IPBFADR1
- contains the address of the input buffer.
- IPBFLN1F
- contains the length of the input buffer.
Condition Codes and Return Codes
| CONDITION CODES | |
|---|---|
|
0 - Normal completion
1 - Nonzero value stored at IPRCODE 2 - No message found. |
- IPBFLN1F
- contains the length of the output data returned by the INTERRUPT POLL function. This value will always be a multiple of the length of an IUCV external interrupt buffer (IPARML).
- IPRCODE
- contains the return code describing how this function completed.
| RETURN CODES in IPRCODE | |
|---|---|
|
0 - X'00' - Normal return
92 - X'5C' - A paging or storage error was detected. |
Program Exceptions
- Specification Exception
- The
parameter list is not on a doubleword boundary.
The buffer length specified is less than the size of an IUCV interrupt buffer.
The buffer specified spans a 4K page boundary.
- Operation Exception
- The external interrupt buffer has not been declared using the DECLARE BUFFER function, your virtual machine is not in supervisor state, or a previous RETRIEVE BUFFER function is outstanding and has not completed yet.
- Addressing Exception
- The parameter list address that you specified is outside the virtual machine's storage.
Completion Conditions
Output Buffer Format: When the condition code is zero, the buffer contains one or more interrupt data areas for replies and messages. See Message Complete External Interrupt, and Message Pending External Interrupt. The remainder of the buffer not occupied by the external interrupt data remains unchanged.
If no more replies or messages are pending for the invoker, the last interrupt placed in the output buffer will have the IPNOPOLL flag set.
If INTERRUPT POLL is issued in an APPC/VM environment you may receive interrupt information both for IUCV and APPC/VM paths.
