CEEPFWSA — find writable static area (WSA)

The CEEPFWSA provides the ability to locate the writable static area (WSA) associated with a load module or a program object containing a specified entry point within the current enclave.

Syntax

void CEEPFWSA (entry_point, wsa_address, [fc])
POINTER    *entry_point;
POINTER    *wsa_address;
FEED_BACK  *fc;
CEEPFWSA
Call this CWI interface as follows:
L     R15,CEECAACELV-CEECAA(,R12) 
L     R15,2832(,R15)
BALR  R14,R15
entry_point (input)
The entry point of a function whose WSA address is to be located. The entry point can be the address of the function or the CEESTART of the load module if the load module contains a main or a fetchable subroutine.
wsa_address (output)
The address of the caller provided area in which the WSA address will be returned if the call is successful.
fc (output/optional)
An optional 12-byte feedback code that indicates the results of this service. The following symbolic conditions may result from this service:
Condition  
CEE000 Severity 0
Msg_No N/A
Message The service completed successfully.
CEE3EL Severity 3
Msg_No 3541
Message A writable static area (WSA) associated with the entry point was not found.
Usage Notes:
  1. The CEEPFWSA service will verify that the entry point is a valid C/370™ or Language Environment style entry point. It will then examine all loaded modules to find one that contains that entry point. Modules can be the main load module or any load modules loaded by fetch(), COBOL dynamic call, PIPI, CEEFETCH, or DLL load. When the load module is found and the load module has a WSA, the wsa_address associated with the module will be returned.
  2. If the load module is not recognized as a Language Environment-conforming load module, then the feedback code will be CEE3EL and the wsa_address is undefined.
  3. If the load module is recognized as a Language Environment-conforming load module, and the load module does not have a WSA, then the feedback code will be CEE000 and the wsa_address will be zero.
  4. If the load module containing the entry point has been fetched more than once, the service will return the WSA of the last fetch.
  5. If the load module containing the entry point has been fetched at least once and has been loaded as a DLL, this service will return the WSA associated with the DLL invocation.