mboot: add header guards; use <inttypes.h>; formatting changes
authorH. Peter Anvin <hpa@zytor.com>
Mon, 27 Apr 2009 18:00:44 +0000 (11:00 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Mon, 27 Apr 2009 18:00:44 +0000 (11:00 -0700)
Reformat the mboot header files slightly, use <inttypes.h> types, and
add header inclusion guards.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
com32/mboot/mb_header.h
com32/mboot/mb_info.h

index 4215323..2a5be72 100644 (file)
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
+#ifndef MBOOT_MB_HEADER_H
+#define MBOOT_MB_HEADER_H
+
+#include <inttypes.h>
+
 /*
  *  MultiBoot Header description
  */
 
-struct multiboot_header
-{
+struct multiboot_header {
   /* Must be MULTIBOOT_MAGIC - see below.  */
-  unsigned magic;
+  uint32_t magic;
 
   /* Feature flags - see below.  */
-  unsigned flags;
+  uint32_t flags;
 
   /*
    * Checksum
    *
    * The above fields plus this one must equal 0 mod 2^32.
    */
-  unsigned checksum;
+  uint32_t checksum;
 
   /* These are only valid if MULTIBOOT_AOUT_KLUDGE is set.  */
-  unsigned header_addr;
-  unsigned load_addr;
-  unsigned load_end_addr;
-  unsigned bss_end_addr;
-  unsigned entry_addr;
+  uint32_t header_addr;
+  uint32_t load_addr;
+  uint32_t load_end_addr;
+  uint32_t bss_end_addr;
+  uint32_t entry_addr;
 
   /* These are only valid if MULTIBOOT_VIDEO_MODE is set.  */
-  unsigned mode_type;
-  unsigned width;
-  unsigned height;
-  unsigned depth;
+  uint32_t mode_type;
+  uint32_t width;
+  uint32_t height;
+  uint32_t depth;
 };
 
 /*
@@ -55,14 +59,6 @@ struct multiboot_header
  * within the first MULTIBOOT_SEARCH bytes of the kernel image.
  */
 #define MULTIBOOT_SEARCH               8192
-#define MULTIBOOT_FOUND(addr, len) \
-  (! ((addr) & 0x3) \
-   && (len) >= 12 \
-   && *((int *) (addr)) == MULTIBOOT_MAGIC \
-   && ! (*((unsigned *) (addr)) + *((unsigned *) (addr + 4)) \
-        + *((unsigned *) (addr + 8))) \
-   && (! (MULTIBOOT_AOUT_KLUDGE & *((int *) (addr + 4))) || (len) >= 32) \
-   && (! (MULTIBOOT_VIDEO_MODE & *((int *) (addr + 4))) || (len) >= 48))
 
 /* Magic value identifying the multiboot_header.  */
 #define MULTIBOOT_MAGIC                        0x1BADB002
@@ -88,3 +84,5 @@ struct multiboot_header
 
 /* This flag indicates the use of the address fields in the header.  */
 #define MULTIBOOT_AOUT_KLUDGE          0x00010000
+
+#endif /* MBOOT_MB_HEADER_H */
index ec12fe8..149099f 100644 (file)
  *  The structure type "mod_list" is used by the "multiboot_info" structure.
  */
 
+#ifndef MBOOT_MB_INFO_H
+#define MBOOT_MB_INFO_H 
+
 #include <inttypes.h>
 
-struct mod_list
-{
+struct mod_list {
   /* the memory used goes from bytes 'mod_start' to 'mod_end-1' inclusive */
   uint32_t mod_start;
   uint32_t mod_end;
@@ -44,13 +46,11 @@ struct mod_list
  *  map has been reached.
  */
 
-struct AddrRangeDesc
-{
+struct AddrRangeDesc {
   uint32_t size;
   uint64_t BaseAddr;
   uint64_t Length;
   uint32_t Type;
-
   /* unspecified optional padding... */
 } __attribute__((packed));
 
@@ -59,8 +59,7 @@ struct AddrRangeDesc
 
 
 /* Drive Info structure.  */
-struct drive_info
-{
+struct drive_info {
   /* The size of this structure.  */
   uint32_t size;
 
@@ -85,8 +84,7 @@ struct drive_info
 
 
 /* APM BIOS info.  */
-struct apm_info
-{
+struct apm_info {
   uint16_t version;
   uint16_t cseg;
   uint32_t offset;
@@ -105,8 +103,7 @@ struct apm_info
  *  its address in the EAX register.
  */
 
-struct multiboot_info
-{
+struct multiboot_info {
   /* MultiBoot info version number */
   uint32_t flags;
 
@@ -124,29 +121,22 @@ struct multiboot_info
   uint32_t mods_count;
   uint32_t mods_addr;
 
-  union
-  {
-    struct
-    {
+  union {
+    struct {
       /* (a.out) Kernel symbol table info */
       uint32_t tabsize;
       uint32_t strsize;
       uint32_t addr;
       uint32_t pad;
-    }
-    a;
-
-    struct
-    {
+    } a;
+    struct {
       /* (ELF) Kernel section header table */
       uint32_t num;
       uint32_t size;
       uint32_t addr;
       uint32_t shndx;
-    }
-    e;
-  }
-  syms;
+    } e;
+  } syms;
 
   /* Memory Mapping buffer */
   uint32_t mmap_length;
@@ -217,3 +207,5 @@ struct multiboot_info
  */
 
 #define MULTIBOOT_VALID                        0x2BADB002
+
+#endif /* MBOOT_MB_INFO_H */