blob: 223289f3f6743e4ed065fddeefd6f060fa96eb1c [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "garnet/lib/debug_ipc/register_test_support.h"
#include <string.h>
namespace debug_ipc {
namespace {
std::vector<uint8_t> CreateData(size_t length) {
std::vector<uint8_t> data;
data.reserve(length);
// So that we get the number backwards (0x0102...).
uint8_t base = length;
for (size_t i = 0; i < length; i++) {
data.emplace_back(base - i);
}
return data;
}
} // namespace
Register CreateRegister(RegisterID id, size_t length) {
Register reg;
reg.id = id;
reg.data = std::vector<uint8_t>(length);
// Zero out.
memset(reg.data.data(), 0, length);
return reg;
}
Register CreateRegisterWithData(RegisterID id, size_t length) {
Register reg;
reg.id = id;
reg.data = CreateData(length);
return reg;
}
Register CreateUint64Register(RegisterID id, uint64_t value) {
Register reg;
reg.id = id;
reg.data = std::vector<uint8_t>(sizeof(uint64_t));
*reinterpret_cast<uint64_t*>(reg.data.data()) = value;
return reg;
}
} // namespace debug_ipc