NVIDIA DRIVE OS Linux SDK API Reference

5.2.3 Release
For Test and Development only
tee_client_datatypes.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  */
10 
19 #ifndef TEE_CLIENT_DATATYPES_H
20 #define TEE_CLIENT_DATATYPES_H
21 
22 #if defined(__cplusplus)
23 extern "C" {
24 #endif
25 
26 #include <stdbool.h>
27 #include <stddef.h>
28 #include <stdint.h>
29 
42 typedef uint32_t TEEC_Result;
43 
44 
51 typedef struct
52 {
54  uint32_t timeLow;
56  uint16_t timeMid;
59  uint16_t timeHiAndVersion;
63  uint8_t clockSeqAndNode[8];
64 } TEEC_UUID;
65 
71 typedef struct
72 {
73  /* Implementation-Specific Fields */
74 } TEEC_Context;
75 
82 typedef struct
83 {
85  uint32_t magic;
89  int fd;
91  uint32_t te_session;
92 } TEEC_Session;
93 
101 typedef struct
102 {
104  void* buffer;
106  size_t size;
108 
115 typedef struct
116 {
118  uint32_t a;
120  uint32_t b;
121 } TEEC_Value;
122 
129 typedef union
130 {
136 
143 typedef struct
144 {
147  uint32_t started;
149  uint32_t paramTypes;
151  TEEC_Parameter params[4];
153 
155 #if defined(__cplusplus)
156 }
157 #endif
158 
160 #endif /* TEE_CLIENT_DATATYPES_H */
TEEC_TempMemoryReference
This type defines a Temporary Memory Reference.
Definition: tee_client_datatypes.h:101
TEEC_Parameter::tmpref
TEEC_TempMemoryReference tmpref
pointer of buffer to be shared
Definition: tee_client_datatypes.h:132
TEEC_Value
This type defines a parameter that is not referencing shared memory, but carries instead small raw da...
Definition: tee_client_datatypes.h:115
TEEC_Context
This type denotes a TEE Context, the main logical container linking a Client Application with a parti...
Definition: tee_client_datatypes.h:71
TEEC_Session::destination
TEEC_UUID destination
UUID of destination Trusted Application.
Definition: tee_client_datatypes.h:87
TEEC_UUID::timeHiAndVersion
uint16_t timeHiAndVersion
4-bit "version" in the most significant bits followed by the high 12 bits of the time
Definition: tee_client_datatypes.h:59
TEEC_Operation::started
uint32_t started
is a field which MUST be initialized to zero by the client application
Definition: tee_client_datatypes.h:147
TEEC_Session::magic
uint32_t magic
Magic number.
Definition: tee_client_datatypes.h:85
TEEC_Operation::paramTypes
uint32_t paramTypes
encodes the type of each of the Parameters in the operation
Definition: tee_client_datatypes.h:149
TEEC_Operation
This type defines the payload of either an open Session operation or an invoke Command operation.
Definition: tee_client_datatypes.h:143
TEEC_TempMemoryReference::size
size_t size
size of buffer
Definition: tee_client_datatypes.h:106
TEEC_Parameter
This type defines a Parameter of a TEEC_Operation.
Definition: tee_client_datatypes.h:129
TEEC_Session::fd
int fd
File descriptor for Trusted application node.
Definition: tee_client_datatypes.h:89
TEEC_Session::te_session
uint32_t te_session
Session Id.
Definition: tee_client_datatypes.h:91
TEEC_UUID::timeMid
uint16_t timeMid
Middle 16 Bits of time.
Definition: tee_client_datatypes.h:56
TEEC_UUID::timeLow
uint32_t timeLow
Lower 32 Bits of time.
Definition: tee_client_datatypes.h:54
TEEC_Value::a
uint32_t a
32 bit data to be passed to TOS
Definition: tee_client_datatypes.h:118
TEEC_Result
uint32_t TEEC_Result
This type is used to contain return codes which are the results of invoking TEE Client API functions.
Definition: tee_client_datatypes.h:42
TEEC_Value::b
uint32_t b
32 bit data to be passed to TOS
Definition: tee_client_datatypes.h:120
TEEC_UUID
This type contains a Universally Unique Resource Identifier (UUID) type as defined in RFC4122.
Definition: tee_client_datatypes.h:51
TEEC_Session
This type denotes a TEE Session, the logical container linking a Client Application with a particular...
Definition: tee_client_datatypes.h:82
TEEC_Parameter::value
TEEC_Value value
value to be share with Trusted os
Definition: tee_client_datatypes.h:134
TEEC_TempMemoryReference::buffer
void * buffer
pointer of buffer to be shared
Definition: tee_client_datatypes.h:104