xref: /openbmc/hiomapd/test/mbox.h (revision f1e547c74563d59f60d918c6fa673bb8cee6e669)
14fe996c2SAndrew Jeffery /* SPDX-License-Identifier: Apache-2.0 */
24fe996c2SAndrew Jeffery /* Copyright (C) 2018 IBM Corp. */
35ab4e3e8SAndrew Jeffery 
45ab4e3e8SAndrew Jeffery #ifndef TEST_MBOX_H
55ab4e3e8SAndrew Jeffery #define TEST_MBOX_H
65ab4e3e8SAndrew Jeffery 
75ab4e3e8SAndrew Jeffery #include <stddef.h>
85ab4e3e8SAndrew Jeffery #include <stdint.h>
95ab4e3e8SAndrew Jeffery 
10ca1dfc9eSAndrew Jeffery #include "common.h"
1126558dbbSAndrew Jeffery #include "mboxd.h"
12457a6e5fSAndrew Jeffery #include "transport_mbox.h"
135ab4e3e8SAndrew Jeffery 
145ab4e3e8SAndrew Jeffery #include "tmpf.h"
155ab4e3e8SAndrew Jeffery 
165ab4e3e8SAndrew Jeffery struct mbox_context *mbox_create_test_context(int n_windows, size_t len);
17*f1e547c7SEvan Lojewski struct mbox_context *mbox_create_frontend_context(int n_windows, size_t len);
185ab4e3e8SAndrew Jeffery 
195ab4e3e8SAndrew Jeffery int mbox_set_mtd_data(struct mbox_context *context, const void *data,
205ab4e3e8SAndrew Jeffery 		size_t len);
215ab4e3e8SAndrew Jeffery 
225ab4e3e8SAndrew Jeffery void mbox_dump(struct mbox_context *context);
235ab4e3e8SAndrew Jeffery 
24ca1dfc9eSAndrew Jeffery void mbox_rspcpy(struct mbox_context *context, struct mbox_msg *msg);
25ca1dfc9eSAndrew Jeffery 
265ab4e3e8SAndrew Jeffery int mbox_cmp(struct mbox_context *context, const uint8_t *expected, size_t len);
275ab4e3e8SAndrew Jeffery 
285ab4e3e8SAndrew Jeffery int mbox_command_write(struct mbox_context *context, const uint8_t *command,
295ab4e3e8SAndrew Jeffery 		size_t len);
305ab4e3e8SAndrew Jeffery 
315ab4e3e8SAndrew Jeffery int mbox_command_dispatch(struct mbox_context *context, const uint8_t *command,
325ab4e3e8SAndrew Jeffery 	size_t len);
335ab4e3e8SAndrew Jeffery 
345ab4e3e8SAndrew Jeffery /* Helpers */
35ee7af883SAndrew Jeffery void dump_buf(const void *buf, size_t len);
365ab4e3e8SAndrew Jeffery 
375ab4e3e8SAndrew Jeffery #endif /* TEST_MBOX_H */
38