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
;
89
TEEC_UUID
destination
;
91
int
fd
;
93
uint32_t
te_session
;
94
}
TEEC_Session
;
95
103
typedef
struct
104
{
106
void
*
buffer
;
108
size_t
size
;
109
}
TEEC_TempMemoryReference
;
110
117
typedef
struct
118
{
120
uint32_t
a
;
122
uint32_t
b
;
123
}
TEEC_Value
;
124
131
typedef
union
132
{
134
TEEC_TempMemoryReference
tmpref
;
136
TEEC_Value
value
;
137
}
TEEC_Parameter
;
138
145
typedef
struct
146
{
149
uint32_t
started
;
166
uint32_t
paramTypes
;
168
TEEC_Parameter
params[
NO_OF_PARAMS
];
169
}
TEEC_Operation
;
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
Advance Information | Subject to Change | Prepared and Provided under NDA | Generated by NVIDIA | Wed Apr 21 2021 19:44:45 | PR-08890-5.2