X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/d02f184a8de1a49db423c9539e468941ab565847..78df21fc4053350dbb6f41061dcfeeff9727f4fb:/GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h diff --git a/GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h b/GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h index d593ad4..56f357d 100644 --- a/GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h +++ b/GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h @@ -21,7 +21,7 @@ #ifndef __VENTOY_H__ #define __VENTOY_H__ -#define COMPILE_ASSERT(expr) extern char __compile_assert[(expr) ? 1 : -1] +#define COMPILE_ASSERT(a, expr) extern char __compile_assert##a[(expr) ? 1 : -1] #define VENTOY_COMPATIBLE_STR "VENTOY COMPATIBLE" #define VENTOY_COMPATIBLE_STR_LEN 17 @@ -139,11 +139,21 @@ typedef struct ventoy_windows_data }ventoy_windows_data; +typedef struct ventoy_secure_data +{ + grub_uint8_t magic1[16]; /* VENTOY_GUID */ + grub_uint8_t diskuuid[16]; + grub_uint8_t Checksum[16]; + grub_uint8_t adminSHA256[32]; + grub_uint8_t reserved[4000]; + grub_uint8_t magic2[16]; /* VENTOY_GUID */ +}ventoy_secure_data; #pragma pack() // compile assert check : sizeof(ventoy_os_param) must be 512 -COMPILE_ASSERT(sizeof(ventoy_os_param) == 512); +COMPILE_ASSERT(1,sizeof(ventoy_os_param) == 512); +COMPILE_ASSERT(2,sizeof(ventoy_secure_data) == 4096); @@ -176,6 +186,18 @@ typedef struct ventoy_chain_head grub_uint32_t virt_chunk_num; }ventoy_chain_head; +typedef struct ventoy_image_desc +{ + grub_uint64_t disk_size; + grub_uint64_t part1_size; + grub_uint8_t disk_uuid[16]; + grub_uint8_t disk_signature[4]; + grub_uint32_t img_chunk_count; + /* ventoy_img_chunk list */ +}ventoy_image_desc; + + + typedef struct ventoy_img_chunk { grub_uint32_t img_start_sector; // sector size: 2KB @@ -242,7 +264,6 @@ typedef struct ventoy_grub_param #pragma pack() - int grub_ext_get_file_chunk(grub_uint64_t part_start, grub_file_t file, ventoy_img_chunk_list *chunk_list); int grub_fat_get_file_chunk(grub_uint64_t part_start, grub_file_t file, ventoy_img_chunk_list *chunk_list); void grub_iso9660_set_nojoliet(int nojoliet);