CEEPLODT — thread level load service

The CEEPLODT CWI callable service loads the named routine into storage. Underlying host system services are used. For a discussion of the search orders for the various host systems, see Loading and deleting programs in different environments.

Syntax

void (*CEECELVPLODT) (name_len, name, address, mod_size, [fc])
INT4    *name_len;
CHAR8   *name;
POINTER *address;
INT4    *mod_size;
FEEDBACK *fc;
CEECELVPLODT
A field in the Language Environment LIBVEC that points to the thread-level Program Load CWI. Call this CWI interface as follows:
L     R15,CEECAACELV-CEECAA(,R12)     CAA address is in R12
L     R15,3492(,R15)
BALR  R14,R15
name_len (input)
The number of bytes of the routine name to be loaded.
name (input)
The name of the routine to load into storage.
address (output)
The address of the entry point to the loaded module.
mod_size (output)
The number of bytes occupied by the newly-loaded load module. If the size cannot be determined, a zero is returned.
fc (output/optional)
A parameter which contains the condition token; possible conditions are:
Condition Description type Description value
CEE000 Severity 0
Msg_No N/A
Message The service completed successfully.
CEE3DC Severity 3
Msg_No 3500
Message Not enough storage available to load [module_name].
CEE3DD Severity 3
Msg_No 3501
Message [module_name] module not found.
CEE3DE Severity 3
Msg_No 3502
Message [module_name] module name too long.
CEE3DF Severity 3
Msg_No 3503
Message Load service request for module [module_name] was unsuccessful.
CEE3EJ Severity 3
Msg_No 3539
Message The load request for program object [module_name] was unsuccessful for the current level of CICS®.
CEE3EK Severity 3
Msg_No 3540
Message The load request for program object [module_name] was unsuccessful.
Usage Notes:
  1. Language Environment maintains a list of all modules loaded by the thread-level load service but as yet not deleted. This list is maintained so that Language Environment can delete all as not yet deleted modules it loaded with the thread-level load service during the life of the thread when the thread terminates.
  2. The user can issue a corresponding thread-level delete service request for each thread load service request.
  3. This service can be used in all environments, MVS™, CICS, pre-initialization, multi-threaded and non-multi-threaded.
  4. Each call to the service will result in a load system request. The operating system determines whether to load another copy or just return a pointer to another copy already in storage.
  5. The search order for the module is system dependent; see Loading and deleting programs in different environments for details.
  6. The CEEPLODT service does not support the loading of program objects with deferred load classes. For example, CEEPLODT will not support a reentrant C program that was built without using the Pre-linker utility. The CEEPLOD2 CWI should be used instead.