Files
djhackersdev_bemanitools/src/main/acioemu/addr.c
T

36 lines
781 B
C

#include <stdint.h>
#include "acio/acio.h"
#include "acioemu/addr.h"
#include "acioemu/emu.h"
#include "util/log.h"
void ac_io_emu_cmd_assign_addrs(
struct ac_io_emu *emu, const struct ac_io_message *req, uint8_t node_count)
{
struct ac_io_message resp;
uint16_t cmd;
log_assert(emu != NULL);
log_assert(req != NULL);
cmd = ac_io_u16(req->cmd.code);
if (cmd != AC_IO_CMD_ASSIGN_ADDRS) {
log_warning("Address 0 expects address assignment cmd, got %04x", cmd);
return;
}
memset(&resp, 0, sizeof(resp));
resp.addr = 0;
resp.cmd.code = req->cmd.code;
resp.cmd.seq_no = req->cmd.seq_no;
resp.cmd.nbytes = sizeof(resp.cmd.count);
resp.cmd.count = node_count;
ac_io_emu_response_push(emu, &resp, 0);
}