summaryrefslogtreecommitdiffstats
path: root/src/include/image.h
blob: e8a34b34a90d675e4b393bbf85cf011586e94938 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef IMAGE_H
#define IMAGE_H

#include "stdint.h"
#include "io.h"
#include "tables.h"

#define IMAGE_HEADER_SIZE 512

struct image_header {
	char data[IMAGE_HEADER_SIZE];
};

struct image {
	char *name;
	int ( * probe ) ( struct image_header *header, off_t len );
	int ( * boot ) ( physaddr_t start, off_t len );
};

#define __image_start		__table_start(image)
#define __image			__table(image,01)
#define __default_image		__table(image,02)
#define __image_end		__table_end(image)

#endif /* IMAGE_H */