Initial commit: functional for newer bzImage kernels
[wraplinux.git] / segment.h
1 /* ----------------------------------------------------------------------- *
2  *   
3  *   Copyright 2008 H. Peter Anvin - All Rights Reserved
4  *
5  *   This program is free software; you can redistribute it and/or modify
6  *   it under the terms of the GNU General Public License as published by
7  *   the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
8  *   Boston MA 02110-1301, USA; either version 2 of the License, or
9  *   (at your option) any later version; incorporated herein by reference.
10  *
11  * ----------------------------------------------------------------------- */
12
13 /*
14  * segment.h
15  *
16  * Descriptor for memory segments
17  */
18
19 #ifndef SEGMENT_H
20 #define SEGMENT_H
21
22 #include <inttypes.h>
23
24 typedef uint32_t addr_t;
25
26 struct segment {
27         struct segment *next;
28         addr_t address;
29         addr_t length;
30         uint32_t sh_type;       /* Uses ELF constants, in host byte order */
31         uint32_t sh_flags;      /* d:o */
32         uint32_t p_flags;
33         const char *name;
34         const void *data;
35 };
36
37 int output_elf(struct segment *segs, addr_t entry, FILE *out);
38
39 #endif /* SEGMENT_H */