NVIDIA DRIVE OS Linux SDK API Reference

5.2.6 Release
For Test and Development only

Detailed Description

Describes TEE trusted storage. These APIs are stubbed on QNX PDK.

Functions

void TEE_GetObjectInfo1 (TEE_ObjectHandle object, TEE_ObjectInfo *objectInfo)
 This API is stubbed on QNX PDK. More...
 
void TEE_RestrictObjectUsage1 (TEE_ObjectHandle object, uint32_t objectUsage)
 This API is stubbed on QNX PDK. More...
 
void TEE_CloseObject (TEE_ObjectHandle object)
 This API is stubbed on QNX PDK. More...
 
void TEE_ResetTransientObject (TEE_ObjectHandle object)
 This API is stubbed on QNX PDK. More...
 
void TEE_CopyObjectAttributes (TEE_ObjectHandle destObject, TEE_ObjectHandle srcObject)
 This API is stubbed on QNX PDK. More...
 
TEE_Result TEE_GenerateKey (TEE_ObjectHandle object, uint32_t keySize, TEE_Attribute *params, uint32_t paramCount)
 This API is stubbed on QNX PDK. More...
 
TEE_Result TEE_OpenPersistentObject (uint32_t storageID, void *objectID, size_t objectIDLen, uint32_t flags, TEE_ObjectHandle *object)
 This API is stubbed on QNX PDK. More...
 
TEE_Result TEE_CreatePersistentObject (uint32_t storageID, void *objectID, size_t objectIDLen, uint32_t flags, TEE_ObjectHandle attributes, void *initialData, size_t initialDataLen, TEE_ObjectHandle *object)
 This API is stubbed on QNX PDK. More...
 
void TEE_CloseAndDeletePersistentObject1 (TEE_ObjectHandle object)
 This API is stubbed on QNX PDK. More...
 
TEE_Result TEE_RenamePersistentObject (TEE_ObjectHandle object, void *newObjectID, size_t newObjectLen)
 This API is stubbed on QNX PDK. More...
 
TEE_Result TEE_ReadObjectData (TEE_ObjectHandle object, void *buffer, size_t size, uint32_t *count)
 This API is stubbed on QNX PDK. More...
 
TEE_Result TEE_WriteObjectData (TEE_ObjectHandle object, void *buffer, size_t size)
 This API is stubbed on QNX PDK. More...
 
TEE_Result TEE_TruncateObjectData (TEE_ObjectHandle object, size_t size)
 This API is stubbed on QNX PDK. More...
 
TEE_Result TEE_SeekObjectData (TEE_ObjectHandle object, int32_t offset, TEE_Whence whence)
 This API is stubbed on QNX PDK. More...
 

Function Documentation

◆ TEE_CloseAndDeletePersistentObject1()

void TEE_CloseAndDeletePersistentObject1 ( TEE_ObjectHandle  object)

This API is stubbed on QNX PDK.

Marks an object for deletion and closes the object handle.

Deleting an object is atomic. Once this function returns the object is definitetly deleted and no more open handles for that object exist.

(QNX PDK Only) Error behavior: prints "unsupported operation" if debug-overlay is enabled and returns without error.

(QNX PDK Only) Side effects: N/A

Parameters
objectAn opaque handle for storage object.

◆ TEE_CloseObject()

void TEE_CloseObject ( TEE_ObjectHandle  object)

This API is stubbed on QNX PDK.

Closes an open Object handle.

The object can be persistent or transient.

(QNX PDK Only) Error behavior: prints "unsupported operation" if debug-overlay is enabled and returns without error.

(QNX PDK Only) Side effects: N/A

Parameters
objectAn Opaque handle for storage object.

◆ TEE_CopyObjectAttributes()

void TEE_CopyObjectAttributes ( TEE_ObjectHandle  destObject,
TEE_ObjectHandle  srcObject 
)

This API is stubbed on QNX PDK.

Populates an uninitialized object handle with the attributes of another pre-populated object.

(QNX PDK Only) Error behavior: prints "unsupported operation" if debug-overlay is enabled and returns without error.

(QNX PDK Only) Side effects: N/A

Parameters
destObjectAn uninitialized transient object handle.
srcObjectA pre-populated transient object handle.

◆ TEE_CreatePersistentObject()

TEE_Result TEE_CreatePersistentObject ( uint32_t  storageID,
void *  objectID,
size_t  objectIDLen,
uint32_t  flags,
TEE_ObjectHandle  attributes,
void *  initialData,
size_t  initialDataLen,
TEE_ObjectHandle *  object 
)

