IDENTIFY — Add an entry name
Description
- A copy that satisfied the requirements of a LOAD macro issued during the execution of the current task.
- The last load module given control, if control was passed to the load module using a LINK, LINKX, ATTACH, ATTACHX, XCTL, or XCTLX macro.
- If the load module was constructed using the linkage editor (and brought into virtual storage via program fetch or virtual fetch, the major entry name is the name of the load module in the partitioned data set directory (not an alias to that member).
- If the load module was brought into storage by the loader, the major entry name is either the name that the user provided as input to the loader or the name that the loader used as a default.
If an authorized caller creates an entry name for a module in the link pack area, the IDENTIFY service places an entry for the alias on the active link pack area queue. If an unauthorized caller creates an entry name for a module in the link pack area, the IDENTIFY service places an entry for the alias on the task's job pack queue.
If an unauthorized caller creates an entry name for an authorized module, the IDENTIFY service marks the new entry as unauthorized. In all other cases, the new entry name receives the same level of authorization as the main entry point.
The caller cannot have an EUT FRR established.
Syntax
The IDENTIFY macro is written as follows:
Syntax | Description |
---|---|
name | name: Symbol. Begin name in column 1. |
␢ | One or more blanks must precede IDENTIFY. |
IDENTIFY | |
␢ | One or more blanks must follow IDENTIFY. |
EP=entry name | entry name: Symbol |
EPLOC=entry name addr | entry name addr: RX-type address, or register (0) or (2) - (12). |
,ENTRY=entry addr added | entry addr added: RX-type address, or register (1) or (2) - (12). |
Parameters
The parameters are explained as follows:
- EP=entry name
- EPLOC=entry name addr
- Specifies the entry name or address of the entry name. The name does not have to correspond to any symbol or name in the load module, and must not correspond to any name, alias, or added entry name for a load module in the link pack area queue, or the job pack area of the job step. If EPLOC is coded, the name must be padded to eight bytes, if necessary.
- ,ENTRY=entry addr added
- Specifies the virtual storage address of the entry point being
added. If the program that issues the IDENTIFY macro is running in
24-bit addressing mode, the value for entry addr added must
be a 24-bit address. Note: If bit 31 of the entry point address is on, the system will turn it off.
Return codes
When control is returned, register 15 contains one of the following return codes:
Hexadecimal Return Code | Meaning |
---|---|
00 | Successful completion of requested function. |
04 | Entry name and address already exist. |
08 | Entry name duplicates the major name of a load module currently in virtual storage; entry address was not added. |
0C | Entry address is not within an eligible load module; entry address was not added. |
10 | Request issued by an asynchronous exit routine; entry address was not added. |
14 | Entry name duplicates the name already used for a minor entry or for an entry created by another IDENTIFY request, and the entry point addresses are different; the current request is rejected. |
18-1C | An internal error occurred. Record the return code and contact the appropriate IBM® support personnel. |
24 | An unexpected error occurred. |
28 | The address specified by the EPLOC parameter was fetch protected. |
2C | An internal error occurred. Record the return code and contact the appropriate IBM support personnel. |
30 | Unsuccessful processing due to a system queue area (SQA) storage shortage. |
34 | Unsuccessful processing due to a local system queue area (LSQA) storage shortage. |
38 | Unsuccessful processing due an error in the job pack area. Record the return code and contact the appropriate IBM support personnel. |
Example
IDENTIFY EP=PGMTAL2A,ENTRY=(R3)