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