| /* SPDX-License-Identifier: BSD-2-Clause */ | |
| /* | |
| * Copyright (c) 2016-2018, Linaro Limited | |
| */ | |
| #ifndef __OPTEE_MSG_SUPPLICANT_H | |
| #define __OPTEE_MSG_SUPPLICANT_H | |
| /* | |
| * This file is based on | |
| * https://github.com/OP-TEE/optee_os/blob/master/core/include/optee_msg_supplicant.h | |
| * and may need to be updated when introducing new features. | |
| */ | |
| /* | |
| * Load a TA into memory | |
| */ | |
| #define OPTEE_MSG_RPC_CMD_LOAD_TA 0 | |
| /* | |
| * Replay Protected Memory Block access | |
| */ | |
| #define OPTEE_MSG_RPC_CMD_RPMB 1 | |
| /* | |
| * File system access | |
| */ | |
| #define OPTEE_MSG_RPC_CMD_FS 2 | |
| /* | |
| * Define protocol for messages with .cmd == OPTEE_MSG_RPC_CMD_FS and first | |
| * parameter has the attribute OPTEE_MSG_ATTR_TYPE_VALUE_INPUT. | |
| */ | |
| /* | |
| * Open a file | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRF_OPEN | |
| * [in] param[1].u.tmem a string holding the file name | |
| * [out] param[2].u.value.a file descriptor of open file | |
| */ | |
| #define OPTEE_MRF_OPEN 0 | |
| /* | |
| * Create a file | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRF_CREATE | |
| * [in] param[1].u.tmem a string holding the file name | |
| * [out] param[2].u.value.a file descriptor of open file | |
| */ | |
| #define OPTEE_MRF_CREATE 1 | |
| /* | |
| * Close a file | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRF_CLOSE | |
| * [in] param[0].u.value.b file descriptor of open file. | |
| */ | |
| #define OPTEE_MRF_CLOSE 2 | |
| /* | |
| * Read from a file | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRF_READ | |
| * [in] param[0].u.value.b file descriptor of open file | |
| * [in] param[0].u.value.c offset into file | |
| * [out] param[1].u.tmem buffer to hold returned data | |
| */ | |
| #define OPTEE_MRF_READ 3 | |
| /* | |
| * Write to a file | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRF_WRITE | |
| * [in] param[0].u.value.b file descriptor of open file | |
| * [in] param[0].u.value.c offset into file | |
| * [in] param[1].u.tmem buffer holding data to be written | |
| */ | |
| #define OPTEE_MRF_WRITE 4 | |
| /* | |
| * Truncate a file | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRF_TRUNCATE | |
| * [in] param[0].u.value.b file descriptor of open file | |
| * [in] param[0].u.value.c length of file. | |
| */ | |
| #define OPTEE_MRF_TRUNCATE 5 | |
| /* | |
| * Remove a file | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRF_REMOVE | |
| * [in] param[1].u.tmem a string holding the file name | |
| */ | |
| #define OPTEE_MRF_REMOVE 6 | |
| /* | |
| * Rename a file | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRF_RENAME | |
| * [in] param[0].u.value.b true if existing target should be removed | |
| * [in] param[1].u.tmem a string holding the old file name | |
| * [in] param[2].u.tmem a string holding the new file name | |
| */ | |
| #define OPTEE_MRF_RENAME 7 | |
| /* | |
| * Opens a directory for file listing | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRF_OPENDIR | |
| * [in] param[1].u.tmem a string holding the name of the directory | |
| * [out] param[2].u.value.a handle to open directory | |
| */ | |
| #define OPTEE_MRF_OPENDIR 8 | |
| /* | |
| * Closes a directory handle | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRF_CLOSEDIR | |
| * [in] param[0].u.value.b handle to open directory | |
| */ | |
| #define OPTEE_MRF_CLOSEDIR 9 | |
| /* | |
| * Read next file name of directory | |
| * | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRF_READDIR | |
| * [in] param[0].u.value.b handle to open directory | |
| * [out] param[1].u.tmem a string holding the file name | |
| */ | |
| #define OPTEE_MRF_READDIR 10 | |
| /* | |
| * End of definitions for messages with .cmd == OPTEE_MSG_RPC_CMD_FS | |
| */ | |
| /* | |
| * Command Ids 3, 4 and 5 of OPTEE_MSG_RPC_CMD_xxx macros are reserved for use | |
| * by the kernel driver. | |
| */ | |
| /* | |
| * Shared memory allocation | |
| */ | |
| #define OPTEE_MSG_RPC_CMD_SHM_ALLOC 6 | |
| #define OPTEE_MSG_RPC_CMD_SHM_FREE 7 | |
| /* | |
| * I2C bus access | |
| */ | |
| #define OPTEE_MSG_RPC_CMD_I2C_TRANSFER 21 | |
| /* | |
| * Was OPTEE_MSG_RPC_CMD_SQL_FS, which isn't supported any longer | |
| */ | |
| #define OPTEE_MSG_RPC_CMD_SQL_FS_RESERVED 8 | |
| /* | |
| * GPROF support management commands | |
| */ | |
| #define OPTEE_MSG_RPC_CMD_GPROF 9 | |
| /* | |
| * Socket commands | |
| */ | |
| #define OPTEE_MSG_RPC_CMD_SOCKET 10 | |
| /* | |
| * Define protocol for messages with .cmd == OPTEE_MSG_RPC_CMD_SOCKET | |
| */ | |
| #define OPTEE_MRC_SOCKET_TIMEOUT_NONBLOCKING 0 | |
| #define OPTEE_MRC_SOCKET_TIMEOUT_BLOCKING 0xffffffff | |
| /* | |
| * Open socket | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRC_SOCKET_OPEN | |
| * [in] param[0].u.value.b TA instance id | |
| * [in] param[1].u.value.a server port number | |
| * [in] param[1].u.value.b protocol, TEE_ISOCKET_PROTOCOLID_* | |
| * [in] param[1].u.value.c ip version TEE_IP_VERSION_* from tee_ipsocket.h | |
| * [in] param[2].u.tmem server address | |
| * [out] param[3].u.value.a socket handle (32-bit) | |
| */ | |
| #define OPTEE_MRC_SOCKET_OPEN 0 | |
| /* | |
| * Close socket | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRC_SOCKET_CLOSE | |
| * [in] param[0].u.value.b TA instance id | |
| * [in] param[0].u.value.c socket handle | |
| */ | |
| #define OPTEE_MRC_SOCKET_CLOSE 1 | |
| /* | |
| * Close all sockets | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRC_SOCKET_CLOSE_ALL | |
| * [in] param[0].u.value.b TA instance id | |
| */ | |
| #define OPTEE_MRC_SOCKET_CLOSE_ALL 2 | |
| /* | |
| * Send data on socket | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRC_SOCKET_SEND | |
| * [in] param[0].u.value.b TA instance id | |
| * [in] param[0].u.value.c socket handle | |
| * [in] param[1].u.tmem buffer to transmit | |
| * [in] param[2].u.value.a timeout ms or OPTEE_MRC_SOCKET_TIMEOUT_* | |
| * [out] param[2].u.value.b number of transmitted bytes | |
| */ | |
| #define OPTEE_MRC_SOCKET_SEND 3 | |
| /* | |
| * Receive data on socket | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRC_SOCKET_RECV | |
| * [in] param[0].u.value.b TA instance id | |
| * [in] param[0].u.value.c socket handle | |
| * [out] param[1].u.tmem buffer to receive | |
| * [in] param[2].u.value.a timeout ms or OPTEE_MRC_SOCKET_TIMEOUT_* | |
| */ | |
| #define OPTEE_MRC_SOCKET_RECV 4 | |
| /* | |
| * Perform IOCTL on socket | |
| * | |
| * [in] param[0].u.value.a OPTEE_MRC_SOCKET_IOCTL | |
| * [in] param[0].u.value.b TA instance id | |
| * [in] param[0].u.value.c socket handle | |
| * [in/out] param[1].u.tmem buffer | |
| * [in] param[2].u.value.a ioctl command | |
| */ | |
| #define OPTEE_MRC_SOCKET_IOCTL 5 | |
| /* | |
| * End of definitions for messages with .cmd == OPTEE_MSG_RPC_CMD_SOCKET | |
| */ | |
| #endif /* __OPTEE_MSG_SUPPLICANT_H */ |