summaryrefslogtreecommitdiff
path: root/firmware/include/bmpblk_header.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/include/bmpblk_header.h')
-rw-r--r--firmware/include/bmpblk_header.h113
1 files changed, 61 insertions, 52 deletions
diff --git a/firmware/include/bmpblk_header.h b/firmware/include/bmpblk_header.h
index 7a588219..5957c31c 100644
--- a/firmware/include/bmpblk_header.h
+++ b/firmware/include/bmpblk_header.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved.
+/* 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.
*
@@ -40,7 +40,6 @@
* +-----------------------------------------+
* | List of locale names |
* +-----------------------------------------+
- *
*/
#ifndef VBOOT_REFERENCE_BMPBLK_HEADER_H_
@@ -60,83 +59,93 @@ __pragma(pack(push, 1)) /* Support packing for MSVC. */
/* BMPBLOCK header, describing how many screen layouts and image infos */
typedef struct BmpBlockHeader {
- uint8_t signature[BMPBLOCK_SIGNATURE_SIZE]; /* BMPBLOCK_SIGNATURE $BMP */
- uint16_t major_version; /* see BMPBLOCK_MAJOR_VER */
- uint16_t minor_version; /* see BMPBLOCK_MINOR_VER */
- uint32_t number_of_localizations; /* Number of localizations */
- uint32_t number_of_screenlayouts; /* Number of screen layouts in each
- * localization */
- uint32_t number_of_imageinfos; /* Number of image infos */
- uint32_t locale_string_offset; /* Offset of locale-translation string */
- uint32_t reserved[2];
+ /* BMPBLOCK_SIGNATURE $BMP */
+ uint8_t signature[BMPBLOCK_SIGNATURE_SIZE];
+ uint16_t major_version; /* see BMPBLOCK_MAJOR_VER */
+ uint16_t minor_version; /* see BMPBLOCK_MINOR_VER */
+ uint32_t number_of_localizations; /* Number of localizations */
+ /* Number of screen layouts in each localization */
+ uint32_t number_of_screenlayouts;
+ uint32_t number_of_imageinfos; /* Number of image infos */
+ /* Offset of locale-translation string */
+ uint32_t locale_string_offset;
+ uint32_t reserved[2];
} __attribute__((packed)) BmpBlockHeader;
/* Screen layout, describing how to stack multiple images on screen */
typedef struct ScreenLayout {
- struct {
- uint32_t x; /* X-offset of the image to be rendered */
- uint32_t y; /* Y-offset of the image to be rendered */
- uint32_t image_info_offset; /* Offset of image info from start of
- * BMPBLOCK. 0 means end of it. */
- } images[MAX_IMAGE_IN_LAYOUT]; /* Images contained in the screen. Will be
- * rendered from 0 to (number_of_images-1). */
+ /*
+ * Images contained in the screen. Will be rendered from 0 to
+ * (number_of_images-1).
+ */
+ struct {
+ /* (X,Y) offset of image to be rendered */
+ uint32_t x;
+ uint32_t y;
+ /* Offset of image info from start of BMPBLOCK; 0=end it. */
+ uint32_t image_info_offset;
+ } images[MAX_IMAGE_IN_LAYOUT];
} __attribute__((packed)) ScreenLayout;
/* Constants for screen index */
typedef enum ScreenIndex {
- SCREEN_DEVELOPER_WARNING = 0,
- SCREEN_RECOVERY_REMOVE,
- SCREEN_RECOVERY_NO_GOOD,
- SCREEN_RECOVERY_INSERT,
- SCREEN_RECOVERY_TO_DEV,
- SCREEN_DEVELOPER_TO_NORM,
- SCREEN_WAIT,
- SCREEN_TO_NORM_CONFIRMED,
- MAX_VALID_SCREEN_INDEX,
- SCREEN_BLANK = ~0UL,
+ SCREEN_DEVELOPER_WARNING = 0,
+ SCREEN_RECOVERY_REMOVE,
+ SCREEN_RECOVERY_NO_GOOD,
+ SCREEN_RECOVERY_INSERT,
+ SCREEN_RECOVERY_TO_DEV,
+ SCREEN_DEVELOPER_TO_NORM,
+ SCREEN_WAIT,
+ SCREEN_TO_NORM_CONFIRMED,
+ MAX_VALID_SCREEN_INDEX,
+ SCREEN_BLANK = ~0UL,
} ScreenIndex;
/* Image info, describing the information of the image block */
typedef struct ImageInfo {
- uint32_t tag; /* Tag it as a special image, like HWID */
- uint32_t width; /* Width of the image */
- uint32_t height; /* Height of the image */
- uint32_t format; /* File format of the image */
- uint32_t compression; /* Compression method for the image file */
- uint32_t original_size; /* Size of the original uncompressed image */
- uint32_t compressed_size; /* Size of the compressed image; if image is not
- * compressed, this will be the same as the
- * original size. */
- uint32_t reserved;
+ uint32_t tag; /* Tag it as a special image, like HWID */
+ uint32_t width; /* Width of the image */
+ uint32_t height; /* Height of the image */
+ uint32_t format; /* File format of the image */
+ uint32_t compression; /* Compression method for the image file */
+ uint32_t original_size; /* Size of the original uncompressed image */
+ /*
+ * Size of the compressed image; if image is not compressed, this will
+ * be the same as the original size.
+ */
+ uint32_t compressed_size;
+ uint32_t reserved;
/* NOTE: The actual image content (if any) follows immediately. */
} __attribute__((packed)) ImageInfo;
/* Constants for ImageInfo.tag */
typedef enum ImageTag {
- TAG_NONE = 0,
- TAG_HWID,
- TAG_HWID_RTOL, /* "right-to-left", ie, right-justified HWID */
+ TAG_NONE = 0,
+ TAG_HWID,
+ TAG_HWID_RTOL, /* "right-to-left", ie, right-justified HWID */
} ImageTag;
/* Constants for ImageInfo.format */
typedef enum ImageFormat {
- FORMAT_INVALID = 0,
- FORMAT_BMP,
- FORMAT_FONT,
+ FORMAT_INVALID = 0,
+ FORMAT_BMP,
+ FORMAT_FONT,
} ImageFormat;
/* Constants for ImageInfo.compression */
typedef enum Compression {
- COMPRESS_NONE = 0,
- COMPRESS_EFIv1, /* The x86 BIOS only supports this */
- COMPRESS_LZMA1, /* The ARM BIOS supports LZMA1 */
- MAX_COMPRESS,
+ COMPRESS_NONE = 0,
+ COMPRESS_EFIv1, /* The x86 BIOS only supports this */
+ COMPRESS_LZMA1, /* The ARM BIOS supports LZMA1 */
+ MAX_COMPRESS,
} Compression;
-/* These magic image names can be used in the .yaml file to indicate that
- the ASCII HWID should be displayed. For RENDER_HWID, the image coordinates
- specify upper-left corner of the HWID string. For RENDER_HWID_RTOL, they
- indicate the upper-right corner (handy for right-to-left languages). */
+/*
+ * These magic image names can be used in the .yaml file to indicate that the
+ * ASCII HWID should be displayed. For RENDER_HWID, the image coordinates
+ * specify upper-left corner of the HWID string. For RENDER_HWID_RTOL, they
+ * indicate the upper-right corner (handy for right-to-left languages).
+ */
#define RENDER_HWID "$HWID"
#define RENDER_HWID_RTOL "$HWID.rtol"