xref: /openbmc/hiomapd/test/mbox.h (revision f1e547c7)
1 /* SPDX-License-Identifier: Apache-2.0 */
2 /* Copyright (C) 2018 IBM Corp. */
3 
4 #ifndef TEST_MBOX_H
5 #define TEST_MBOX_H
6 
7 #include <stddef.h>
8 #include <stdint.h>
9 
10 #include "common.h"
11 #include "mboxd.h"
12 #include "transport_mbox.h"
13 
14 #include "tmpf.h"
15 
16 struct mbox_context *mbox_create_test_context(int n_windows, size_t len);
17 struct mbox_context *mbox_create_frontend_context(int n_windows, size_t len);
18 
19 int mbox_set_mtd_data(struct mbox_context *context, const void *data,
20 		size_t len);
21 
22 void mbox_dump(struct mbox_context *context);
23 
24 void mbox_rspcpy(struct mbox_context *context, struct mbox_msg *msg);
25 
26 int mbox_cmp(struct mbox_context *context, const uint8_t *expected, size_t len);
27 
28 int mbox_command_write(struct mbox_context *context, const uint8_t *command,
29 		size_t len);
30 
31 int mbox_command_dispatch(struct mbox_context *context, const uint8_t *command,
32 	size_t len);
33 
34 /* Helpers */
35 void dump_buf(const void *buf, size_t len);
36 
37 #endif /* TEST_MBOX_H */
38