CEEVGTSB — unconditional get heap below
The CEEVGTSB CWI service obtains enclave heap storage below the 16 MB line and, if unsuccessful, CEEVGTSB signals a condition when the feedback code is omitted.
Syntax
void CEEVGTSB (heap_id, size, address,
[fc])
INT *heap_id;
INT *size;
POINTER *address;
FEEDBACK *fc;
- CEEVGTSB
- Call this CWI interface as follows:
L R12,A(CAA) Get the address of CAA in R12 L R15,CEECAACELV-CEECAA(,R12) L R15,2936(,R15) BALR R14,R15
- heap_id (input)
- A token denoting the heap in which the storage is allocated. If heap_id is not valid, the address is undefined and CEEVGTSB signals a condition.
- size (input)
- A number representing the amount of storage to be allocated. The amount of storage obtained is rounded to the next higher multiple of 8 bytes. Storage is always allocated below the line on a doubleword boundary. If the specified amount cannot be obtained, a condition is signaled.
- address (output)
- The machine address of the first byte of allocated storage.
- fc (output)
- The resulting feedback code. The following conditions can result
from this service:
Condition Description type Description value CEE000 Severity 0 CEE000 Msg_No N/A CEE000 Message The service completed successfully. CEE0P2 Severity 4 CEE0P2 Msg_No 0802 CEE0P2 Message Storage headers are damaged. CEE0P3 Severity 3 CEE0P3 Msg_No 0803 CEE0P3 Message The heap identifier heap_id did not match any existing heap. CEE0P8 Severity 3 CEE0P8 Msg_No 0808 CEE0P8 Message The size was not a positive number. CEE0PD Severity 3 CEE0PD Msg_No 0813 CEE0PD Message The request was larger than the storage available. CEE3JN Severity 0 CEE3JN Msg_No 3704 CEE3JN Message Expected data at address address: data CEE3JO Severity 0 CEE3JO Msg_No 3705 CEE3JO Message Pointer at address should point to a valid controlblock