]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - Ventoy2Disk/Ventoy2Disk/DiskService.h
Optimization for FreeBSD distro.
[Ventoy.git] / Ventoy2Disk / Ventoy2Disk / DiskService.h
index a8b68af725086f9ac39df420388223d43fd80f62..78d6ec176ebb0a4c8a558a9a5c71b9ab4658d960 100644 (file)
@@ -29,23 +29,39 @@ typedef struct VDS_PARA
     WCHAR Name[36];\r
        ULONG NameLen;\r
     ULONGLONG Offset;\r
+       CHAR DriveLetter;\r
 }VDS_PARA;\r
 \r
+//DISK API\r
+BOOL DISK_CleanDisk(int DriveIndex);\r
+BOOL DISK_DeleteVtoyEFIPartition(int DriveIndex, UINT64 EfiPartOffset);\r
+BOOL DISK_ChangeVtoyEFIAttr(int DriveIndex, UINT64 Offset, UINT64 Attr);\r
+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
+\r
 \r
 //VDS com\r
-int  VDS_Init(void);\r
 BOOL VDS_CleanDisk(int DriveIndex);\r
 BOOL VDS_DeleteAllPartitions(int DriveIndex);\r
-BOOL VDS_DeleteVtoyEFIPartition(int DriveIndex);\r
-BOOL VDS_ChangeVtoyEFIAttr(int DriveIndex, UINT64 Attr);\r
-BOOL VDS_CreateVtoyEFIPart(int DriveIndex, UINT64 Offset);\r
+BOOL VDS_DeleteVtoyEFIPartition(int DriveIndex, UINT64 EfiPartOffset);\r
+BOOL VDS_ChangeVtoyEFIAttr(int DriveIndex, UINT64 Offset, UINT64 Attr);\r
 BOOL VDS_ChangeVtoyEFI2ESP(int DriveIndex, UINT64 Offset);\r
 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
 \r
 //diskpart.exe\r
 BOOL DSPT_CleanDisk(int DriveIndex);\r
 \r
+//powershell.exe\r
+BOOL PSHELL_CleanDisk(int DriveIndex);\r
+BOOL PSHELL_DeleteVtoyEFIPartition(int DriveIndex, UINT64 EfiPartOffset);\r
+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
 \r
 //\r
 // Internel define\r