mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-29 14:33:08 +00:00
241 lines
5.7 KiB
C
241 lines
5.7 KiB
C
|
/* 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
|
||
|
|
||
|
/*
|
||
|
* 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 */
|