This API is stubbed on QNX PDK.

Creates a persistent objecect with intial attributes and initial data steam content. Optionally, it returns a handle on the created object.

(QNX PDK Only) Error behavior: prints "unsupported operation" if debug-overlay is enabled and returns without error.

(QNX PDK Only) Side effects: N/A

Parameters
storageIDThe TEE_STORAGE_PRIVATE storage to use.
objectIDThe object identifier. This buffer cannot reside in shared memory.
objectIDLenThe length of the buffer.
flagsThe flags which determine the settings under which the object is opened.
attributesA handle on a transient object from which to take the persistent object attributes. Can be TEE_HANDLE_NULL if the persistent object contains no attributes.
initialDataInitial content of the persistent object.
initialDataLenLength of initial content of the persistent object.
objectA pointer to the handle, whihc contains the opened handle upon successful completion. If this function fails the value pointed to by the handle is set to TEE_HANDLE_NULL.
Returns
TEE_SUCCESS if successful, TEE_ERROR_ITEM_NOT_FOUND if storageID doesn't exist or if the object identifier cannot be found in the storage, TEE_ERROR_ACCESS_CONFLICT If an access right conflict was detected while opening the persistent storage object, or TEE_ERROR_STORAGE_NO_SPACE if insufficient space is available to create persistent object.

◆ TEE_GenerateKey()

TEE_Result TEE_GenerateKey ( TEE_ObjectHandle  object,
uint32_t  keySize,
TEE_Attribute params,
uint32_t  paramCount 
)

This API is stubbed on QNX PDK.

Generates a random key or a key-pair and populates a transient key object with the generated key material.

(QNX PDK Only) Error behavior: prints "unsupported operation" if debug-overlay is enabled and returns without error.

(QNX PDK Only) Side effects: N/A

Parameters
objectA handle to an uninitialized transient object.
keySizeThe requested key size.
paramsParameters for key generation.
paramCountThe number of parameters.

◆ TEE_GetObjectInfo1()

void TEE_GetObjectInfo1 ( TEE_ObjectHandle  object,
TEE_ObjectInfo objectInfo 
)

This API is stubbed on QNX PDK.

Returns the characteristcs of a storage object.

It fills in the TEE_ObjectInfo structure.

(QNX PDK Only) Error behavior: prints "unsupported operation" if debug-overlay is enabled and returns without error.

(QNX PDK Only) Side effects: N/A

Parameters
objectAn opaque handle for storage object.
objectInfoa structure to store store object information.

◆ TEE_OpenPersistentObject()

TEE_Result TEE_OpenPersistentObject ( uint32_t  storageID,
void *  objectID,
size_t  objectIDLen,
uint32_t  flags,
TEE_ObjectHandle *  object 
)

This API is stubbed on QNX PDK.

Opens a handle on an existing persistent object.

It returns a handle that can be used to access the object's attributes and data stream.

(QNX PDK Only) Error behavior: prints "unsupported operation" if debug-overlay is enabled and returns without error.

(QNX PDK Only) Side effects: N/A

Parameters
storageIDThe TEE_STORAGE_PRIVATE storage to use.
objectIDThe object identifier. This buffer cannot reside in shared memory.
objectIDLenThe length of the buffer.
flagsThe flags which determine the settings under which the object is opened.
objectA pointer to the handle, whihc contains the opened handle upon successful completion. If this function fails the value pointed to by the handle is set to TEE_HANDLE_NULL.
Returns
TEE_SUCCESS if successful, TEE_ERROR_ITEM_NOT_FOUND if storageID doesn't exist or if the object identifier cannot be found in the storage, TEE_ERROR_ACCESS_CONFLICT If an access right conflict was detected while opening the persistent storage object, or TEE_ERROR_OUT_OF_MEMORY if there is not enough memory to complete the operation.

◆ TEE_ReadObjectData()

TEE_Result TEE_ReadObjectData ( TEE_ObjectHandle  object,
void *  buffer,
size_t  size,
uint32_t *  count 
)

This API is stubbed on QNX PDK.

(QNX PDK Only) Error behavior: prints "unsupported operation" if debug-overlay is enabled and returns without error.

(QNX PDK Only) Side effects: N/A

The TEE_ReadObjectData function attempts to read size bytes from the data stream associated with the object object into the buffer pointed to by buffer

