blob: dcf1583130902ca8216cb37533d292c4677d9fc9 [file] [log] [blame]
/* Copyright (c) 2014 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 VBOOT_REFERENCE_VB2_CONVERT_STRUCTS_H_
#define VBOOT_REFERENCE_VB2_CONVERT_STRUCTS_H_
#include "2struct.h"
/**
* Round up a size to a multiple of 32 bits (4 bytes).
*/
static __inline const uint32_t roundup32(uint32_t v)
{
return (v + 3) & ~3;
}
/**
* Convert a packed key from vboot data format to vboot2 data format.
*
* Intended for use by unit tests. Does NOT validate the original struct
* contents, just copies them.
*
* @param key Packed key in vboot1 format
* @param desc Description of packed key
* @param out_size Size of the newly allocated buffer
* @return a newly allocated buffer with the converted key. Caller is
* responsible for freeing this buffer.
*/
struct vb2_packed_key2 *vb2_convert_packed_key2(
const struct vb2_packed_key *key,
const char *desc, uint32_t *out_size);
#endif /* VBOOT_REFERENCE_VB2_CONVERT_STRUCTS_H_ */