]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - Ventoy2Disk/Ventoy2Disk/DiskService.h
Improve grub2 mode process for legacy BIOS mode.
[Ventoy.git] / Ventoy2Disk / Ventoy2Disk / DiskService.h
index 78d6ec176ebb0a4c8a558a9a5c71b9ab4658d960..a4f950df25504b5cbf4cf0566cec48dca4ed3132 100644 (file)
@@ -30,6 +30,7 @@ typedef struct VDS_PARA
        ULONG NameLen;\r
     ULONGLONG Offset;\r
        CHAR DriveLetter;\r
+    DWORD ClusterSize;\r
 }VDS_PARA;\r
 \r
 //DISK API\r
@@ -39,7 +40,7 @@ BOOL DISK_ChangeVtoyEFIAttr(int DriveIndex, UINT64 Offset, UINT64 Attr);
 BOOL DISK_ChangeVtoyEFI2ESP(int DriveIndex, UINT64 Offset);\r
 BOOL DISK_ChangeVtoyEFI2Basic(int DriveIndex, UINT64 Offset);\r
 BOOL DISK_ShrinkVolume(int DriveIndex, const char* VolumeGuid, CHAR DriveLetter, UINT64 OldBytes, UINT64 ReduceBytes);\r
-\r
+BOOL DISK_FormatVolume(char DriveLetter, int fs, UINT64 VolumeSize);\r
 \r
 \r
 //VDS com\r
@@ -51,10 +52,13 @@ BOOL VDS_ChangeVtoyEFI2ESP(int DriveIndex, UINT64 Offset);
 BOOL VDS_ChangeVtoyEFI2Basic(int DriveIndex, UINT64 Offset);\r
 BOOL VDS_ShrinkVolume(int DriveIndex, const char* VolumeGuid, CHAR DriveLetter, UINT64 OldBytes, UINT64 ReduceBytes);\r
 BOOL VDS_IsLastAvaliable(void);\r
-\r
+BOOL VDS_FormatVolume(char DriveLetter, int fs, DWORD ClusterSize);\r
 \r
 //diskpart.exe\r
 BOOL DSPT_CleanDisk(int DriveIndex);\r
+BOOL DSPT_FormatVolume(char DriveLetter, int fs, DWORD ClusterSize);\r
+\r
+BOOL CMD_FormatVolume(char DriveLetter, int fs, DWORD ClusterSize);\r
 \r
 //powershell.exe\r
 BOOL PSHELL_CleanDisk(int DriveIndex);\r
@@ -62,12 +66,24 @@ BOOL PSHELL_DeleteVtoyEFIPartition(int DriveIndex, UINT64 EfiPartOffset);
 BOOL PSHELL_ChangeVtoyEFI2ESP(int DriveIndex, UINT64 Offset);\r
 BOOL PSHELL_ChangeVtoyEFI2Basic(int DriveIndex, UINT64 Offset);\r
 BOOL PSHELL_ShrinkVolume(int DriveIndex, const char* VolumeGuid, CHAR DriveLetter, UINT64 OldBytes, UINT64 ReduceBytes);\r
+BOOL PSHELL_FormatVolume(char DriveLetter, int fs, DWORD ClusterSize);\r
+\r
+const CHAR* DISK_GetWindowsDir(void);\r
 \r
 //\r
 // Internel define\r
 //\r
 \r
 \r
+typedef BOOL(*FormatVolume_PF)(char DriveLetter, int fs, DWORD ClusterSize);\r
+\r
+typedef struct FmtFunc\r
+{\r
+    const char* name;\r
+    FormatVolume_PF formatFunc;\r
+}FmtFunc;\r
+\r
+#define FMT_DEF(func) { #func, func }\r
 \r
 \r
 #endif\r