blob: a4d054bd2efa492e089be249dc451ffd820bde7e [file] [log] [blame]
Raef Coles734aaac2022-06-15 14:37:22 +01001/*
2 * Copyright (c) 2022, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8#ifndef __RSS_COMMS_PROTOCOL_POINTER_ACCESS_H__
9#define __RSS_COMMS_PROTOCOL_POINTER_ACCESS_H__
10
11#include <cdefs.h>
12
13#include <psa/client.h>
14
15struct __packed rss_pointer_access_msg_t {
16 psa_handle_t handle;
17 uint32_t ctrl_param;
18 uint32_t io_sizes[PSA_MAX_IOVEC];
19 uint64_t host_ptrs[PSA_MAX_IOVEC];
20};
21
22struct __packed rss_pointer_access_reply_t {
23 int32_t return_val;
24 uint32_t out_sizes[PSA_MAX_IOVEC];
25};
26
27psa_status_t rss_protocol_pointer_access_serialize_msg(psa_handle_t handle,
28 int16_t type,
29 const psa_invec *in_vec,
30 uint8_t in_len,
31 const psa_outvec *out_vec,
32 uint8_t out_len,
33 struct rss_pointer_access_msg_t *msg,
34 size_t *msg_len);
35
36psa_status_t rss_protocol_pointer_access_deserialize_reply(psa_outvec *out_vec,
37 uint8_t out_len,
38 psa_status_t *return_val,
39 const struct rss_pointer_access_reply_t *reply,
40 size_t reply_size);
41
42#endif /* __RSS_COMMS_PROTOCOL_POINTER_ACCESS_H__ */