NVIDIA DRIVE OS Linux SDK API Reference

5.2.6 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-2021, 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 
39 #define NO_OF_PARAMS 4
40 
44 typedef uint32_t TEEC_Result;
45 
46 
53 typedef struct
54 {
56  uint32_t timeLow;
58  uint16_t timeMid;
61  uint16_t timeHiAndVersion;
65  uint8_t clockSeqAndNode[8];
66 } TEEC_UUID;
67 
73 typedef struct
74 {
75  /* Implementation-Specific Fields */
76 } TEEC_Context;
77 
84 typedef struct
85 {
87  uint32_t magic;
91  int fd;
93  uint32_t te_session;
94 } TEEC_Session;
95 
103 typedef struct
104 {
106  void* buffer;
108  size_t size;
110 
117 typedef struct
118 {
120  uint32_t a;
122  uint32_t b;
123 } TEEC_Value;
124 
131 typedef union
132 {
138 
145 typedef struct
146 {
149  uint32_t started;
166  uint32_t paramTypes;
170 
172 #if defined(__cplusplus)
173 }
174 #endif
175 
177 #endif /* TEE_CLIENT_DATATYPES_H */
TEEC_TempMemoryReference
This type defines a Temporary Memory Reference.
Definition: tee_client_datatypes.h:103
TEEC_Parameter::tmpref
TEEC_TempMemoryReference tmpref
pointer of buffer to be shared
Definition: tee_client_datatypes.h:134
TEEC_Value
This type defines a parameter that is not referencing shared memory, but carries instead small raw da...
Definition: tee_client_datatypes.h:117
NO_OF_PARAMS
#define NO_OF_PARAMS
Total number of params.
Definition: tee_client_datatypes.h:39
TEEC_Context
This type denotes a TEE Context, the main logical container linking a Client Application with a parti...
Definition: tee_client_datatypes.h:73
TEEC_Session::destination
TEEC_UUID destination
UUID of destination Trusted Application.
Definition: tee_client_datatypes.h:89
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:61
TEEC_Operation::started
uint32_t started
is a field which MUST be initialized to zero by the client application
Definition: tee_client_datatypes.h:149
TEEC_Session::magic
uint32_t magic
Magic number.
Definition: tee_client_datatypes.h:87
TEEC_Operation::paramTypes
uint32_t paramTypes
encodes the type of each of the Parameters in the operation Acceptable values with integers to repres...
Definition: tee_client_datatypes.h:166
TEEC_Operation
This type defines the payload of either an open Session operation or an invoke Command operation.
Definition: tee_client_datatypes.h:145
TEEC_TempMemoryReference::size
size_t size
size of buffer
Definition: tee_client_datatypes.h:108
TEEC_Parameter
This type defines a Parameter of a TEEC_Operation.
Definition: tee_client_datatypes.h:131
TEEC_Session::fd
int fd
File descriptor for Trusted application node.
Definition: tee_client_datatypes.h:91
TEEC_Session::te_session
uint32_t te_session
Session Id.
Definition: tee_client_datatypes.h:93
TEEC_UUID::timeMid
uint16_t timeMid
Middle 16 Bits of time.
Definition: tee_client_datatypes.h:58
TEEC_UUID::timeLow
uint32_t timeLow
Lower 32 Bits of time.
Definition: tee_client_datatypes.h:56
TEEC_Value::a
uint32_t a
32 bit data to be passed to TOS
Definition: tee_client_datatypes.h:120
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:44
TEEC_Value::b
uint32_t b
32 bit data to be passed to TOS
Definition: tee_client_datatypes.h:122
TEEC_UUID
This type contains a Universally Unique Resource Identifier (UUID) type as defined in RFC4122.
Definition: tee_client_datatypes.h:53
TEEC_Session
This type denotes a TEE Session, the logical container linking a Client Application with a particular...
Definition: tee_client_datatypes.h:84
TEEC_Parameter::value
TEEC_Value value
value to be share with Trusted os
Definition: tee_client_datatypes.h:136
TEEC_TempMemoryReference::buffer
void * buffer
pointer of buffer to be shared
Definition: tee_client_datatypes.h:106