gtpm3m0pMulti-Processor Interconnect Facility Reference

User Exits

Data Received Exit

Purpose

To pass to the user a request in the form of a parameter list and, if relevant, associated core blocks containing data sent over a connection from another user.

Suggested Processing

The user's data received exit might perform message sequencing and assembly if appropriate. This could include queueing of data blocks which are not received in the correct sequence. Following this first step, the exit might process the data block(s) if appropriate: otherwise, the exit might schedule another program for processing of the data.

Interface

The data received exit address is specified with a CONNECT or ACCEPT request and can be different for each connection. MPIF schedules the exit when a request is received from the other side of the connection.

The exit routine can be C or E type code. For C-type code, the exit will be a post interrupt address (PIA). For E-type code, the exit will be a SWISC expansion.

Registers for E-type routines are as follows:

R1
Contains the address of the data received exit parameter list. The parameter list is described in the DCTMUP data macro.

R7
Since no save area is provided, R7 will contain zeros.

ECB
The parameter list is contained in the ECB starting at EBX000.

Registers for C-type routines are as follows:

R1
Contains the address of the data received exit parameter list. The parameter list is described in the DCTMUP data macro.

R13
Points to the new stack area.

R15
Contains the base address of the exit (that is, the PIA).

Connection Request Exit

Purpose

To inform a MPIF user that another user has requested a connection.

Suggested Processing

Interface

The connection request exit is specified via an IDENTIFY. The exit is scheduled when a MPIF user in another system requests a connection with a CONNECT request.

The exit routine can be C or E type code. For C-type code, the exit will be a post interrupt address (PIA). For E-type code, the exit will be an SWISC expansion.

Registers for E-type routines are as follows:

R1
Contains the address of the connection request exit parameter list. The parameter list is described in the DCTMUP data macro.

R7
Since no save area is provided, R7 will contain zeros.

ECB
The parameter list is contained in the ECB starting at EBX000.

Registers for C-type routines are as follows:

R1
Contains the address of the connect request exit parameter list. The parameter list is described in the DCTMUP data macro.

R13
Points to the new stack area.

R15
Contains the base address of the exit (that is, the PIA).

Connection Completion Exit

Purpose

To inform a MPIF user that a connection request has been completed.

Suggested Processing

Interface

The connection completion exit is specified via a CONNECT request. The exit is scheduled when a connection request is completed (either the connection is complete or the connection request has failed).

The exit routine can be C or E type code. For C-type code, the exit will be a post interrupt address (PIA). For E-type code, the exit will be an SWISC expansion.

Registers for E-type routines are as follows:

R1
Contains the address of the connection completion exit parameter list. The parameter list is described in the DCTMUP data macro.

R7
Since no save area is provided, R7 will contain zeros.

ECB
The parameter list is contained in the ECB starting at EBX000.

Registers for C-type routines are as follows:

R1
Contains the address of the connection completion exit parameter list. The parameter list is described in the DCTMUP data macro.

R13
Points to the new stack area.

R15
Contains the base address of the exit (that is, the PIA).

Directory Update Exit

Purpose

To inform a MPIF user that a QUERYed user is now identified in another system. This notification takes place only once for each MPIFC QUERY request unless a wildcard character (*) is used to specify the system name.

This user exit is optional; however, it is important to understand that path startup processing can complete asynchronous to any other activity; thus, QUERY's for "active" MPIF users issued immediately after path startup processing will not necessarily detect the existence of active MPIF users.

Other procedures to achieve the same results might be employed by MPIF users when appropriate; for example, the QUERY request could be reexecuted on a time activated basis.

Suggested Processing

Interface

The directory update notification exit is invoked whenever a directory replace or update is received with a named MPIF user which was previously queried by a user in this system.

The exit routine can be C or E type code. For C-type code, the exit will be a post interrupt address (PIA). For E-type code, the exit will be a SWISC expansion.

Registers for E-type routines are as follows:

R1
Contains the address of the directory update exit parameter list. The parameter list is described in the DCTMUP data macro.

R7
Since no save area is provided, R7 will contain zeros.

ECB
The parameter list is contained in the ECB starting at EBX000.

Registers for C-type routines are as follows:

R1
Contains the address of the directory update exit parameter list. The parameter list is described in the DCTMUP data macro.

R13
Points to the new stack area.

R15
Contains the base address of the exit (that is, the PIA).

Path Active Exit

Purpose

To inform a MPIF user that a new path that is relevant to the user's operation (that is, a class of paths the user is using for connections to a specific system) has been activated. This notification takes place only once for each MPIFC QUERY request unless a wildcard character (*) is used to specify the system name. This optional user exit will be pertinent to those users of multiple pathing.

Suggested Processing

Interface

The path active notification exit is invoked whenever a new path of the specified class to the specified system has been activated via path startup.

The exit routine can be C or E type code. For C-type code, the exit will be a post interrupt address (PIA). For E-type code, the exit will be an SWISC expansion.

Registers for E-type routines are as follows:

R1
Contains the address of the path active exit parameter list. The parameter list is described in the DCTMUP data macro.

R7
Since no save area is provided, R7 will contain zeros.

ECB
The parameter list is contained in the ECB starting at EBX000.

Registers for C-type routines are as follows:

R1
Contains the address of the path active exit parameter list. The parameter list is described in the DCTMUP data macro.

R13
Points to the new stack area.

R15
Contains the base address of the exit (that is, the PIA).

Error Exit

Purpose

To inform the user of asynchronous events, normally errors, related to MPIF and MPIF connections.

Suggested Processing

Interface

The Error Exit is specified via an IDENTIFY request. The exit is scheduled when a error is detected - most, but not all errors are related to a particular connection.

The exit routine can be C or E type code. For C-type code, the exit will be a post interrupt address (PIA). For E-type code, the exit will be an SWISC expansion.

Registers for E-type routines are as follows:

R1
Contains the address of the error exit parameter list. The parameter list is described in the DCTMUP data macro.

R7
Since no save area is provided, R7 will contain zeros.

ECB
The parameter list is contained in the ECB starting at EBX000.

Registers for C-type routines are as follows:

R1
Contains the address of the error exit parameter list. The parameter list is described in the DCTMUP data macro.

R13
Points to the new stack area.

R15
Contains the base address of the exit (that is, the PIA).