Use this system macro to access the record cache (RSC) subsystem status
table (SSST) and make updates to the it. Using this macro insulates
routines that process the RCS SSST from changes in the data structure of the
table.
Format
- label
- A symbolic name can be assigned to the macro statement.
- FUNC
- The function to be performed. This parameter is required.
- GET
- Retrieve SSST information
- PUT
- Update SSST information
- DEL
- Invalidate SSST information
- CLEANUP
- Release SSST information
- TYPE
- The type of data requested. This parameter is required.
- HDR
- Header
- SID
- SSID (subsystem status ID) entry
- RCD
- File record
- REF
- The SSST structure to be used for the request. This parameter is
required.
- FIL
- Read in SSST block from DASD and establish pointers to the memory and file
structures. The default is FIL.
- MEM
- Establish memory pointers only. CP segments must code
REF=MEM.
- SSID
- The record cache subsystem status identifier (SSID) value for the
request. This parameter is required.
- Rx
- Register containing the SSID value. Valid values range from R0
through R15.
- LIST
- The RCSSC macro parameter list (IDSCS0) pointer. This parameter is
required. The RCSSC macro uses IDSCS0 to pass requested information to
the service routines. The RCSSC macro generates the code necessary to
build the parameter list and invokes the CP and real-time service
routines.
- Rx
- Register containing the address of the request parameter list
(IDSCSO). The parameter list will be filled out by the RCSSC
macro. Valid values range from R0 through R15. The default is
R1.
- RECNO
- The file SSST ordinal number for the request (required only when TYPE=RCD
is specified):
- Rx
- Register containing the file ordinal. Valid values range from R0
through R15.
- ERROR
- The label of a routine where processing continues on an error
condition.
- label
- Label of a program statement that gains control on an error return from
RCSSC.
- OPTIONS
- The processing options associated with the request:
- Dx
- Use data levels D0 through DF for file operations. DF is the
default.
- LOCK
- Lock IDSSST file data structure.
- UNLOCK
- Unlock IDSSST file data structure.
- SEQ
- Access data type in sequential mode.
Entry Requirements
The register to point to the parameter area using the LIST
parameter. R1 is the default. The macro itself will fill in the
parameter area with the values coded on the macro call.
Return Conditions
- Control is returned to the next sequential instruction (NSI) unless the
ERROR parameter is coded and an error condition occurs.
- A parameter list is set up to access the requested portions of
SSST. A parameter list return code is set if errors are
detected.
- The return code modifier field of the parameter list (IDSCS0) should be
examined on each return from the RCSSC macro when using SSID requests.
When the SSID does not exist, the macro will set the EOF condition and return
with the slot pointer pointing to the first available overflow slot. If
this slot is to be filled in, the SSST header needs to be updated to reflect
the new count of active slots.
Programming Considerations
- This macro can only be run on the main I-stream.
- FUNC, TYPE and REF are required parameters.
- RECNO parameter is required only when TYPE=RCD is specified.
- Registers R0 through R7 will be saved and restored by the macro.
Other registers can be used for the LIST, RECNO, and SSID parameters but they
may be corrupted by the macro. All registers are saved during control
program (CP) calls.
- The options LOCK and UNLOCK are mutually exclusive.
- CP programs are restricted to memory requests only. ECB programs
may specify memory or file requests.
- REF=FIL must be specified when updating the SSST.
- All updates must be made in the file entry. The macro will reflect
the changes in the memory entry on the subsequent PUT request.
- When using the CLEANUP function, the UNLOCK option must be specified and
REF=FIL must be coded as it was on the RCSSC macro that retrieved the
lock.
- SSID parameter is required with TYPE=SID unless the SEQ option is
specified. The SSID parameter cannot be used with the SEQ
option.
- The macro processor will try to use the SSID passed with this parameter as
the starting point of the sequential search but the parameter list will not be
set up with the pointers to this SSID in the SSST.
- The SEQ option is used to process the entire SSST structure.
- You must clear the CS0SSID field of the RCSSC parameter list before the
first RCSSC invocation. This field will be used by the macro processor
on subsequent calls as the starting point to scan for the next active
SSID.
- In general, for CP segments, R1 is used to pass information to the RCSSC
service and R0 is used to pass return code information to the user. The
exception to this is for a header request where the address of the RCSSC
header is returned in the register specified by the LIST parameter.
- The SSST is a basic subsystem (BSS) resident table. All RCSSC calls
must be made from the BSS.
Examples
None.