Parameters
objectAn opaque handle for storage object.
bufferA pointer to the memory which, upon successful completion, contains the bytes read
sizeThe number of bytes to read
countA pointer to the variable which upon successful completion contains the number of bytes read
Returns
TEE_SUCCESS if successful, or TEE_ERROR_ACCESS_CONFLICT If an object with the same identifier exists.

◆ TEE_RenamePersistentObject()

TEE_Result TEE_RenamePersistentObject ( TEE_ObjectHandle  object,
void *  newObjectID,
size_t  newObjectLen 
)

This API is stubbed on QNX PDK.

Changes the identifier of an object. The object handle must have been opened with the write-meta access right Renaming is an atomic operation, either the object is renamed or nothing happens

(QNX PDK Only) Error behavior: prints "unsupported operation" if debug-overlay is enabled and returns without error.

(QNX PDK Only) Side effects: N/A

Parameters
objectAn opaque handle for storage object.
newObjectIDThe new object identifier. This buffer cannot reside in shared memory.
newObjectLenThe length of the buffer.
Returns
TEE_SUCCESS if successful, or TEE_ERROR_ACCESS_CONFLICT If an object with the same identifier exists.

◆ TEE_ResetTransientObject()

void TEE_ResetTransientObject ( TEE_ObjectHandle  object)

This API is stubbed on QNX PDK.

Resets a transient object to its initial state after allocation i.e. makes it an uninitialized container.

(QNX PDK Only) Error behavior: prints "unsupported operation" if debug-overlay is enabled and returns without error.

(QNX PDK Only) Side effects: N/A

Parameters
objectA handle to the transient object that needs to be reset.

◆ TEE_RestrictObjectUsage1()

void TEE_RestrictObjectUsage1 ( TEE_ObjectHandle  object,
uint32_t  objectUsage 
)

This API is stubbed on QNX PDK.

Modifies the objectUsage flags of an object handle to restrict its usage scope.

(QNX PDK Only) Error behavior: prints "unsupported operation" if debug-overlay is enabled and returns without error.

(QNX PDK Only) Side effects: N/A

Parameters
objectAn opaque handle for storage object.
objectUsageNew object usage OR combination of one or more TEE_USAGE_XXX constants.

◆ TEE_SeekObjectData()

TEE_Result TEE_SeekObjectData ( TEE_ObjectHandle  object,
int32_t  offset,
TEE_Whence  whence 
)

This API is stubbed on QNX PDK.

(QNX PDK Only) Error behavior: prints "unsupported operation" if debug-overlay is enabled and returns without error.

(QNX PDK Only) Side effects: N/A

The TEE_SeekObjectData function sets the data position indicator associated with the object handle.

Parameters
objectAn opaque handle for storage object.
offsetThe number of bytes to move the data position. A positive value moves the data position forward; a negative value moves the data position backward
whenceThe position in the data stream from which to calculate the new position
Returns
TEE_SUCCESS if successful, or TEE_ERROR_BAD_PARAMETERS if the provided parameters are invalid.

◆ TEE_TruncateObjectData()

TEE_Result TEE_TruncateObjectData ( TEE_ObjectHandle  object,
size_t  size 
)

This API is stubbed on QNX PDK.

(QNX PDK Only) Error behavior: prints "unsupported operation" if debug-overlay is enabled and returns without error.

(QNX PDK Only) Side effects: N/A

The function TEE_TruncateObjectData changes the size of a data stream. If size is less than the current 3138 size of the data stream then all bytes beyond size are removed. If size is greater than the current size of 3139 the data stream then the data stream is extended by adding zero bytes at the end of the stream.

Parameters
objectAn opaque handle for storage object.
sizeThe new size of the data stream.
Returns
TEE_SUCCESS if successful, or TEE_ERROR_BAD_PARAMETERS if the provided parameters are invalid.

◆ TEE_WriteObjectData()

TEE_Result TEE_WriteObjectData ( TEE_ObjectHandle  object,
void *  buffer,
size_t  size 
)

This API is stubbed on QNX PDK.

(QNX PDK Only) Error behavior: prints "unsupported operation" if debug-overlay is enabled and returns without error.

(QNX PDK Only) Side effects: N/A

The TEE_WriteObjectData function writes size bytes from the buffer pointed to by buffer to the data stream associated with the open object handle object

Parameters
objectAn opaque handle for storage object.
bufferA buffer containing the data to be written
sizeThe number of bytes to write
Returns
TEE_SUCCESS if successful, or TEE_ERROR_ACCESS_CONFLICT If an object with the same identifier exists.