/* Copyright (c) 2013 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. * * Access to portions of the firmware image, perhaps later to be expanded * to other devices. */ #ifndef VBOOT_REFERENCE_REGION_H_ #define VBOOT_REFERENCE_REGION_H_ #include "bmpblk_header.h" #include "gbb_header.h" #include "vboot_api.h" #include "vboot_struct.h" /* The maximum length of a hardware ID */ #define VB_REGION_HWID_LEN 256 /** * Read data from a region * * @param cparams Vboot common parameters * @param region Region number to read * @param offset Offset within region to start reading * @param size Size of data to read * @param buf Buffer to put the data into * @return VBERROR_... error, VBERROR_SUCCESS on success, */ VbError_t VbRegionReadData(VbCommonParams *cparams, enum vb_firmware_region region, uint32_t offset, uint32_t size, void *buf); /** * Check the version of the GBB and print debug information if valid * * @param cparams Vboot common parameters */ void VbRegionCheckVersion(VbCommonParams *cparams); /** * Read the hardware ID from the GBB * * @param cparams Vboot common parameters * @param hwid Place to put HWID, which will be null-terminated * @param max_size Maximum size of HWID including terminated null * character (suggest VB_REGION_HWID_LEN). If this size * it too small then VBERROR_INVALID_PARAMETER is * returned. * @return VBERROR_... error, VBERROR_SUCCESS on success, */ VbError_t VbRegionReadHWID(VbCommonParams *cparams, char *hwid, uint32_t max_size); #endif /* VBOOT_REFERENCE_REGION_H_ */