uboot/include/bmp_layout.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/* (C) Copyright 2002
   3 * Detlev Zundel, DENX Software Engineering, dzu@denx.de.
   4 */
   5
   6/************************************************************************/
   7/* ** Layout of a bmp file                                              */
   8/************************************************************************/
   9
  10#ifndef _BMP_H_
  11#define _BMP_H_
  12
  13struct __packed bmp_color_table_entry {
  14        __u8    blue;
  15        __u8    green;
  16        __u8    red;
  17        __u8    reserved;
  18};
  19
  20/* When accessing these fields, remember that they are stored in little
  21   endian format, so use linux macros, e.g. le32_to_cpu(width)          */
  22
  23struct __packed bmp_header {
  24        /* Header */
  25        char signature[2];
  26        __u32   file_size;
  27        __u32   reserved;
  28        __u32   data_offset;
  29        /* InfoHeader */
  30        __u32   size;
  31        __u32   width;
  32        __u32   height;
  33        __u16   planes;
  34        __u16   bit_count;
  35        __u32   compression;
  36        __u32   image_size;
  37        __u32   x_pixels_per_m;
  38        __u32   y_pixels_per_m;
  39        __u32   colors_used;
  40        __u32   colors_important;
  41        /* ColorTable */
  42};
  43
  44struct bmp_image {
  45        struct bmp_header header;
  46        /* We use a zero sized array just as a placeholder for variable
  47           sized array */
  48        struct bmp_color_table_entry color_table[0];
  49};
  50
  51/* Data in the bmp_image is aligned to this length */
  52#define BMP_DATA_ALIGN  4
  53
  54/* Constants for the compression field */
  55#define BMP_BI_RGB      0
  56#define BMP_BI_RLE8     1
  57#define BMP_BI_RLE4     2
  58
  59#endif                                                  /* _BMP_H_ */
  60