Home | History | Annotate | Download | only in include
      1 /* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
      2  * Use of this source code is governed by a BSD-style license that can be
      3  * found in the LICENSE file.
      4  *
      5  * Host-side functions for firmware preamble
      6  */
      7 
      8 #ifndef VBOOT_REFERENCE_HOST_FW_PREAMBLE2_H_
      9 #define VBOOT_REFERENCE_HOST_FW_PREAMBLE2_H_
     10 
     11 #include "vb2_struct.h"
     12 
     13 struct vb2_private_key;
     14 
     15 /**
     16  * Create and sign a firmware preamble.
     17  *
     18  * @param fp_ptr	On success, points to a newly allocated preamble buffer.
     19  *			Caller is responsible for calling free() on this.
     20  * @param signing_key	Key to sign the preamble with
     21  * @param hash_list	Component hashes to include in the keyblock
     22  * @param hash_count	Number of component hashes
     23  * @param fw_version	Firmware version
     24  * @param flags		Flags for preamble
     25  * @param desc		Description for preamble, or NULL if none
     26  * @return VB2_SUCCESS, or non-zero error code if failure.
     27  */
     28 int vb2_fw_preamble_create(struct vb2_fw_preamble **fp_ptr,
     29 			   const struct vb2_private_key *signing_key,
     30 			   const struct vb2_signature **hash_list,
     31 			   uint32_t hash_count,
     32 			   uint32_t fw_version,
     33 			   uint32_t flags,
     34 			   const char *desc);
     35 
     36 #endif  /* VBOOT_REFERENCE_HOST_FW_PREAMBLE2_H_ */
     37