My Project
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Attributes | List of all members
TEEC_RegisteredMemoryReference Struct Reference

Registered memory reference. More...

#include <otz_tee_client_api.h>

Public Attributes

TEEC_SharedMemoryparent
 
size_t size
 
size_t offset
 

Detailed Description

Registered memory reference.

A pre-registered or pre-allocated Shared Memory block. It is used as a TEEC_Operation parameter when the corresponding parameter type is one of TEEC_MEMREF_WHOLE, TEEC_MEMREF_PARTIAL_INPUT, TEEC_MEMREF_PARTIAL_OUTPUT, or TEEC_MEMREF_PARTIAL_INOUT.

Member Data Documentation

size_t TEEC_RegisteredMemoryReference::offset

Offset from the allocated Shared memory for reference
The Implementation MUST only interpret this field if the Memory Reference type in the operation structure is not TEEC_MEMREF_WHOLE. Otherwise, the Implementation MUST use the base address of the Shared Memory block.

TEEC_SharedMemory* TEEC_RegisteredMemoryReference::parent

Pointer to the shared memory structure.
The memory reference refers either to the whole Shared Memory or to a partial region within the Shared Memory block, depending of the parameter type. The data flow direction of the memory reference must be consistent with the flags defined in the parent Shared Memory Block. Note that the parent field MUST NOT be NULL. To encode a null Memory Reference, the Client Application must use a Temporary Memory Reference with the buffer field set to NULL.

size_t TEEC_RegisteredMemoryReference::size

Size of the referenced memory region, in bytes.
The Implementation MUST only interpret this field if the Memory Reference type in the operation structure is not TEEC_MEMREF_WHOLE. Otherwise, the size is read from the parent Shared Memory structure.
When an operation completes, and if the Memory Reference is tagged as “output”, the Implementation must update this field to reflect the actual or required size of the output. This applies even if the parameter type is TEEC_MEMREF_WHOLE:
If the Trusted Application has actually written some data in the output buffer, then the Implementation MUST update the size field with the actual number of bytes written.
If the output buffer was not large enough to contain the whole output, the Implementation MUST update the size field with the size of the output buffer requested by the Trusted Application. In this case, no data has been written into the output buffer.


The documentation for this struct was generated from the following file: