The data structure kc_load_module_str is defined for the object type KC_LOAD_MODULE. In the case of KC_GET_OBJECT, UTM returns the following in kc_load_module_str:
BS2000 systems: Information on the load modules that were generated with the KDCDEF control statement LOAD-MODULE.
Unix, Linux and Windows systems: Information on the shared objects or DLLs that were generated with the KDCDEF control statement SHARED-OBJECT.
Using a KDCADMI call with the operation code KC_MODIFY_OBJECT and the object type KC_LOAD_MODULE, you can replace individual load modules or shared objects or DLLs during the application run.
mod1 | Data structure kc_load_module_str |
- |
|
x(GID) |
|
- |
|
- |
|
- |
|
- |
|
- |
|
- |
|
- |
|
- |
|
1 The contents of the field can be modified using KC_MODIFY_OBJECT; see "obj_type=KC_LOAD_MODULE"
The fields in the data structure have the following meanings:
lm_name | ||
Contains the name of the load module or shared object or DLL. | ||
version | ||
UTM returns the version number of the load module, shared object or DLL currently loaded or is being loaded in version. If the load module could not be found in the library, then version contains blanks. Only on BS2000 systems: *HIGHEST-EXISTING In the case of KC_MODIFY_OBJECT, the highest version of the load module existing in the library is loaded. *UPPER-LIMIT (or @) With KC_MODIFY_OBJECT the load module is loaded which was last entered in this PLAM library without an explicit version specification. | ||
lib | The contents of lib have the following meaning:
| |
load_mode | ||
Contains the load mode of the load module, shared object or DLL. The load mode determines when and to where a load module/shared object/DLL will be loaded. | ||
'U' | (STARTUP) Only on BS2000 systems:
| |
'O' | (ONCALL) Only on BS2000 systems:
| |
'S' | (STATIC, only on BS2000 systems) | |
'P' | (POOL, only on BS2000 systems) | |
'T' | (POOL/ STARTUP, only on BS2000 systems) | |
'C' | (POOL/ONCALL, only on BS2000 systems) | |
poolname (only on BS2000 systems) | ||
poolname is only specified if the load module or its public slice will be loaded into a common memory pool (load_mode='P', 'T' or 'C'). poolname then contains the name of the common memory pool. The name can be up to 50 characters long. | ||
version_prev | ||
Contains the previous version of the load module/shared object/DLL, i.e. the version that was loaded before the last program change. | ||
changeable | ||
Specifies if the load module/shared object/DLL can be replaced. | ||
'Y' | The load module/shared object/DLL can be replaced during the application run. | |
'N' | The load module/shared object/DLL cannot be replaced during the application run. | |
change_necessary (only on BS2000 systems) | ||
change_necessary is only relevant for load modules that either lie completely within a common memory pool or whose public slice lies in common memory pool. Load modules in the common memory pool must then be marked for a program change with KC_MODIFY_OBJECT. The actual exchange must then be executed with KC_CHANGE_APPLICATION. | ||
'Y' | The load module is marked for exchange. A program change using KC_CHANGE-APPLICATION is necessary to replace the load module. | |
'N' | The load module is not marked for exchange. | |
altlib (only on BS2000 systems) | ||
Specifies if the load module will be loaded with the BLS autolink function. | ||
'Y' | Load with autolink | |
'N' | Load without autolink | |
version_gen | ||
Contains the version with which the load module/shared object/DLL has been generated. |