Cleanup - it's no longer necessary to manually reset global variables.
[seabios.git] / src / boot.h
index a5fe08ea4ffff454d38fcd5c11072f097eb791ca..db046e3571cefaf98ddffc23be54c179a9819ad2 100644 (file)
@@ -9,23 +9,28 @@
 
 struct ipl_entry_s {
     u16 type;
-    u16 flags;
+    u16 subchoice;
     u32 vector;
-    char *description;
+    const char *description;
 };
 
 struct ipl_s {
-    struct ipl_entry_s table[8];
-    u16 count;
+    struct ipl_entry_s bev[8];
+    struct ipl_entry_s bcv[8];
+    int bevcount, bcvcount;
     u32 bootorder;
-    u8 checkfloppysig;
+    int checkfloppysig;
 };
 
 #define IPL_TYPE_FLOPPY      0x01
 #define IPL_TYPE_HARDDISK    0x02
 #define IPL_TYPE_CDROM       0x03
+#define IPL_TYPE_CBFS        0x20
 #define IPL_TYPE_BEV         0x80
 
+#define BCV_TYPE_EXTERNAL    0x80
+#define BCV_TYPE_INTERNAL    0x02
+
 
 /****************************************************************
  * Function defs
@@ -33,9 +38,11 @@ struct ipl_s {
 
 // boot.c
 extern struct ipl_s IPL;
-void printf_bootdev(u16 bootdev);
-
-// post_menu.c
-void interactive_bootmenu();
+void boot_setup(void);
+void add_bev(u16 seg, u16 bev, u16 desc);
+void add_bcv(u16 seg, u16 ip, u16 desc);
+struct drive_s;
+void add_bcv_internal(struct drive_s *drive_g);
+void boot_prep(void);
 
 #endif // __BOOT_H