Passing Control to the Catalog Information Routine

Your program can invoke the catalog information routine by using either the CALLTSSR or LINK macro instructions, specifying IKJEHCIR as the entry point name. However, you must first create the catalog information routine parameter list (CIRPARM) and place its address into register 1. Register 13 must contain the address of an 18-word save area.

IKJEHCIR can be invoked in either 24- or 31-bit addressing mode. However, all input passed to IKJEHCIR must reside below 16 MB in virtual storage. The caller's parameters must be in the primary address space. IKJEHCIR returns control in the same addressing mode in which it is invoked.

The output area for IKJEHCIR can be in two formats, format 1 or format 2:
  • The format 1 output area provides for a 65535-byte output area. This is due to halfword length fields in the output area itself. If the amount of data retrieved is less than 65535 bytes, the format 1 output area is sufficient.
  • The format 2 output area should be used if your program is requesting to retrieve all data set names (entry code, CIROPT, = X'02') and the amount of data retrieved could exceed 65535 bytes. A format 2 output area is only supported with entry code = X'02'. Your program can indicate that a format 2 output area is being passed as input by setting on the CIRWA2 bit in the parameter list. This will indicate that the length fields (ccc and CCC) in the output area are signed 32-bit numbers. Your program can test to determine whether the code supporting a format 2 work area is available by testing the DFACIR2 flag in the Data Facilities Area (DFA) control block.