#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
#define VTOY_BLOCK_DEVICE_PATH_GUID \
{ 0x37b87ac6, 0xc180, 0x4583, { 0xa7, 0x05, 0x41, 0x4d, 0xa8, 0xf7, 0x7e, 0xd2 }}
+#define ISO9660_EFI_DRIVER_PATH L"\\ventoy\\iso9660_x64.efi"
+
#define VTOY_BLOCK_DEVICE_PATH_NAME L"ventoy"
#if defined (MDE_CPU_IA32)
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *pDiskFs;
EFI_DEVICE_PATH_PROTOCOL *pDiskFsDevPath;
+ EFI_HANDLE IsoDriverImage;
}vtoy_block_data;
}
typedef const char * (*grub_env_get_pf)(const char *name);
+typedef int (*grub_env_printf_pf)(const char *fmt, ...);
#pragma pack(1)
typedef struct ventoy_grub_param
{
grub_env_get_pf grub_env_get;
-
ventoy_grub_param_file_replace file_replace;
+ grub_env_printf_pf grub_env_printf;
}ventoy_grub_param;
typedef struct ventoy_ram_disk
EFI_OPEN_PROTOCOL NewOpenProtocol;
EFI_OPEN_PROTOCOL OriOpenProtocol;
+
+ EFI_LOCATE_HANDLE_BUFFER NewLocateHandleBuffer;
+ EFI_LOCATE_HANDLE_BUFFER OriLocateHandleBuffer;
+
+ EFI_PROTOCOLS_PER_HANDLE NewProtocolsPerHandle;
+ EFI_PROTOCOLS_PER_HANDLE OriProtocolsPerHandle;
+
+ EFI_LOCATE_HANDLE NewLocateHandle;
+ EFI_LOCATE_HANDLE OriLocateHandle;
+
+ EFI_LOCATE_DEVICE_PATH NewLocateDevicePath;
+ EFI_LOCATE_DEVICE_PATH OriLocateDevicePath;
} ventoy_system_wrapper;
#define ventoy_wrapper(bs, wrapper, func, newfunc) \
extern ventoy_grub_param_file_replace *g_file_replace_list;
extern BOOLEAN g_fixup_iso9660_secover_enable;
extern EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *g_con_simple_input_ex;
+extern BOOLEAN g_fix_windows_1st_cdrom_issue;
EFI_STATUS EFIAPI ventoy_wrapper_open_volume
(
EFI_STATUS EFIAPI ventoy_wrapper_push_openvolume(IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_OPEN_VOLUME OpenVolume);
EFI_STATUS ventoy_hook_keyboard_start(VOID);
EFI_STATUS ventoy_hook_keyboard_stop(VOID);
+BOOLEAN ventoy_is_cdrom_dp_exist(VOID);
+EFI_STATUS ventoy_hook_1st_cdrom_start(VOID);
+EFI_STATUS ventoy_hook_1st_cdrom_stop(VOID);
#endif