Previous Topic: Define and Initialize a Receiver

Next Topic: Delete an Active Receiver


Deactivate a Receiver

To deactivate a receiver program, use request code 9. If a receiver is not deactivated explicitly, it is deactivated at end of task or end of address space of the associated task/address space. Explicit deactivation lets you reset the buffer queue limit.

The RPB fields in the following table must be set up before the call:

Bytes

Field Name

Set to...

00–03

RPLEN

56.

04–05

REQUEST

9.

06–07

RECOPT

A recovery option as required.

12–15

WORADDR

The address of a 128-byte work area.

16–19

ASCBADDR

The address of the current ASCB (can be obtained by a request type 3).

20–23

BUFFQL

The buffer queue limit: 0 to PPI maximum parameter.

24–31

RECVERID

The receiver ID.

The RPB field in the following table is returned after the call:

Bytes

Field Name

Set to...

08–11

RETCODE

The return code.

The following return codes are possible:

0

Request completed successfully—ECB address is set.

15

The receiver program is already inactive.

22

The requestor is not in primary addressing mode.

24

PPI is not active.

25

The ASCB address is not correct.

26

The receiver program is not defined.

28

PPI requests are not supported.

36

ESTAE could not be established as requested.

40

Receiver ID is invalid.

90

A processing error occurred.

Note: Only the owning task/address space can explicitly deactivate a receiver.