Files
OpenCellular/firmware/include/gbb_header.h
Randall Spangler 38e0de5728 Add maximum length constant for HWID, so it can be used by other utilities/firmware.
BUG=none
TEST=manual

Review URL: http://codereview.chromium.org/3837007

Change-Id: Ic5de775353ff3145018b28dccc6d983bbaf40180
2010-10-18 12:59:08 -07:00

52 lines
1.5 KiB
C

/* Copyright (c) 2010 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.
*
* Data structure of Google Binary Block (GBB)
*/
#ifndef VBOOT_REFERENCE_GBB_HEADER_H_
#define VBOOT_REFERENCE_GBB_HEADER_H_
#include "sysincludes.h"
#define GBB_HEADER_SIZE (0x80)
#define GBB_SIGNATURE "$GBB"
#define GBB_SIGNATURE_SIZE (4)
#define GBB_MAJOR_VER (0x01)
#define GBB_MINOR_VER (0x00)
/* Maximum length of a HWID in bytes, counting terminating null. */
#define GBB_HWID_MAX_SIZE 256
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
typedef struct GoogleBinaryBlockHeader {
uint8_t signature[GBB_SIGNATURE_SIZE]; // GBB_SIGNATURE "$GBB"
uint16_t major_version; // see GBB_MAJOR_VER
uint16_t minor_version; // see GBB_MINOR_VER
uint32_t header_size; // size of GBB header in bytes
uint32_t reserved;
uint32_t hwid_offset; // HWID offset from header
uint32_t hwid_size; // HWID size in bytes
uint32_t rootkey_offset; // Root Key offset from header
uint32_t rootkey_size; // Root Key size in bytes
uint32_t bmpfv_offset; // BMP FV offset from header
uint32_t bmpfv_size; // BMP FV size in bytes
uint32_t recovery_key_offset; // Recovery Key offset from header
uint32_t recovery_key_size; // Recovery Key size in bytes
uint8_t pad[80]; // to match GBB_HEADER_SIZE
} GoogleBinaryBlockHeader;
#ifdef __cplusplus
}
#endif // __cplusplus
#endif /* VBOOT_REFERENCE_GBB_HEADER_H_ */