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/output
Type: Disconnect parameter block
The 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: Output
Type: 4-word integer
rsn
The reason code from the service.
Direction: Output
Type: 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.

Table 1. Return and reason codes for the IFAMDSC service
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:
  • The caller is not running in task mode.
  • The caller is in cross-memory mode.
  • The caller is holding a lock.
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.