#ifndef _LINUX_MZ_H #define _LINUX_MZ_H typedef enum { MZ_SUCCESS = 1, MZ_GENERAL_ERROR = 0, MZ_MALLOC_ERROR = -1, MZ_IOCTL_OPEN_ERROR = -2, MZ_INVALID_INPUT_ERROR = -3, MZ_TA_FAIL = -4, MZ_NO_TARGET = -5, MZ_DRIVER_FAIL = -6, MZ_PROC_NAME_GET_ERROR = -7, MZ_GET_TS_ERROR = -8, MZ_LOCK_FAIL = -9, MZ_PAGE_FAIL = -10, MZ_CRYPTO_FAIL = -11, } MzResult; MzResult mz_exit(void); struct mz_tee_driver_fns { MzResult (*encrypt)(uint8_t *pt, uint8_t *ct, uint8_t *iv); }; MzResult register_mz_tee_crypto_driver( struct mz_tee_driver_fns *tee_driver_fns); void unregister_mz_tee_crypto_driver(void); extern MzResult (*load_trusted_app)(void); extern void (*unload_trusted_app)(void); #endif /* _LINUX_MZ_H */