]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - IPXE/ipxe_mod_code/ipxe-3fe683e/src/include/ventoy.h
1.1.07 release
[Ventoy.git] / IPXE / ipxe_mod_code / ipxe-3fe683e / src / include / ventoy.h
index 81be2d757b507909d25a9e033e059530c5f19d7b..b759e9f54e6830e0dc3e026727779ff86fb4f7de 100644 (file)
@@ -4,6 +4,8 @@
 
 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
 
 
 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
 
+//#define VTOY_DEBUG 1
+
 #define grub_uint64_t  uint64_t
 #define grub_uint32_t  uint32_t
 #define grub_uint16_t  uint16_t
 #define grub_uint64_t  uint64_t
 #define grub_uint32_t  uint32_t
 #define grub_uint16_t  uint16_t
@@ -13,6 +15,15 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
 
 #define VENTOY_GUID { 0x77772020, 0x2e77, 0x6576, { 0x6e, 0x74, 0x6f, 0x79, 0x2e, 0x6e, 0x65, 0x74 }}
 
 
 #define VENTOY_GUID { 0x77772020, 0x2e77, 0x6576, { 0x6e, 0x74, 0x6f, 0x79, 0x2e, 0x6e, 0x65, 0x74 }}
 
+typedef enum ventoy_chain_type
+{
+    ventoy_chain_linux = 0, /* 0: linux */
+    ventoy_chain_windows,   /* 1: windows */
+    ventoy_chain_wim,       /* 2: wim */
+
+    ventoy_chain_max
+}ventoy_chain_type;
+
 #pragma pack(1)
 
 typedef struct ventoy_guid
 #pragma pack(1)
 
 typedef struct ventoy_guid
@@ -34,7 +45,7 @@ typedef struct ventoy_image_location
 {
     ventoy_guid  guid;
     
 {
     ventoy_guid  guid;
     
-    /* image sector size, currently this value is always 2048 */
+    /* image sector size, 2048/512 */
     grub_uint32_t   image_sector_size;
 
     /* disk sector size, normally the value is 512 */
     grub_uint32_t   image_sector_size;
 
     /* disk sector size, normally the value is 512 */
@@ -75,11 +86,21 @@ typedef struct ventoy_os_param
     grub_uint64_t  vtoy_img_location_addr;
     grub_uint32_t  vtoy_img_location_len;
 
     grub_uint64_t  vtoy_img_location_addr;
     grub_uint32_t  vtoy_img_location_len;
 
-    grub_uint64_t  vtoy_reserved[4];     // Internal use by ventoy
+    grub_uint8_t   vtoy_reserved[32];    // Internal use by ventoy
 
 
-    grub_uint8_t   reserved[31];
+    grub_uint8_t   vtoy_disk_signature[4];
+    
+    grub_uint8_t   reserved[27];
 }ventoy_os_param;
 
 }ventoy_os_param;
 
+typedef struct ventoy_iso9660_override
+{
+    uint32_t first_sector;
+    uint32_t first_sector_be;
+    uint32_t size;
+    uint32_t size_be;
+}ventoy_iso9660_override;
+
 #pragma pack()
 
 // compile assert to check that size of ventoy_os_param must be 512
 #pragma pack()
 
 // compile assert to check that size of ventoy_os_param must be 512
@@ -162,8 +183,11 @@ typedef struct ventoy_sector_flag
 }ventoy_sector_flag;
 
 #define VENTOY_BIOS_FAKE_DRIVE  0xFE
 }ventoy_sector_flag;
 
 #define VENTOY_BIOS_FAKE_DRIVE  0xFE
+#define VENTOY_BOOT_FIXBIN_DRIVE  0xFD
 
 extern int g_debug;
 
 extern int g_debug;
+extern int g_hddmode;
+extern int g_bios_disk80;
 extern char *g_cmdline_copy;
 extern void *g_initrd_addr;
 extern size_t g_initrd_len;
 extern char *g_cmdline_copy;
 extern void *g_initrd_addr;
 extern size_t g_initrd_len;