Minimal definition of the MultiBoot Info struct, should be enough for now.

We use official names for defines & struct members.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32060 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
François Revol 2009-08-01 12:32:18 +00:00
parent a9c45a68ef
commit 91517f4f12

View File

@ -0,0 +1,52 @@
/*
* Copyright 2003-2006, François Revol, revol@free.fr.
* Distributed under the terms of the MIT License.
*/
#ifndef _MULTIBOOT_H
#define _MULTIBOOT_H
/* minimal part of the MultiBoot API */
/* magics */
#define MULTIBOOT_MAGIC 0x1badb002
#define MULTIBOOT_MAGIC2 0x2badb002
/* header flags */
#define MULTIBOOT_PAGE_ALIGN 0x00000001
#define MULTIBOOT_MEMORY_INFO 0x00000002
#define MULTIBOOT_VIDEO_MODE 0x00000004
#define MULTIBOOT_AOUT_KLUDGE 0x00010000
/* info flags */
#define MULTIBOOT_INFO_MEMORY 0x00000001
#define MULTIBOOT_INFO_BOOTDEV 0x00000002
#define MULTIBOOT_INFO_CMDLINE 0x00000004
#define MULTIBOOT_INFO_MODS 0x00000008
#define MULTIBOOT_INFO_MEM_MAP 0x00000040
/* info struct passed to the loader */
struct multiboot_info {
uint32 flags;
uint32 mem_lower;
uint32 mem_upper;
uint32 boot_device;
uint32 cmdline;
uint32 mods_count;
uint32 mods_addr;
uint32 syms[4];
uint32 mmap_length;
uint32 mmap_addr;
uint32 drives_length;
uint32 drives_addr;
uint32 config_table;
uint32 boot_loader_name;
uint32 apm_table;
uint32 vbe_control_info;
uint32 vbe_mode_info;
uint16 vbe_interface_seg;
uint16 vbe_interface_off;
uint16 vbe_interface_len;
};
#endif /* _MULTIBOOT_H */