26 #ifdef METEE_DLL_EXPORT 27 #define METEE_DLL_API __declspec(dllexport) 29 #define METEE_DLL_API __declspec(dllimport) 32 #define TEEAPI METEE_DLL_API __stdcall 33 #define TEE_DEVICE_HANDLE HANDLE 34 #define TEE_INVALID_DEVICE_HANDLE ((void*)0) 39 #define TEE_DEVICE_HANDLE void * 40 #define TEE_INVALID_DEVICE_HANDLE ((void*)-1) 49 #ifdef METEE_DLL_EXPORT 50 #define METEE_DLL_API __attribute__((__visibility__("default"))) 55 #define TEEAPI METEE_DLL_API 58 #define GUID_DEFINED 1 59 typedef struct _GUID {
65 #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ 67 = { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } } 70 #define TEE_DEVICE_HANDLE int 71 #define TEE_INVALID_DEVICE_HANDLE (-1) 144 HECI_HW_TYPE_GFX_GSC,
145 HECI_HW_TYPE_GFX_CSC,
152 #define TEEHANDLE_ZERO {0} 156 #define TEE_ERROR_BASE 0x0000U 158 #define TEE_SUCCESS (TEE_ERROR_BASE + 0) 160 #define TEE_INTERNAL_ERROR (TEE_ERROR_BASE + 1) 162 #define TEE_DEVICE_NOT_FOUND (TEE_ERROR_BASE + 2) 164 #define TEE_DEVICE_NOT_READY (TEE_ERROR_BASE + 3) 166 #define TEE_INVALID_PARAMETER (TEE_ERROR_BASE + 4) 168 #define TEE_UNABLE_TO_COMPLETE_OPERATION (TEE_ERROR_BASE + 5) 170 #define TEE_TIMEOUT (TEE_ERROR_BASE + 6) 172 #define TEE_NOTSUPPORTED (TEE_ERROR_BASE + 7) 174 #define TEE_CLIENT_NOT_FOUND (TEE_ERROR_BASE + 8) 176 #define TEE_BUSY (TEE_ERROR_BASE + 9) 178 #define TEE_DISCONNECTED (TEE_ERROR_BASE + 10) 180 #define TEE_INSUFFICIENT_BUFFER (TEE_ERROR_BASE + 11) 182 #define TEE_PERMISSION_DENIED (TEE_ERROR_BASE + 12) 186 #define TEE_IS_SUCCESS(Status) (((TEESTATUS)(Status)) == TEE_SUCCESS) 209 IN OPTIONAL
const char *device);
221 IN OPTIONAL
const GUID *device);
232 IN
const TEE_DEVICE_HANDLE device_handle);
250 OUT OPTIONAL
size_t *pNumOfBytesRead, IN OPTIONAL uint32_t timeout);
262 OUT OPTIONAL
size_t *numberOfBytesWritten, IN OPTIONAL uint32_t timeout);
271 IN uint32_t fwStatusNum, OUT uint32_t *fwStatus);
TEESTATUS TEEAPI TeeConnect(OUT PTEEHANDLE handle)
TEESTATUS TEEAPI TeeWrite(IN PTEEHANDLE handle, IN const void *buffer, IN size_t bufferSize, OUT OPTIONAL size_t *numberOfBytesWritten, IN OPTIONAL uint32_t timeout)
uint32_t TEEAPI TeeSetLogLevel(IN PTEEHANDLE handle, IN uint32_t log_level)
TEEHANDLE * PTEEHANDLE
A type definition for pointer to TEEHANDLE.
void TEEAPI TeeDisconnect(IN PTEEHANDLE handle)
TEESTATUS TEEAPI TeeInitHandle(IN OUT PTEEHANDLE handle, IN const GUID *guid, IN const TEE_DEVICE_HANDLE device_handle)
TEESTATUS TEEAPI TeeInit(IN OUT PTEEHANDLE handle, IN const GUID *guid, IN OPTIONAL const char *device)
TEESTATUS TEEAPI TeeGetKind(IN PTEEHANDLE handle, IN OUT char *kind, IN OUT size_t *kindSize)
TEESTATUS TEEAPI TeeGetTRC(IN PTEEHANDLE handle, OUT uint32_t *trc_val)
uint32_t TEEAPI TeeGetMaxMsgLen(IN const PTEEHANDLE handle)
TEESTATUS TEEAPI GetDriverVersion(IN PTEEHANDLE handle, IN OUT teeDriverVersion_t *driverVersion)
TeeLogCallback log_callback
enum tee_device_address::@0 type
enum tee_log_level log_level
union tee_device_address::@1 data
void(* TeeLogCallback)(bool is_error, const char *fmt,...)
TEESTATUS TEEAPI TeeSetLogCallback(IN const PTEEHANDLE handle, TeeLogCallback log_callback)
uint32_t TEEAPI TeeGetLogLevel(IN const PTEEHANDLE handle)
TEESTATUS TEEAPI TeeRead(IN PTEEHANDLE handle, IN OUT void *buffer, IN size_t bufferSize, OUT OPTIONAL size_t *pNumOfBytesRead, IN OPTIONAL uint32_t timeout)
struct _TEEHANDLE TEEHANDLE
TEESTATUS TEEAPI TeeFWStatus(IN PTEEHANDLE handle, IN uint32_t fwStatusNum, OUT uint32_t *fwStatus)
uint8_t TEEAPI TeeGetProtocolVer(IN const PTEEHANDLE handle)
TEE_DEVICE_HANDLE TEEAPI TeeGetDeviceHandle(IN PTEEHANDLE handle)
TEESTATUS TEEAPI TeeInitFull(IN OUT PTEEHANDLE handle, IN const GUID *guid, IN const struct tee_device_address device, IN uint32_t log_level, IN OPTIONAL TeeLogCallback log_callback)