Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

kc_program_str - Program units and VORGANG exits

The data structure kc_program_str is defined for the object type KC_PROGRAM. In the case of KC_GET_OBJECT, UTM returns information in kc_program_str on the program units and VORGANG exits of the UTM application.

Program units can be dynamically created with KC_CREATE_OBJECT and deleted with KC_DELETE_OBJECT.

Data structure kc_program_str

char pr_name[32];

char compiler;

char load_module[32];

char load_mode;

char poolname[50]; (only on BS2000 systems)

char lib[54];

char deleted;

The fields in the data structure have the following meanings:

pr_name

Contains the name of the program unit.

In UTM applications on BS2000 systems, UTM returns the ENTRY or CSECT name of the program unit.

compiler

Specifies the run time system or the compiler that has been assigned to the program unit in the generation. The values returned by UTM depend on the operating system platform on which the program unit is running.

In a UTM applications on BS2000 systems compiler='I' will be returned for all program units that support ILCS.

The following values are possible in a UTM application on BS2000 systems:


'I'
'A'
'C'
'1'
'F'
'X'
'P'
'S'

for ILCS (Inter Language Communication Services)
for the ASSEMB assembly compiler
for the C compiler (only for KC_CREATE_OBJECT call)
for the COBOL compiler COB1
for the FORTRAN compiler FOR1
for PASCAL-XT
for PLI1
for SPL4


The following values are possible for a UTM application on Unix, Linux or Windows systems:


'C'
'2'
'3'
'+'

for the C compiler
for the COBOL compiler of Micro Focus
for the NetCOBOL compiler of Fujitsu
for the C++ compiler


load_module

Contains the name of the load module (BS2000 systems) or shared object/DLL (Unix, Linux and Windows systems) in which the program unit is bound. load_module can be up to 32 characters long.
If the program unit is not assigned to any load module or shared object/DLL, then UTM returns blanks.

load_mode

Contains the load mode of the program unit or of the load module/shared object/DLL in which the program unit is bound. The load mode specifies when and to where the program unit or load module/shared object/DLL will be loaded.


'U'

(STARTUP)
The program unit or load module/shared object/DLL will be loaded as an independent unit at the start of the application.

'O'

(ONCALL)
The load module/shared object/DLL is loaded as an independent unit when one of its VORGANG exits is called for the first time.


The following values can additionally be returned in load_mode for load modules of a UTM application on a BS2000 system:


'S'

(STATIC)
The program unit or load module is statically bound in the application program.

'P'

(POOL)
The program unit or load module is loaded into a common memory pool (see poolname) at the start of the application. The load module consists only of one public slice (no private slice).

'T'

(POOL/ STARTUP)
The public slice of the load module is loaded into a common memory pool (see poolname) at the start of the application. The private slice belonging to the load module is then loaded into the local process storage area (private slice with load mode STARTUP).

'C'

(POOL/ONCALL)
The public slice of the load module is loaded into a common memory pool (see poolname) at the start of the application. The private slice belonging to the load module is then loaded into the local process storage area as soon as a program unit is called that is assigned to this load module (private slice with load mode ONCALL).


poolname (only on BS2000 systems)

For load_mode='P', 'T' or 'C', poolname contains the name of the common memory pool in which the program unit or the public slice of its load module was loaded at the start of the application.

For load_mode != 'P', 'T' or 'C', poolname contains blanks.

lib

lib contains following:

          • In a UTM application on a BS2000 system generated without load modules, the object module library from which the program unit was loaded or bound is returned.

          • In a UTM application on a BS2000 system generated with load modules, the program library from which the load module was loaded is returned.

          • In a UTM application running on Unix, Linux or Windows systems generated with shared objects, the directory in which the shared object/DLL is stored is returned.

deleted

Specifies in the case of KC_GET_OBJECT if the program unit was deleted from the configuration by the dynamic administration.


'Y'

The program unit was deleted. The name is disabled, meaning no new program unit with this name may be added.

'N'

The program unit was not deleted from the configuration.