Re: [PATCH] Allow building of kernel32.dll with w32api

Danny Smith <[email protected]>
Newsgroups gmane.comp.gnu.mingw.patches
Message-ID <000701c21c28$0e6d9f50$149aa7cb@DANNY>
----- Original Message -----
From: "Danny Smith" <[email protected]>
To: "Casper Hornstrup" <[email protected]>;
<[email protected]>
Sent: Monday, 17 June 2002 15:11
Subject: Re: [MinGW-patches] [PATCH] Allow building of kernel32.dll with
w32api


>
> ----- Original Message -----
> From: "Casper Hornstrup" <[email protected]>
> To: <[email protected]>
> Sent: Sunday, 16 June 2002 02:23
> Subject: [MinGW-patches] [PATCH] Allow building of kernel32.dll with
> w32api
>


This patch of 15 June contained some changes to winioctl.h that have
been missed in prior check ins.  Casper,
do these look okay still?

2002-06-25  Casper S. Hornstrup  <[email protected]>

 * include/winbase.h (WINBASEAPI): Don't define if prior
 definition.

 * include/winioctl.h (PARTITION_FAT32, PARTITION_FAT32_XINT13,
 PARTITION_XINT13, PARTITION_XINT13_EXTENDED, PARTITION_LDM,
 PARTITION_UNIX): Add defines.
 (PDRIVE_LAYOUT_INFORMATION): Add typedef.
 (IsRecognizedPartition): Also check for PARTITION_FAT32,
 PARTITION_FAT32_XINT13 and PARTITION_XINT13.
 (IsContainerPartition): Add macro.

Danny
winioctl.h.diff (text/plain, 3.5 KB)
2002-06-25  Casper S. Hornstrup  <[email protected]>

	* include/winbase.h (WINBASEAPI): Don't define if prior
	definition.
	 
	* include/winioctl.h (PARTITION_FAT32, PARTITION_FAT32_XINT13,
	PARTITION_XINT13, PARTITION_XINT13_EXTENDED, PARTITION_LDM,
	PARTITION_UNIX): Add defines.
	(PDRIVE_LAYOUT_INFORMATION): Add typedef.
	(IsRecognizedPartition): Also check for PARTITION_FAT32,
	PARTITION_FAT32_XINT13 and PARTITION_XINT13.
	(IsContainerPartition): Add macro.

Index: include/winbase.h
===================================================================
RCS file: /cvs/src/src/winsup/w32api/include/winbase.h,v
retrieving revision 1.21
diff -u -p -r1.21 winbase.h
--- include/winbase.h	19 Jun 2002 01:15:44 -0000	1.21
+++ include/winbase.h	25 Jun 2002 09:06:26 -0000
@@ -4,7 +4,9 @@
 #pragma GCC system_header
 #endif
 
+#ifndef WINBASEAPI
 #define WINBASEAPI DECLSPEC_IMPORT
+#endif
 #ifdef __cplusplus
 extern "C" {
 #endif
Index: include/winioctl.h
===================================================================
RCS file: /cvs/src/src/winsup/w32api/include/winioctl.h,v
retrieving revision 1.6
diff -u -3 -p -r1.6 winioctl.h
--- include/winioctl.h	24 Jun 2002 02:49:47 -0000	1.6
+++ include/winioctl.h	24 Jun 2002 08:41:29 -0000
@@ -134,8 +134,13 @@ extern "C" {
 #define PARTITION_EXTENDED	5
 #define PARTITION_HUGE	6
 #define PARTITION_IFS	7
-#define PARTITION_PREP	0x41
-#define PARTITION_UNIX	0x63
+#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
 #define METHOD_BUFFERED	0
@@ -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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.