add SDHC support in mmc driver
[u-boot-openmoko/mini2440.git] / include / bmp_layout.h
blobd823de910fb748019d6c415510ddb499a482cf68
1 /* (C) Copyright 2002
2 * Detlev Zundel, DENX Software Engineering, dzu@denx.de.
4 * See file CREDITS for list of people who contributed to this
5 * project.
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License as
9 * published by the Free Software Foundation; either version 2 of
10 * the License, or (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20 * MA 02111-1307 USA
23 /************************************************************************/
24 /* ** Layout of a bmp file */
25 /************************************************************************/
27 #ifndef _BMP_H_
28 #define _BMP_H_
30 typedef struct bmp_color_table_entry {
31 __u8 blue;
32 __u8 green;
33 __u8 red;
34 __u8 reserved;
35 } __attribute__ ((packed)) bmp_color_table_entry_t;
37 /* When accessing these fields, remember that they are stored in little
38 endian format, so use linux macros, e.g. le32_to_cpu(width) */
40 typedef struct bmp_header {
41 /* Header */
42 char signature[2];
43 __u32 file_size;
44 __u32 reserved;
45 __u32 data_offset;
46 /* InfoHeader */
47 __u32 size;
48 __u32 width;
49 __u32 height;
50 __u16 planes;
51 __u16 bit_count;
52 __u32 compression;
53 __u32 image_size;
54 __u32 x_pixels_per_m;
55 __u32 y_pixels_per_m;
56 __u32 colors_used;
57 __u32 colors_important;
58 /* ColorTable */
60 } __attribute__ ((packed)) bmp_header_t;
62 typedef struct bmp_image {
63 bmp_header_t header;
64 /* We use a zero sized array just as a placeholder for variable
65 sized array */
66 bmp_color_table_entry_t color_table[0];
67 } bmp_image_t;
69 /* Data in the bmp_image is aligned to this length */
70 #define BMP_DATA_ALIGN 4
72 /* Constants for the compression field */
73 #define BMP_BI_RGB 0
74 #define BMP_BI_RLE8 1
75 #define BMP_BI_RLE4 2
77 #endif /* _BMP_H_ */