1/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * Copyright (C) 2018 Linaro Limited
4 */
5
6#ifndef __SANDBOXTEE_H
7#define __SANDBOXTEE_H
8
9#include <search.h>
10#include <tee/optee_ta_avb.h>
11
12/**
13 * struct sandbox_tee_state - internal state of the sandbox TEE
14 * @session:			current open session
15 * @num_shms:			number of registered shared memory objects
16 * @ta:				Trusted Application of current session
17 * @ta_avb_rollback_indexes	TA avb rollback indexes storage
18 * @ta_avb_lock_state		TA avb lock state storage
19 * @pstorage_htab		named persistent values storage
20 */
21struct sandbox_tee_state {
22	u32 session;
23	int num_shms;
24	void *ta;
25	u64 ta_avb_rollback_indexes[TA_AVB_MAX_ROLLBACK_LOCATIONS];
26	u32 ta_avb_lock_state;
27	struct hsearch_data pstorage_htab;
28};
29
30#endif /*__SANDBOXTEE_H*/
31