Use this general macro to unlock a program from storage. This only
affects programs previously locked using the GETPC macro. Requests not
reflecting a previous lock are ignored.
Format
- label
- A symbolic name can be assigned to the macro statement.
- prog
- The name of the program that is to be unlocked from storage.
- NAME
- The name of the program can alternately be provided via the NAME
parameter. Either the positional parameter 'prog' or the
keyword parameter 'NAME' is required.
- prog
- The name of the program that is to be unlocked from storage.
- (Rx)
- A register (R0-R7) that contains the name of the program that is to be
unlocked from storage.
- LOADSET=(Ry)
- A register (R1-R7) that contains the address of an 8-byte character
string. This character string is left justified, padded with blanks,
and specifies the name of the loadset that contains the version of the program
that is to be unlocked from storage.
If the character string contains all blank characters or if you do not
specify this parameter, the version of the program associated with the
requesting ECB is unlocked from storage. In this case, the name of the
loadset that contains the version of the program associated with the
requesting ECB is placed in the 8-byte character string.
- Note:
- This option requires Restricted authorization.
- UNLOCK=SPECIAL
- Specifies that the program had been locked through a GETPC LOCK=SPECIAL
request.
- Note:
- This option requires Restricted authorization.
- ERROR=label1
- An optional symbolic name of a routine where control is passed, if an
error occurs during RELPC processing. Register R15 contains an error
code indicating the type of error.
Entry Requirements
R9 must contain the address of the entry control block (ECB) being
processed.
Return Conditions
- Control is returned to the next sequential instruction (NSI).
- The contents of R14 and R15, except on an error condition when ERROR is
coded, are unknown. The contents of all other registers are preserved
across this macro call.
- If the program is no longer in use and if the program resided in a working
storage block, then the block is returned and the program's Program
Allocation Table (PAT) entry is reinitialized.
- If ERROR was coded and an error occurs, the indicated error routine is
executed. Also, register R15 will contain an error indicator
code. The following tags
are generated by the RELPC macro and should be used for interrogating this
error code:
- IG_LS_ERR
- The specified version of the program was not found.
- IG_NF_ERR
- The requested program was not found.
- IG_PP_ERR
- The specified version of the program was allocated as PRIVATE.
- IG_SL_ERR
- The SPECIAL lock indicator is not set.
- IG_RT_ERR
- A program retrieval error occurred.
Programming Considerations
- This macro can be executed on any I-stream.
- If the program specified has not been previously locked, no action is
taken and control returns to the next sequential instruction.
- This macro is restricted for use by E-type programs. C-type
programs may issue GETPC to generate a DSECT for the RELPC parameter
list.
- The SPECIAL lock indicator will only be turned off once. If a RELPC
UNLOCK=SPECIAL is issued and the SPECIAL indicator is not set the IG_SL_ERR
indicator will be returned. Normal RELPC requests ignore the SPECIAL
indicator.
Examples
None.