xref: /optee_os/lib/libutee/include/pta_socket.h (revision b1d7375c01ec8bcbf3561d27425d320afed23bce)
1*1bb92983SJerome Forissier /* SPDX-License-Identifier: BSD-2-Clause */
2a32a96edSJens Wiklander /*
3a32a96edSJens Wiklander  * Copyright (c) 2016, Linaro Limited
4a32a96edSJens Wiklander  */
5a32a96edSJens Wiklander 
6a32a96edSJens Wiklander #ifndef __PTA_SOCKET
7a32a96edSJens Wiklander #define __PTA_SOCKET
8a32a96edSJens Wiklander 
9a32a96edSJens Wiklander #define PTA_SOCKET_UUID { 0x3b996a7d, 0x2c2b, 0x4a49, { \
10a32a96edSJens Wiklander 			  0xa8, 0x96, 0xe1, 0xfb, 0x57, 0x66, 0xd2, 0xf4 } }
11a32a96edSJens Wiklander 
12a32a96edSJens Wiklander /*
13a32a96edSJens Wiklander  * [in]		value[0].a	ip version TEE_IP_VERSION_* from tee_ipsocket.h
14a32a96edSJens Wiklander  * [in]		value[0].b	server port number
15a32a96edSJens Wiklander  * [in]		memref[1]	server address
16a32a96edSJens Wiklander  * [in]		value[2].a	protocol, TEE_ISOCKET_PROTOCOLID_*
17a32a96edSJens Wiklander  * [out]	value[3].a	socket handle
18a32a96edSJens Wiklander  */
19a32a96edSJens Wiklander #define PTA_SOCKET_OPEN		1
20a32a96edSJens Wiklander 
21a32a96edSJens Wiklander /*
22a32a96edSJens Wiklander  * [in]		value[0].a	socket handle
23a32a96edSJens Wiklander  */
24a32a96edSJens Wiklander #define PTA_SOCKET_CLOSE	2
25a32a96edSJens Wiklander 
26a32a96edSJens Wiklander #define PTA_SOCKET_TIMEOUT_NONBLOCKING	0
27a32a96edSJens Wiklander #define PTA_SOCKET_TIMEOUT_BLOCKING	0xffffffff
28a32a96edSJens Wiklander 
29a32a96edSJens Wiklander /*
30a32a96edSJens Wiklander  * [in]		value[0].a	socket handle
31a32a96edSJens Wiklander  * [in]		value[0].b	timeout ms or TEE_TIMEOUT_INFINITE
32a32a96edSJens Wiklander  * [in]		memref[1]	buffer to transmit
33a32a96edSJens Wiklander  * [out]	value[2].a	number of transmitted bytes
34a32a96edSJens Wiklander  */
35a32a96edSJens Wiklander #define PTA_SOCKET_SEND		3
36a32a96edSJens Wiklander 
37a32a96edSJens Wiklander /*
38a32a96edSJens Wiklander  * [in]		value[0].a	socket handle
39a32a96edSJens Wiklander  * [in]		value[0].b	timeout ms or TEE_TIMEOUT_INFINITE
40a32a96edSJens Wiklander  * [out]	memref[1]	buffer
41a32a96edSJens Wiklander  */
42a32a96edSJens Wiklander #define PTA_SOCKET_RECV		4
43a32a96edSJens Wiklander 
44a32a96edSJens Wiklander /*
45a32a96edSJens Wiklander  * [in]		value[0].a	socket handle
46a32a96edSJens Wiklander  * [in]		value[0].b	ioctl command
47a32a96edSJens Wiklander  * [in/out]	memref[1]	buffer
48a32a96edSJens Wiklander  */
49a32a96edSJens Wiklander #define PTA_SOCKET_IOCTL	5
50a32a96edSJens Wiklander 
51a32a96edSJens Wiklander #endif /*__PTA_SOCKET*/
52