man: --nbi, not --NBI
[wraplinux.git] / segment.h
1 /* ----------------------------------------------------------------------- *
2  *
3  *   Copyright 2008 rPath, Inc. - 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 <stdio.h>
23 #include <inttypes.h>
24 #include "elf32.h"              /* For constants */
25
26 typedef uint32_t addr_t;
27
28 struct segment {
29         struct segment *next;
30         size_t length;
31         int align;              /* Alignment (if supported) as a power of 2 */
32         addr_t address;
33         uint32_t sh_type;       /* Uses ELF constants, in host byte order */
34         uint32_t sh_flags;      /* d:o */
35         const char *name;
36         const void *data;
37 };
38
39 struct segment *sort_segments(struct segment *list);
40 int output_elf(struct segment *segs, addr_t entry, FILE *out);
41 int output_multiboot(struct segment *segs, addr_t entry, FILE *out);
42 int output_nbi(struct segment *segs, addr_t entry, FILE *out);
43
44 #endif /* SEGMENT_H */