The IDENTIFY_PROGRAM call
IDENTIFY_PROGRAM locates the program that is associated with an address. If the address is in a CICS-defined program, the call returns information about that program.
If the address is not associated with a loader domain CICS-defined
program, the request fails with a REASON value of INSTANCE_NOT_FOUND.
IDENTIFY_PROGRAM
IDENTIFY_PROGRAM
DFHLDLDX [CALL,]
[CLEAR,]
[IN,
FUNCTION(IDENTIFY_PROGRAM),
ADDRESS(name4 | (Rn)| *),]
[OUT,
[PROGRAM_NAME(name8 | *),]
[PROGRAM_ATTRIBUTE(name1 | (Rn) | *),]
[PROGRAM_LENGTH(name4 | (Rn) | *),]
[LOAD_POINT(name4 | (Ra) | *),]
[ENTRY_POINT(name4 | (Ra) | *),]
RESPONSE(name1 | *),
REASON(name1 | *)]
This command is threadsafe.
- ADDRESS(name4 | (Rn) | *)
- The storage address that is used to identify the program.
- name4
- The name of a 4-byte fullword where the storage address is stored.
- (Rn)
- A register that is set to the storage address.
- PROGRAM_NAME(name8 | * )
- Returns the name of the program that contains the storage address.
The PROGRAM_NAME corresponds to the CICS-defined program name, not
a CSECT.
- name8
- The name of a location to contain an 8-byte program name.
- PROGRAM_ATTRIBUTE(name1 | (Rn) | * )
- Returns the program attribute.
- name1
- The name of a 1-byte location to receive the program attribute.
- (Rn)
- A register in which the low-order byte receives the program attribute
and the other bytes are set to zero. The register can have the values
RELOAD, RESIDENT, REUSABLE, or TRANSIENT.
- RELOAD
- The program is not reusable, and therefore several copies of the program might be loaded. A copy is removed from storage when a RELEASE_PROGRAM call (for that copy) is issued.
- RESIDENT
- There is a single copy of the program that is not removed from storage unless it is deleted. RESIDENT programs must be at least quasi-reentrant. Any program of PROGRAM_TYPE SHARED has the RESIDENT attribute by default. The DELETE_PROGRAM call has no effect on this type of RESIDENT program.
- REUSABLE
- The program is similar to RESIDENT, except that if the program is not in use, CICS can remove it from storage to optimize storage use.
- TRANSIENT
- The program is similar to RESIDENT, except that the program is removed from storage as soon as its use count drops to zero.
- PROGRAM_LENGTH(name4 | (Rn) | * )
- Returns the length of the named program.
- name4
- The name of a 4-byte location to receive the length in bytes, expressed in binary.
- (Rn)
- A register to contain the length in bytes, expressed in binary.
- LOAD_POINT(name4 | (Ra) | * )
- Returns the load point address of the program.
- name4
- The name of a 4-byte location to receive the loaded address.
- (Ra)
- A register to contain the load address.
- ENTRY_POINT(name4 | (Ra) | * )
- Returns the entry point address of the program.
- name4
- The name of a 4-byte location to receive the 31-bit entry address.
- (Ra)
- A register to receive the entry address.
RESPONSE and REASON values for IDENTIFY_PROGRAM
RESPONSE | REASON |
---|---|
OK | None |
EXCEPTION | INSTANCE_NOT_FOUND |
DISASTER | None |
INVALID | None |
KERNERROR | None |
PURGED | None |
Note: For more information, refer to the explanation of RESPONSE
and REASON in Making an XPI call.