| /******************************************************************************** |
| * Marvell GPL License Option |
| * |
| * If you received this File from Marvell, you may opt to use, redistribute and/or |
| * modify this File in accordance with the terms and conditions of the General |
| * Public License Version 2, June 1991 (the "GPL License"), a copy of which is |
| * available along with the File in the license.txt file or by writing to the Free |
| * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or |
| * on the worldwide web at http://www.gnu.org/licenses/gpl.txt. |
| * |
| * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED |
| * WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY |
| * DISCLAIMED. The GPL License provides additional details about this warranty |
| * disclaimer. |
| ******************************************************************************/ |
| |
| #ifndef _REE_SYS_CALLBACK_CMD_H_ |
| #define _REE_SYS_CALLBACK_CMD_H_ |
| |
| #include "types.h" |
| #include "tee_comm.h" |
| #include "tee_internal_api.h" |
| |
| enum REE_SysCallbackCmd { |
| REE_CMD_TIME_GET, |
| REE_CMD_TIME_WAIT, |
| REE_CMD_THREAD_CREATE, |
| REE_CMD_THREAD_DESTROY, |
| REE_CMD_LOG_WRITE, |
| REE_CMD_MUTEX_CREATE, |
| REE_CMD_MUTEX_DESTROY, |
| REE_CMD_MUTEX_LOCK, |
| REE_CMD_MUTEX_TRYLOCK, |
| REE_CMD_MUTEX_UNLOCK, |
| REE_CMD_SEMAPHORE_CREATE, |
| REE_CMD_SEMAPHORE_DESTROY, |
| REE_CMD_SEMAPHORE_WAIT, |
| REE_CMD_SEMAPHORE_TIMEDWAIT, |
| REE_CMD_SEMAPHORE_TRYWAIT, |
| REE_CMD_SEMAPHORE_POST, |
| REE_CMD_FILE_OPEN, |
| REE_CMD_FILE_CLOSE, |
| REE_CMD_FILE_READ, |
| REE_CMD_FILE_WRITE, |
| REE_CMD_FILE_SEEK, |
| REE_CMD_FOLDER_MAKE, |
| REE_CMD_RPMB_READ_COUNTER, |
| REE_CMD_RPMB_WRITE_BLOCK, |
| REE_CMD_RPMB_READ_BLOCK, |
| REE_CMD_MUTEX_EXT_WAIT, |
| REE_CMD_MUTEX_EXT_WAKE, |
| REE_CMD_MUTEX_EXT_DEL, |
| REE_CMD_MAX |
| }; |
| |
| #ifndef REE_MUTEX_NAME_MAX_LEN |
| #define REE_MUTEX_NAME_MAX_LEN 32 |
| #endif |
| |
| #ifndef REE_SEMAPHORE_NAME_MAX_LEN |
| #define REE_SEMAPHORE_NAME_MAX_LEN 32 |
| #endif |
| |
| /* |
| * file path looks like this /data/tee/uuid2md5/obj_id(<64bytes) |
| * 192 is enough |
| */ |
| #ifndef REE_FILE_PATH_MAX_LEN |
| #define REE_FILE_PATH_MAX_LEN (188 - 1) |
| #endif |
| |
| #ifndef REE_FOLDER_PATH_MAX_LEN |
| #define REE_FOLDER_PATH_MAX_LEN (188 - 1) |
| #endif |
| |
| typedef struct REE_MutexCreateParam |
| { |
| void *lock; |
| char name[REE_MUTEX_NAME_MAX_LEN + 1]; |
| } REE_MutexCreateParam; |
| |
| typedef struct REE_SemaphoreCreateParam |
| { |
| void *sem; |
| int value; |
| char name[REE_SEMAPHORE_NAME_MAX_LEN + 1]; |
| } REE_SemaphoreCreateParam; |
| |
| typedef struct REE_SemaphoreTimedWaitParam |
| { |
| void *sem; |
| uint32_t timeout; |
| } REE_SemaphoreTimedWaitParam; |
| |
| typedef struct REE_FileOpenParam |
| { |
| char fileName[REE_FILE_PATH_MAX_LEN + 1]; |
| } REE_FileOpenParam; |
| |
| typedef struct REE_FileReadWriteParam |
| { |
| uint64_t filp; |
| int32_t offset; |
| int32_t ret; |
| int32_t size; |
| char buff[0]; |
| } REE_FileReadWriteParam; |
| |
| typedef struct REE_FileSeekParam |
| { |
| uint64_t filp; |
| int32_t offset; |
| uint32_t whence; |
| uint32_t pos; |
| } REE_FileSeekParam; |
| |
| typedef struct REE_FolderMakeParam |
| { |
| char folderPath[REE_FOLDER_PATH_MAX_LEN + 1]; |
| } REE_FolderMakeParam; |
| |
| |
| #endif /* _REE_SYS_CALLBACK_CMD_H_ */ |