1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
/* SPDX-License-Identifier: BSD-2-Clause */
/*
* Copyright (c) 2014, STMicroelectronics International N.V.
*/
#ifndef UTEE_TYPES_H
#define UTEE_TYPES_H
#include <inttypes.h>
#include <tee_api_defines.h>
enum utee_time_category {
UTEE_TIME_CAT_SYSTEM = 0,
UTEE_TIME_CAT_TA_PERSISTENT,
UTEE_TIME_CAT_REE
};
enum utee_entry_func {
UTEE_ENTRY_FUNC_OPEN_SESSION = 0,
UTEE_ENTRY_FUNC_CLOSE_SESSION,
UTEE_ENTRY_FUNC_INVOKE_COMMAND,
/*
* UTEE_ENTRY_FUNC_DUMP_MEMSTATS
* [out] value[0].a Byte size currently allocated
* [out] value[0].b Max bytes allocated since stats reset
* [out] value[1].a Pool byte size
* [out] value[1].b Number of failed allocation requests
* [out] value[2].a Biggest byte size which allocation failed
* [out] value[2].b Biggest byte size which allocation succeeded
*/
UTEE_ENTRY_FUNC_DUMP_MEMSTATS,
};
/*
* Cache operation types.
* Used when extensions TEE_CacheClean() / TEE_CacheFlush() /
* TEE_CacheInvalidate() are used
*/
enum utee_cache_operation {
TEE_CACHECLEAN = 0,
TEE_CACHEFLUSH,
TEE_CACHEINVALIDATE,
};
struct utee_params {
uint64_t types;
/* vals[n * 2] corresponds to either value.a or memref.buffer
* vals[n * 2 + ] corresponds to either value.b or memref.size
* when converting to/from struct tee_ta_param
*/
uint64_t vals[TEE_NUM_PARAMS * 2];
};
struct utee_attribute {
uint64_t a; /* also serves as a pointer for references */
uint64_t b; /* also serves as a length for references */
uint32_t attribute_id;
};
struct utee_object_info {
uint32_t obj_type;
uint32_t obj_size;
uint32_t max_obj_size;
uint32_t obj_usage;
uint32_t data_size;
uint32_t data_pos;
uint32_t handle_flags;
};
#endif /* UTEE_TYPES_H */
|