// Copyright 2022 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef LIBEC_FINGERPRINT_FP_TEMPLATE_PARAMS_H_
#define LIBEC_FINGERPRINT_FP_TEMPLATE_PARAMS_H_

#include <array>

#include "libec/ec_command.h"

namespace ec {
namespace fp_template {

// We cannot use "struct ec_params_fp_template" directly in the
// FpTemplateCommand class because the "data" member is a variable length array.
// "Header" includes everything from that struct except "data". A test validates
// that the size of the two structs is the same to avoid any divergence.
struct Header {
  uint32_t offset = 0;
  uint32_t size = 0;
};

using Data = std::array<uint8_t, kMaxPacketSize - sizeof(struct Header)>;

struct Params {
  struct Header req;
  Data data{};
};

}  // namespace fp_template
}  // namespace ec

#endif  // LIBEC_FINGERPRINT_FP_TEMPLATE_PARAMS_H_
