NVIDIA DRIVE OS Linux SDK API Reference

5.2.3 Release
For Test and Development only
tee_trusted_storage.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2010 GlobalPlatform Inc. All Rights Reserved.
3  * The technology provided or described herein is subject to updates, revisions,
4  * and extensions by GlobalPlatform. Use of this information is governed by the
5  * GlobalPlatform license agreement and any use inconsistent with that agreement
6  * is strictly prohibited
7  *
8  * Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.
9  * NVIDIA CORPORATION and its licensors retain all intellectual property
10  * and proprietary rights in and to this software, related documentation
11  * and any modifications thereto. Any use, reproduction, disclosure or
12  * distribution of this software and related documentation without an express
13  * license agreement from NVIDIA CORPORATION is strictly prohibited.
14  */
15 
32 #ifndef TEE_TRUSTED_STORAGE_H
33 #define TEE_TRUSTED_STORAGE_H
34 
38 
39 /* -- -- -- -- Generic Object Functions -- -- -- -- */
40 
58 void TEE_GetObjectInfo1(TEE_ObjectHandle object, TEE_ObjectInfo* objectInfo);
59 
77 void TEE_RestrictObjectUsage1(TEE_ObjectHandle object, uint32_t objectUsage);
78 
95 void TEE_CloseObject(TEE_ObjectHandle object);
96 
97 /* -- -- -- -- Transient Object Functions -- -- -- -- */
98 
115 void TEE_ResetTransientObject(TEE_ObjectHandle object);
116 
133 void TEE_CopyObjectAttributes(TEE_ObjectHandle destObject,
134  TEE_ObjectHandle srcObject);
135 
154 TEE_Result TEE_GenerateKey(TEE_ObjectHandle object, uint32_t keySize,
155  TEE_Attribute* params, uint32_t paramCount);
156 
157 /* -- -- -- -- Persistent Object Functions -- -- -- -- */
158 
192 TEE_Result TEE_OpenPersistentObject(uint32_t storageID,
193  void* objectID, size_t objectIDLen,
194  uint32_t flags,
195  TEE_ObjectHandle* object);
196 
235 TEE_Result TEE_CreatePersistentObject(uint32_t storageID,
236  void* objectID, size_t objectIDLen,
237  uint32_t flags,
238  TEE_ObjectHandle attributes,
239  void* initialData, size_t initialDataLen,
240  TEE_ObjectHandle* object);
241 
260 void TEE_CloseAndDeletePersistentObject1(TEE_ObjectHandle object);
261 
284 TEE_Result TEE_RenamePersistentObject(TEE_ObjectHandle object,
285  void* newObjectID, size_t newObjectLen);
286 
287 /* -- -- -- -- Data Stream Access Functions -- -- -- -- */
288 
312 TEE_Result TEE_ReadObjectData(TEE_ObjectHandle object,
313  void* buffer,
314  size_t size,
315  uint32_t* count);
316 
337 TEE_Result TEE_WriteObjectData(TEE_ObjectHandle object,
338  void* buffer,size_t size);
339 
362 TEE_Result TEE_TruncateObjectData(TEE_ObjectHandle object,
363  size_t size);
364 
388 TEE_Result TEE_SeekObjectData(TEE_ObjectHandle object,
389  int32_t offset,
390  TEE_Whence whence);
392 #endif /* TEE_TRUSTED_STORAGE_H */
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.
TEE_WriteObjectData
TEE_Result TEE_WriteObjectData(TEE_ObjectHandle object, void *buffer, size_t size)
This API is stubbed on QNX PDK.
tee_internal_constants.h
GlobalPlatform: Tee Internal Constants
TEE_Whence
TEE_Whence
Enumerates the possible start offset when moving a data position in the data stream associated with a...
Definition: tee_trusted_storage_datatypes.h:100
TEE_RestrictObjectUsage1
void TEE_RestrictObjectUsage1(TEE_ObjectHandle object, uint32_t objectUsage)
This API is stubbed on QNX PDK.
TEE_ReadObjectData
TEE_Result TEE_ReadObjectData(TEE_ObjectHandle object, void *buffer, size_t size, uint32_t *count)
This API is stubbed on QNX PDK.
TEE_CloseObject
void TEE_CloseObject(TEE_ObjectHandle object)
This API is stubbed on QNX PDK.
TEE_TruncateObjectData
TEE_Result TEE_TruncateObjectData(TEE_ObjectHandle object, size_t size)
This API is stubbed on QNX PDK.
TEE_Attribute
A TEE_Attribute can either define a buffer or a value.
Definition: tee_trusted_storage_datatypes.h:49
TEE_ResetTransientObject
void TEE_ResetTransientObject(TEE_ObjectHandle object)
This API is stubbed on QNX PDK.
TEE_GetObjectInfo1
void TEE_GetObjectInfo1(TEE_ObjectHandle object, TEE_ObjectInfo *objectInfo)
This API is stubbed on QNX PDK.
TEE_Result
TEE_Result
Error codes as defined in the GP spec.
Definition: tee_internal_constants.h:37
tee_trusted_storage_constants.h
GlobalPlatform: TEE Trusted Storage Constants
TEE_ObjectInfo
A TEE_ObjectInfo structure contains information about a storage object:
Definition: tee_trusted_storage_datatypes.h:59
TEE_CopyObjectAttributes
void TEE_CopyObjectAttributes(TEE_ObjectHandle destObject, TEE_ObjectHandle srcObject)
This API is stubbed on QNX PDK.
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.
TEE_SeekObjectData
TEE_Result TEE_SeekObjectData(TEE_ObjectHandle object, int32_t offset, TEE_Whence whence)
This API is stubbed on QNX PDK.
TEE_RenamePersistentObject
TEE_Result TEE_RenamePersistentObject(TEE_ObjectHandle object, void *newObjectID, size_t newObjectLen)
This API is stubbed on QNX PDK.
tee_trusted_storage_datatypes.h
GlobalPlatform: TEE Trusted Storage Datatypes
TEE_CloseAndDeletePersistentObject1
void TEE_CloseAndDeletePersistentObject1(TEE_ObjectHandle object)
This API is stubbed on QNX PDK.
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.