blob: 7670097411c13b8d7104909d3b9884e7fea51cee [file] [log] [blame]
Patrick Georgi990ae702015-10-23 13:24:06 +02001/*
2 * This file is part of the libpayload project.
3 *
4 * Copyright (C) 2015 Google, Inc.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * 3. The name of the author may not be used to endorse or promote products
15 * derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 */
29
Daisuke Nojiri09ad2062015-08-03 10:51:38 -070030#ifndef __BITMAP_H__
31#define __BITMAP_H__
32
33#include <stdint.h>
34
35struct bitmap_file_header {
36 uint8_t signature[2];
37 uint32_t file_size;
38 uint16_t reserved[2];
39 uint32_t bitmap_offset;
40} __attribute__ ((__packed__));
41
42/* Bitmap version 3 */
43
44struct bitmap_header_v3 {
45 uint32_t header_size;
46 int32_t width;
47 int32_t height;
48 uint16_t planes;
49 uint16_t bits_per_pixel;
50 uint32_t compression;
51 uint32_t size;
52 int32_t h_res;
53 int32_t v_res;
54 uint32_t colors_used;
55 uint32_t colors_important;
56} __attribute__ ((__packed__));
57
58struct bitmap_palette_element_v3 {
59 uint8_t blue;
60 uint8_t green;
61 uint8_t red;
62 uint8_t reserved;
63} __attribute__ ((__packed__));
64
65#endif /* __BITMAP_H__ */