diff options
Diffstat (limited to 'winsup/w32api/include/winioctl.h')
-rw-r--r-- | winsup/w32api/include/winioctl.h | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/winsup/w32api/include/winioctl.h b/winsup/w32api/include/winioctl.h index faf0cdf..b779c29 100644 --- a/winsup/w32api/include/winioctl.h +++ b/winsup/w32api/include/winioctl.h @@ -134,7 +134,12 @@ extern "C" { #define PARTITION_EXTENDED 5 #define PARTITION_HUGE 6 #define PARTITION_IFS 7 +#define PARTITION_FAT32 0x0B +#define PARTITION_FAT32_XINT13 0x0C +#define PARTITION_XINT13 0x0E +#define PARTITION_XINT13_EXTENDED 0x0F #define PARTITION_PREP 0x41 +#define PARTITION_LDM 0x42 #define PARTITION_UNIX 0x63 #define PARTITION_NTFT 128 #define VALID_NTFT 0xC0 @@ -261,7 +266,7 @@ typedef struct _DRIVE_LAYOUT_INFORMATION { DWORD PartitionCount; DWORD Signature; PARTITION_INFORMATION PartitionEntry[1]; -} DRIVE_LAYOUT_INFORMATION; +} DRIVE_LAYOUT_INFORMATION, *PDRIVE_LAYOUT_INFORMATION; typedef struct _PERF_BIN { DWORD NumberOfBins; DWORD TypeOfBin; @@ -282,14 +287,26 @@ typedef struct _VERIFY_INFORMATION { LARGE_INTEGER StartingOffset; DWORD Length; } VERIFY_INFORMATION,*PVERIFY_INFORMATION; -#define IsRecognizedPartition(t) (((t&PARTITION_NTFT)&&((t&~0xC0)==PARTITION_FAT_12))||\ - ((t&PARTITION_NTFT)&&((t&~0xC0)==PARTITION_FAT_16))||\ - ((t&PARTITION_NTFT)&&((t&~0xC0)==PARTITION_IFS))||\ - ((t&PARTITION_NTFT)&&((t&~0xC0)==PARTITION_HUGE))||\ +#define IsRecognizedPartition(t)\ + (((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT_12))||\ + ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT_16))||\ + ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_IFS))||\ + ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_HUGE))||\ + ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT32))||\ + ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT32_XINT13))||\ + ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_XINT13))||\ ((t&~PARTITION_NTFT)==PARTITION_FAT_12)||\ ((t&~PARTITION_NTFT)==PARTITION_FAT_16)||\ ((t&~PARTITION_NTFT)==PARTITION_IFS)||\ - ((t&~PARTITION_NTFT)==PARTITION_HUGE)) + ((t&~PARTITION_NTFT)==PARTITION_HUGE)||\ + ((t&~PARTITION_NTFT)==PARTITION_FAT32)||\ + ((t&~PARTITION_NTFT)==PARTITION_FAT32_XINT13)||\ + ((t&~PARTITION_NTFT)==PARTITION_XINT13)) +#define IsContainerPartition(t)\ + (((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_EXTENDED))||\ + ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_XINT13_EXTENDED))||\ + ((t&~PARTITION_NTFT)==PARTITION_EXTENDED)||\ + ((t&~PARTITION_NTFT)==PARTITION_XINT13_EXTENDED)) #ifdef __cplusplus } #endif |