]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.h
update
[Ventoy.git] / EDK2 / edk2_mod / edk2-edk2-stable201911 / MdeModulePkg / Application / Ventoy / Ventoy.h
index 354496e76f36f89d1092ef484e9e1b8d0bcaf0e1..1056f8cc6a648a05a3bfdf598999a106e0db146a 100644 (file)
 
 #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
@@ -216,6 +225,7 @@ if (gDebugPrint) \
 }
 
 typedef const char * (*grub_env_get_pf)(const char *name);
 }
 
 typedef const char * (*grub_env_get_pf)(const char *name);
+typedef int (*grub_env_printf_pf)(const char *fmt, ...);
 
 #pragma pack(1)
 
 
 #pragma pack(1)
 
@@ -242,8 +252,8 @@ typedef struct ventoy_grub_param_file_replace
 typedef struct ventoy_grub_param
 {
     grub_env_get_pf grub_env_get;
 typedef struct ventoy_grub_param
 {
     grub_env_get_pf grub_env_get;
-
     ventoy_grub_param_file_replace file_replace;
     ventoy_grub_param_file_replace file_replace;
+    grub_env_printf_pf grub_env_printf;    
 }ventoy_grub_param;
 
 typedef struct ventoy_ram_disk
 }ventoy_grub_param;
 
 typedef struct ventoy_ram_disk
@@ -279,6 +289,18 @@ typedef struct ventoy_system_wrapper
     
     EFI_OPEN_PROTOCOL NewOpenProtocol;
     EFI_OPEN_PROTOCOL OriOpenProtocol;
     
     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) \
 } ventoy_system_wrapper;
 
 #define ventoy_wrapper(bs, wrapper, func, newfunc) \
@@ -317,6 +339,7 @@ extern UINTN g_iso_buf_size;
 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 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_open_volume
 (
@@ -327,6 +350,9 @@ EFI_STATUS EFIAPI ventoy_install_blockio(IN EFI_HANDLE ImageHandle, IN UINT64 Im
 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);
 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
 
 
 #endif