25 #ifdef METEE_DLL_EXPORT 26 #define METEE_DLL_API __declspec(dllexport) 28 #define METEE_DLL_API __declspec(dllimport) 31 #define TEEAPI METEE_DLL_API __stdcall 32 #define TEE_DEVICE_HANDLE HANDLE 33 #define TEE_INVALID_DEVICE_HANDLE ((void*)0) 35 #include <linux/uuid.h> 40 #ifdef METEE_DLL_EXPORT 41 #define METEE_DLL_API __attribute__((__visibility__("default"))) 46 #define TEEAPI METEE_DLL_API 48 #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ 49 const uuid_le name = UUID_LE(l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) 50 #define TEE_DEVICE_HANDLE int 51 #define TEE_INVALID_DEVICE_HANDLE (-1) 83 #define TEEHANDLE_ZERO {0} 87 #define TEE_ERROR_BASE 0x0000U 89 #define TEE_SUCCESS (TEE_ERROR_BASE + 0) 91 #define TEE_INTERNAL_ERROR (TEE_ERROR_BASE + 1) 93 #define TEE_DEVICE_NOT_FOUND (TEE_ERROR_BASE + 2) 95 #define TEE_DEVICE_NOT_READY (TEE_ERROR_BASE + 3) 97 #define TEE_INVALID_PARAMETER (TEE_ERROR_BASE + 4) 99 #define TEE_UNABLE_TO_COMPLETE_OPERATION (TEE_ERROR_BASE + 5) 101 #define TEE_TIMEOUT (TEE_ERROR_BASE + 6) 103 #define TEE_NOTSUPPORTED (TEE_ERROR_BASE + 7) 105 #define TEE_CLIENT_NOT_FOUND (TEE_ERROR_BASE + 8) 107 #define TEE_BUSY (TEE_ERROR_BASE + 9) 109 #define TEE_DISCONNECTED (TEE_ERROR_BASE + 10) 111 #define TEE_INSUFFICIENT_BUFFER (TEE_ERROR_BASE + 11) 113 #define TEE_PERMISSION_DENIED (TEE_ERROR_BASE + 12) 117 #define TEE_IS_SUCCESS(Status) (((TEESTATUS)(Status)) == TEE_SUCCESS) 127 IN OPTIONAL
const char *device);
139 IN OPTIONAL
const GUID *device);
150 IN
const TEE_DEVICE_HANDLE device_handle);
168 OUT OPTIONAL
size_t *pNumOfBytesRead, IN OPTIONAL uint32_t timeout);
180 OUT OPTIONAL
size_t *numberOfBytesWritten, IN OPTIONAL uint32_t timeout);
189 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)
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 GetDriverVersion(IN PTEEHANDLE handle, IN OUT teeDriverVersion_t *driverVersion)
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)
TEE_DEVICE_HANDLE TEEAPI TeeGetDeviceHandle(IN PTEEHANDLE handle)