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/
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.