diff --git a/reactos/include/psdk/ntdddisk.h b/reactos/include/psdk/ntdddisk.h index 271aa12e4cc..ec02fb1b976 100644 --- a/reactos/include/psdk/ntdddisk.h +++ b/reactos/include/psdk/ntdddisk.h @@ -220,6 +220,10 @@ extern "C" { #define PARTITION_UNIX 0x63 #define VALID_NTFT 0xC0 #define PARTITION_NTFT 0x80 +#ifdef __REACTOS__ +#define PARTITION_OLD_LINUX 0x43 +#define PARTITION_LINUX 0x83 +#endif #define IsFTPartition( PartitionType ) \ (((PartitionType) & PARTITION_NTFT) && \ @@ -229,6 +233,24 @@ extern "C" { (((PartitionType) == PARTITION_EXTENDED) || \ ((PartitionType) == PARTITION_XINT13_EXTENDED)) +#ifdef __REACTOS__ +#define IsRecognizedPartition(PartitionType) ( \ + (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_FAT_12)) || \ + (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_HUGE)) || \ + (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_IFS)) || \ + (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_FAT32)) || \ + (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_FAT32_XINT13)) || \ + (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_XINT13)) || \ + ((PartitionType) == PARTITION_FAT_12) || \ + ((PartitionType) == PARTITION_FAT_16) || \ + ((PartitionType) == PARTITION_HUGE) || \ + ((PartitionType) == PARTITION_IFS) || \ + ((PartitionType) == PARTITION_FAT32) || \ + ((PartitionType) == PARTITION_FAT32_XINT13) || \ + ((PartitionType) == PARTITION_XINT13) || \ + ((PartitionType) == PARTITION_LINUX) || \ + ((PartitionType) == PARTITION_OLD_LINUX)) +#else #define IsRecognizedPartition(PartitionType) ( \ (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_FAT_12)) || \ (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_HUGE)) || \ @@ -243,6 +265,7 @@ extern "C" { ((PartitionType) == PARTITION_FAT32) || \ ((PartitionType) == PARTITION_FAT32_XINT13) || \ ((PartitionType) == PARTITION_XINT13)) +#endif #if(_WIN32_WINNT >= 0x0500) #define GPT_BASIC_DATA_ATTRIBUTE_READ_ONLY 0x10000000 diff --git a/reactos/include/psdk/winioctl.h b/reactos/include/psdk/winioctl.h index 9a0200fe1ca..58c6b232c0c 100644 --- a/reactos/include/psdk/winioctl.h +++ b/reactos/include/psdk/winioctl.h @@ -192,8 +192,12 @@ extern "C" { #define PARTITION_PREP 0x41 #define PARTITION_LDM 0x42 #define PARTITION_UNIX 0x63 -#define PARTITION_NTFT 128 +#define PARTITION_NTFT 0x80 #define VALID_NTFT 0xC0 +#ifdef __REACTOS__ +#define PARTITION_OLD_LINUX 0x43 +#define PARTITION_LINUX 0x83 +#endif #define SERIAL_LSRMST_ESCAPE 0 #define SERIAL_LSRMST_LSR_DATA 1 #define SERIAL_LSRMST_LSR_NODATA 2 @@ -576,6 +580,25 @@ typedef struct { UCHAR FileRecordBuffer[1]; } NTFS_FILE_RECORD_OUTPUT_BUFFER, *PNTFS_FILE_RECORD_OUTPUT_BUFFER; +#ifdef __REACTOS__ +#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_FAT32)||\ + ((t&~PARTITION_NTFT)==PARTITION_FAT32_XINT13)||\ + ((t&~PARTITION_NTFT)==PARTITION_XINT13)||\ + ((t&~PARTITION_NTFT)==PARTITION_LINUX)||\ + ((t&~PARTITION_NTFT)==PARTITION_OLD_LINUX)) +#else #define IsRecognizedPartition(t)\ (((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT_12))||\ ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT_16))||\ @@ -591,6 +614,7 @@ typedef struct { ((t&~PARTITION_NTFT)==PARTITION_FAT32)||\ ((t&~PARTITION_NTFT)==PARTITION_FAT32_XINT13)||\ ((t&~PARTITION_NTFT)==PARTITION_XINT13)) +#endif #define IsContainerPartition(t)\ (((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_EXTENDED))||\ ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_XINT13_EXTENDED))||\