QEDIT — Command input buffer manipulation

Description

The QEDIT macro generates the required entry parameters and processes the command input buffer for the following uses:
  • Dechaining and freeing of a command input buffer (CIB) from the CIB chain for a task.
  • Setting a limit for the number of CIBs that may be simultaneously chained for a task.

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization: When ORIGIN= is specified with no other parameters: PSW key 0-7
  Otherwise: Problem state
Dispatchable unit mode: Task
Cross memory mode: PASN=HASN=SASN
AMODE: Any
ASC mode: Primary
Interrupt status: Enabled for I/O and external interrupts
Locks: No locks held
Control parameters: Must be in the primary address space

Syntax

The QEDIT macro is written as follows:

Syntax Description
   
   name name: Symbol. Begin name in column 1.
   
One or more blanks must precede QEDIT.
   
QEDIT  
   
One or more blanks must follow QEDIT.
   
ORIGIN=CIB addr ptr CIB addr ptr: RX-type address, or register (0),(2) - (12).
   
   ,BLOCK=CIB addr CIB addr: RX-type address, or register (1), (2) - (12).
   ,CIBCTR=CIB nmbr CIB nmbr: Decimal digit, with a maximum value of 255 or register (1), (2) - (12).
   

Parameters

The parameters are explained as follows:

ORIGIN=CIB addr ptr
Specifies the address of the pointer to the first CIB chain for the task. This address is obtained using the EXTRACT macro. If BLOCK and CIBCTR are omitted, the caller must be executing under PSW key 0-7; in this case, the entire CIB chain is freed. The system prevents problem state programs from freeing the entire CIB chain.
,BLOCK=CIB addr
Specifies the address of the CIB to be freed from the CIB chain for a task.
,CIBCTR=CIB nmbr
Specifies the limit for the number of CIBs to be chained at any time for a task.
Note:
  1. When using any address returned from the EXTRACT macro as input to the QEDIT macro, the user must use the IEZCOM mapping macro to establish addressability based on the address returned by EXTRACT.
  2. The CIB must reside in 24-bit addressable storage.

Return and reason codes

When QEDIT macro returns control to your program, GPR 15 contains a hexadecimal return code.

Table 1. Return Codes for the QEDIT Macro
Return Code Meaning
00 Meaning: The required function was successfully completed.
04 Meaning: The CIB to be deleted was not found on any CIB chain.
08 Meaning: The limit for the number of CIBs to be chained was exceeded; an issuer who made a request to free all the CIBs on a chain was not in supervisor state and PSW key zero; or the user provided an invalid address for the pointer to the CIB chain, an invalid address for the CIB address, or an invalid CIB number as input to the macro.

Example 1

Free the entire CIB chain, where register 8 contains the address of the pointer to the CIB chain.
QEDIT ORIGIN=(8)

Example 2

Free the CIB whose address is in register 5 from the CIB chain. Register 8 contains the address of the pointer to the CIB chain.
QEDIT ORIGIN=(8),BLOCK=(5)