|  | /* (C) Copyright 2002 | 
|  | * Detlev Zundel, DENX Software Engineering, dzu@denx.de. | 
|  | * | 
|  | * See file CREDITS for list of people who contributed to this | 
|  | * project. | 
|  | * | 
|  | * This program is free software; you can redistribute it and/or | 
|  | * modify it under the terms of the GNU General Public License as | 
|  | * published by the Free Software Foundation; either version 2 of | 
|  | * the License, or (at your option) any later version. | 
|  | * | 
|  | * This program is distributed in the hope that it will be useful, | 
|  | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  | * GNU General Public License for more details. | 
|  | * | 
|  | * You should have received a copy of the GNU General Public License | 
|  | * along with this program; if not, write to the Free Software | 
|  | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | 
|  | * MA 02111-1307 USA | 
|  | */ | 
|  |  | 
|  | /************************************************************************/ | 
|  | /* ** Layout of a bmp file						*/ | 
|  | /************************************************************************/ | 
|  |  | 
|  | #ifndef _BMP_H_ | 
|  | #define _BMP_H_ | 
|  |  | 
|  | typedef struct bmp_color_table_entry { | 
|  | __u8	blue; | 
|  | __u8	green; | 
|  | __u8	red; | 
|  | __u8	reserved; | 
|  | } __attribute__ ((packed)) bmp_color_table_entry_t; | 
|  |  | 
|  | /* When accessing these fields, remember that they are stored in little | 
|  | endian format, so use linux macros, e.g. le32_to_cpu(width)          */ | 
|  |  | 
|  | typedef struct bmp_header { | 
|  | /* Header */ | 
|  | char signature[2]; | 
|  | __u32	file_size; | 
|  | __u32	reserved; | 
|  | __u32	data_offset; | 
|  | /* InfoHeader */ | 
|  | __u32	size; | 
|  | __u32	width; | 
|  | __u32	height; | 
|  | __u16	planes; | 
|  | __u16	bit_count; | 
|  | __u32	compression; | 
|  | __u32	image_size; | 
|  | __u32	x_pixels_per_m; | 
|  | __u32	y_pixels_per_m; | 
|  | __u32	colors_used; | 
|  | __u32	colors_important; | 
|  | /* ColorTable */ | 
|  |  | 
|  | } __attribute__ ((packed)) bmp_header_t; | 
|  |  | 
|  | typedef struct bmp_image { | 
|  | bmp_header_t header; | 
|  | /* We use a zero sized array just as a placeholder for variable | 
|  | sized array */ | 
|  | bmp_color_table_entry_t color_table[0]; | 
|  | } bmp_image_t; | 
|  |  | 
|  | /* Data in the bmp_image is aligned to this length */ | 
|  | #define BMP_DATA_ALIGN	4 | 
|  |  | 
|  | /* Constants for the compression field */ | 
|  | #define BMP_BI_RGB	0 | 
|  | #define BMP_BI_RLE8	1 | 
|  | #define BMP_BI_RLE4	2 | 
|  |  | 
|  | #endif							/* _BMP_H_ */ |