gtps1m4zSystem Macros

SIPCC-System Interprocessor/Inter-I-Stream Communication

Use this system macro to provide communication among processors in a TPF loosely coupled environment and among instruction streams in a tightly coupled environment.

This macro causes an interprocessor communication (IPC) item to be transmitted to a specified program segment in one or more active I-streams, in one or more active processors. The destination processors can be targeted individually, in various combinations or in a broadcast request. The destination I-streams can be targeted as the main I-stream or all I-streams in the destination processors.

An IPC item contains the following information:

Data area 1 (DA1) can be no more than 104 bytes while data area 2 (DA2) can be any length that fits in a single 128, 381, 1055, or 4 K byte storage block.

Required Authorizations
Key0 Restricted System Common Storage

X

Format




label
A symbolic name can be assigned to the macro statement.

PGM=prog1
This is a 4-character name identifying the program segment invoked in the receiving processors or I-streams for which this item is intended.

RETURN=prog2
This is a 4-character name identifying the program segment in this processor to be given control for each active destination processor that reads or fails to read this processor's transmission.

TYPE
This parameter is used to specify the type of processing requested.

IP
Indicates interprocessor communication is requested and will transmit the SIPCC request to the specified processors. The request will not be transmitted to the originating processor. This is the default.

IS
Indicates inter-I-stream communication is requested and will transmit the SIPCC request to the main I-stream or all I-streams on the specified processors including the originating processor. The request will not be transmitted to the originating I-stream.

CLBL=label1
This is a symbolic name identifying the location of an 8-byte control area.

CREG=R14|Rx
This is a symbolic name identifying the register that contains the address of an 8-byte control area.

Default: If neither CLBL nor CREG is specified, register R14 is assumed to have a pointer to the control area.

DLBL=label2
This is a symbolic name identifying the location of a variable length data area (DA1).

DREG=R15|Ry
This is a symbolic name identifying the register that contains the address of a variable length data area (DA1).

Default: If neither DLBL nor DREG is specified and the SI3LEN1 field in the control area (SI3CT) is not zero, register R15 is assumed to have a pointer to data area 1.

LEV=D0|...|DF
This is a symbolic value, D0-DF, which identifies the ECB level containing the storage block to be transmitted (DA2).

Default: If LEV is not specified and the SI3LEN2 field in the control bytes is not zero, a level of zero is assumed.

LIST=label3
This is a symbolic name that identifies the name of a variable list of destination processors.

The LIST parameter can be specified with all destination types. If specified, the SIPCC macro service routine returns a list of all processors to which transmission was started.

Entry Requirements

Return Conditions

Programming Considerations

Examples