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 following RPB fields must be set up before the call:
|
Bytes |
Field Name |
Set to... |
|
00-03 |
RPLEN |
56 |
|
04-05 |
REQUEST |
9 |
|
06-07 |
RECOPT |
as required |
|
12-15 |
WORADDR |
address of 128 byte work area |
|
16-19 |
ASCBADDR |
address of the current ASCB (can be obtained by a request type 3) |
|
20-23 |
BUFFQL |
buffer queue limit. 0 to PPI maximum parameter |
|
24-31 |
RECVERID |
the receiver ID |
The following RPB Field is returned after the call:
|
Bytes |
Field Name |
Set to... |
|
08-11 |
RETCODE |
see below |
The following return codes are possible:
Request completed successfully-ECB address is set
The receiver program is already inactive
The requestor is not in primary addressing mode
PPI is not active
The ASCB address is not correct
The receiver program is not defined
PPI requests are not supported
ESTAE could not be established as requested
Invalid receiver ID
A processing error occurred
Note: Only the owning task/address space can explicitly deactivate a receiver.