Re: [PATCH] Allow building of kernel32.dll with w32api
Danny Smith <[email protected]>
| Newsgroups | gmane.comp.gnu.mingw.patches |
|---|---|
| Message-ID | <001201c215ac$b36034a0$6c3261cb@DANNY> |
----- 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 makes it possible to build a kernel32.dll by defining WINBASEAPI to not be attribute dllimport. The patch also moves a few structures that will be > shared between the SDK and DDK to a central location in order to avoid potential > conflicts when including headers from both developer kits at the same time. > > I am not keen on this because, when possible, we attempt to put definitions where MS doc's say they are. The patch you propose may well be logical and harmless, but it sets a precedent for moving things around just to facilitate one project. That could soon get out of control. Couldn't we "centralise" the troublesome definitions within current header locations (where MSDN docs say they are) but protect with defines. Danny > 2002-06-15 Casper S. Hornstrup <[email protected]> > > * include/ntshared.h: New file for shared definitions between SDK and DDK. > * include/winbase.h (WINBASEAPI): Wrap in #ifndef WINBASEAPI so > we can avoid importing symbols when building Win32 base API DLLs. > (ntshared.h): Include. > (THREAD_PRIORITY_*, EXCEPTION_*, _FILETIME, LPTHREAD_START_ROUTINE, > _SYSTEMTIME, _ACL_INFORMATION_CLASS, _TIME_ZONE_INFORMATION, > PTIMERAPCROUTINE): Move to ntshared.h. > (BackupRead, BackupSeek, BackupWrite, FileTimeToLocalFileTime, > GetAce, GetPrivateProfileStructW, GetTickCount, InterlockedExchangeAdd, > WritePrivateProfileStructA): Correct prototypes. > (InterlockedCompareExchange, InterlockedCompareExchangePointer, > InterlockedDecrement, InterlockedExchange, InterlockedExchangePointer, > InterlockedExchangeAdd, InterlockedIncrement): Wrap in > #ifndef __INTERLOCKED_DECLARED since kernel mode versions have > different prototypes. > (GetEnvironmentStringsA): Remove duplicate definition. > * include/winioctl.h (ntshared.h): Include. > (CTL_CODE, DEVICE_TYPE): Move to ntshared.h. > (PARTITION_FAT32, PARTITION_FAT32_XINT13, PARTITION_XINT13, > PARTITION_XINT13_EXTENDED, PARTITION_PREP, 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. > _______________________________________________________________ Sponsored by: ThinkGeek at http://www.ThinkGeek.com/