gtps1m2kSystem Macros

FCTLC-File Control

Use this system macro to request control program (CP) DASD services from the CCSONS CP segment. This macro is restricted to specific use by the DASD support routines because the services provided are a code continuation of the issuing real-time program.

Required Authorizations
Key0 Restricted System Common Storage

X

Format




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

TYPE
The name of the process to be supplied by CCSONS. The values of PARM1 and PARM2, if used, depend on the service being requested. TYPE is one of the following:

LOCK1
Lock phase 1 processing for move locks support. This causes CCSONS to move any hold-type requests from the module queue to the module control unit attention queue. If a hold-type request is active, the request is halted.

PARM1
The label of a halfword that contains the relative module number or a register value in the format (Rx) that contains the relative module number. The MFST entry of the subject module must be marked in LOCK SUSPENDED state.

LOCK2
Lock phase 2 processing for move locks support. This causes CCSONS to move any requests on attention queue of the FROM module to the attention queue of the TO module.

PARM1
The relative module number of the FROM module. This must be specified as either the label of a halfword that contains the relative module number or a register value in the format (Rx) which contains the relative module number. The MFST entry of the subject module must be marked in LOCK SUSPENDED state.

PARM2
The relative module number of the TO module. This must be specified as either the label of a halfword that contains the relative module number or a register value in the format (Ry) which contains the relative module number. Register 14 cannot be used for PARM2 value. The MFST entry of the subject module must be marked in LOCK SUSPENDED state.

ATTNQ
Process the attention queue and attempt to schedule all pending requests.

PARM1
Either the label of a halfword that contains the relative module number or a register value in the format (Rx) that contains the relative module number.

PARM2
Specify the relative module number of the target module. Specifying a -1 indicates a lock recovery request for a CFLF control unit (CU). The specification must be either the label of a halfword or a register (other than R14) containing the module number.

PURGE
Stop any active request and purge the rest of the device queue for the specified module.

PARM1
Either the label of a halfword that contains the relative module number or a register value in the format (Rx) that contains the relative module number. The MFST entry of the subject module must be marked as unavailable to normal system requests.

ENMSG
Call CJIW to create the appropriate text for a module down message based on the information provided by the input work block (ICJXWK).

On return, the ICJXWK block contains the message at CJXWKMSG.

PARM1
The data level index that contains the initialized ICJXWK block. PARM1 is specified as a character string of Dx, where x is the hexadecimal data level number (0-F).

EMMSG
Call CJIW to create the appropriate text for a device error message based on the information provided by the input work block (ICJXWK).

On return, the ICJXWK block contains the message at CJXWKMSG.

PARM1
The data level index that contains the initialized ICJXWK block. PARM1 is specified as a character string of Dx, where x is the hexadecimal data level number (0-F).

CRCJX
Allocate and initialize an ICJXWK block to use for error recording and logging.

On return, an initialized ICJXWK block is attached to the data level specified by PARM1 for the module specified by PARM2. The address of the block is at CE1CRx, where x is the data level (0-F).

PARM1
An available data level index on which the initialized ICJXWK block will be returned. PARM1 is specified as a character string of Dx, where x is the hexadecimal data level number (0 through F).

PARM2
Either the label of a halfword that contains the relative module number or a register value in the format (Rx) which contains the relative module number of the module whose block is being initialized.

MODDOWN
Force the specified module offline.

PARM1
The label of a halfword that contains the relative module number or a register value in the format (Rx) that contains the relative module number of the module that is to be forced down.

LOSTINT
Scan for lost interrupts.

READMSG
Request a Read Attention I/O operation to the specified device.

PARM1
The label of a halfword that contains the relative module number or a register value in the format (Rx) that contains the relative module number of the module that is to be used to perform the read attention message I/O operation.

CUNLOCK
Issue any cached unlocks.

STRUCT
Process the coupling facility (CF) list structure queue and attempt to schedule all pending requests.

PARM1
Either the label of a halfword that contains the relative module number or a register value in the format (Rx) that contains the relative module number.

CFLKSPAV
Process the CF list structure queue used by CF record lock support to reschedule all pending requests that were queued because of a lock table full condition.

PARM1
The label of a halfword or register value in the format (Rx) that contains the index (0-31) in the CF locking table (CFLT) for the CF whose structure queue must be examined so that the input/output blocks (IOBs) can be restarted if they were queued because of a lock space full condition.

Entry Requirements

R9 must contain the address of the ECB that is being processed.

Return Conditions

Programming Considerations

Examples

None.