blob: ee5b5a378901edb364a07b398bc940e2239ad12a [file] [log] [blame]
Valerio Setti4f4ade92024-05-03 17:28:04 +02001/* Common definitions used for clients and services */
2
3/*
4 * Copyright The Mbed TLS Contributors
5 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
6 */
7
8#ifndef _COMMON_H_
9#define _COMMON_H_
10
11#include <stdint.h>
12#include <stddef.h>
13
14/* Increasing this might break on some platforms */
15#define MAX_FRAGMENT_SIZE 200
16
17#define CONNECT_REQUEST 1
18#define CALL_REQUEST 2
19#define CLOSE_REQUEST 3
20#define VERSION_REQUEST 4
21#define READ_REQUEST 5
22#define READ_RESPONSE 6
23#define WRITE_REQUEST 7
24#define WRITE_RESPONSE 8
25#define SKIP_REQUEST 9
26#define PSA_REPLY 10
27
28#define NON_SECURE (1 << 30)
29
Valerio Setti4f4ade92024-05-03 17:28:04 +020030typedef int32_t psa_handle_t;
31
32#define PSA_MAX_IOVEC (4u)
33
34#define PSA_IPC_CALL (0)
35
36struct message_text {
37 int qid;
38 int32_t psa_type;
39 char buf[MAX_FRAGMENT_SIZE];
40};
41
42struct message {
43 long message_type;
44 struct message_text message_text;
45};
46
47typedef struct vector_sizes {
48 size_t invec_sizes[PSA_MAX_IOVEC];
49 size_t outvec_sizes[PSA_MAX_IOVEC];
50} vector_sizes_t;
51
52#endif /* _COMMON_H_ */