IFAMDSC — Disconnect from an SMF in-memory resource
Call the IFAMDSC service to disconnect from an SMF in-memory resource.
Description
The IFAMDSC service disconnects from an SMF in-memory resource when the calling program no longer needs to request any more data via the IFAMGET service.
Environment
The requirements for the caller are:
Requirement | Details |
---|---|
Minimum authorization: | Supervisor state or problem state, any PSW key |
Dispatchable unit mode: | Task |
Cross memory mode: | PASN = HASN |
AMODE: | 64-bit |
ASC mode: | Primary |
Interrupt status: | Enabled for I/O and external interrupts. |
Locks: | No locks held. |
Programming requirements
A prior successful call to the IFAMCON service is required.
Authorization
A prior successful call to the IFAMCON service is required.
Restrictions
The disconnect request must be issued from the same address space as the connect request.
Syntax
Write the call as shown in the following syntax diagram. You must code all parameters on the CALL statement in the order shown.
Call IFAMDSC (
DscParmBlock,
rc,
rsn);
For assembler programming, the stub routine for this callable service resides in SYS1.CSSLIB.
Parameters
The parameters are explained as follows:
- DscParmBlock
- A disconnect parameter block. Direction: Input/outputType: Disconnect parameter blockThe disconnect parameter block has the following format and is mapped by the IFAZSYSP macro in SYS1.MACLIB:
Decimal offset Length Type Field Description 0 4 EBCDIC ID ID with value of DSPB 4 2 binary Length Total length of the parameter block 6 1 binary Unused Unused; must be zero 7 1 binary Version Parameter block version number (X'01') 8 16 Token Token provided by the IFAMCON service - rc
- The return code from the service.Direction: OutputType: 4-word integer
- rsn
- The reason code from the service.Direction: OutputType: 4-word integer
ABEND codes
IFAMDSC might abnormally end with system completion code X'353'. See z/OS MVS System Codes for an explanation and programmer response.
Related services
Return and reason codes
When the service returns control to the caller, the rc parameter contains a hexadecimal return code and the rsn parameter contains a hexadecimal reason code, as listed in Table 1. The return code and reason code symbols are mapped by the IFARCINM macro.
Return code
Equate symbol |
Reason code
Equate symbol |
Meaning and action |
---|---|---|
X'00'
IFAINMRetCodeOK |
X'0000'
IFAINMRsnCodeOK |
Meaning: Successful completion.
Action: None.
|
X'04'
IFAINMRetCodeWarn |
X'0405'
IFAINMGetInProgDsc |
Meaning: There is currently a GET call in progress for this
connection. The active GET call has been notified of the disconnection attempt.
Action: Wait for the GET call to return before issuing another disconnect
request.
|
X'04'
IFAINMRetCodeWarn |
X'0407'
IFAINMDscInProgDsc |
Meaning: There is currently a DISCONNECT call in progress for
this connection.
Action: None.
|
X'08'
IFAINMRetCodeError |
X'0801'
IFAINMBadMode |
Meaning: The caller is running in an incorrect mode for one or more of the
following reasons:
Action: Change the program to run under a task in PASN =
HASN mode with no locks held.
|
X'08'
IFAINMRetCodeError |
X'0802'
IFAINMBadParmlist |
Meaning: The parameter block is not accessible or has an
incorrect format.
Action: Correct the program to pass a valid
parameter block.
|
X'08'
IFAINMRetCodeError |
X'0804'
IFAINMBadConToken |
Meaning: The caller is attempting to pass an invalid token in
the parameter block.
Action: Correct the program to provide the
correct token that was returned on the IFAMCON call.
|
X'08'
IFAINMRetCodeError |
X'0805'
IFAINMUnSupported |
Meaning: The caller is attempting to pass unsupported options
in the parameter block.
Action: Initialize all unused fields in
the parameter block to zero.
|
X'0C'
IFAINMRetCodeEnvErr |
X'0C02'
IFAINMSMFNotActive |
Meaning: SMF is not active.
Action: None.
|
X'0C'
IFAINMRetCodeEnvErr |
X'0C03'
IFAINMObtainFailure |
Meaning: SMF is unable to obtain storage to generate in-memory
data in response to this request.
Action: None.
|
X'10'
IFAINMRetCodeFatal |
Not applicable | Meaning: Internal error.
Action: Contact the IBM Support Center.
|