Cleanup in elf.c with .bss section clean; adm command mounts cdrom instead of floppy...
[ZeXOS.git] / kernel / include / multiboot / grub.h
blob8f8c7264d10b6ac5d167b9df685355fa4a7fc6e6
1 /*
2 * ZeX/OS
3 * Copyright (C) 2007 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
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, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef _GRUB_H
21 #define _GRUB_H
23 typedef struct multiboot_info
25 unsigned long flags;
26 unsigned long mem_lower;
27 unsigned long mem_upper;
28 unsigned long boot_device;
29 unsigned long cmdline;
30 unsigned long mods_count;
31 unsigned long mods_addr;
33 union
35 unsigned long *aout_sym;
36 unsigned long *elf_sec;
37 } u;
39 /* Memory Mapping buffer */
40 unsigned long mmap_length;
41 unsigned long mmap_addr;
43 /* Drive Info buffer */
44 unsigned long drives_length;
45 unsigned long drives_addr;
47 /* ROM configuration table */
48 unsigned long config_table;
50 /* Boot Loader Name */
51 unsigned long boot_loader_name;
53 /* APM table */
54 unsigned long apm_table;
56 /* Video */
57 unsigned long vbe_control_info;
58 unsigned long vbe_mode_info;
59 unsigned short vbe_mode;
60 unsigned short vbe_interface_seg;
61 unsigned short vbe_interface_off;
62 unsigned short vbe_interface_len;
63 } multiboot_info_t;
65 typedef struct multiboot_memory_map {
66 unsigned int size;
67 unsigned int base_addr_low,base_addr_high;
68 //You can also use: unsigned long long int base_addr; if supported.
69 unsigned int length_low,length_high;
70 //You can also use: unsigned long long int length; if supported.
71 unsigned int type;
72 } multiboot_memory_map_t;
74 #endif