- Misc fixes for msvc:

- C89 compliance for "dbgprint"
- Fix more calling convention declarations in the DDK and gdi32
- Define noreturn attribute for crt's abort compatibly
- Fix some of the mess in psdk's intrinsics -- this needs some major clean up.
- Define DbgPrintEx the same way in debug.h as in NDK and DDK
- UUID doesn't need Wine-specific types -- include standard PSDK headers.

svn path=/trunk/; revision=42233
This commit is contained in:
Stefan Ginsberg 2009-07-26 15:36:35 +00:00
parent 92a18fff94
commit c43cc84996
9 changed files with 70 additions and 69 deletions

View file

@ -35,6 +35,7 @@ int _tmain(int argc, TCHAR ** argv)
{ {
char psBuffer[128]; char psBuffer[128];
char psBuffer2[128]; char psBuffer2[128];
char *nlptr2;
char cmd[255]; char cmd[255];
char test[300]; char test[300];
FILE *pPipe; FILE *pPipe;
@ -60,7 +61,7 @@ int _tmain(int argc, TCHAR ** argv)
{ {
while(fgets(psBuffer2, 128, pPipe2)) while(fgets(psBuffer2, 128, pPipe2))
{ {
char *nlptr2 = strchr(psBuffer2, '\n'); nlptr2 = strchr(psBuffer2, '\n');
if (nlptr2) if (nlptr2)
*nlptr2 = '\0'; *nlptr2 = '\0';
puts(psBuffer2); puts(psBuffer2);

View file

@ -115,36 +115,36 @@ typedef struct _LOCALFONT
} LOCALFONT, *PLOCALFONT; } LOCALFONT, *PLOCALFONT;
// sdk/winspool.h // sdk/winspool.h
typedef BOOL WINAPI (*ABORTPRINTER) (HANDLE); typedef BOOL (WINAPI *ABORTPRINTER) (HANDLE);
typedef BOOL WINAPI (*CLOSEPRINTER) (HANDLE); typedef BOOL (WINAPI *CLOSEPRINTER) (HANDLE);
typedef BOOL WINAPI (*CLOSESPOOLFILEHANDLE) (HANDLE, HANDLE); // W2k8 typedef BOOL (WINAPI *CLOSESPOOLFILEHANDLE) (HANDLE, HANDLE); // W2k8
typedef HANDLE WINAPI (*COMMITSPOOLDATA) (HANDLE,HANDLE,DWORD); // W2k8 typedef HANDLE (WINAPI *COMMITSPOOLDATA) (HANDLE,HANDLE,DWORD); // W2k8
typedef LONG WINAPI (*DOCUMENTPROPERTIESW) (HWND,HANDLE,LPWSTR,PDEVMODEW,PDEVMODEW,DWORD); typedef LONG (WINAPI *DOCUMENTPROPERTIESW) (HWND,HANDLE,LPWSTR,PDEVMODEW,PDEVMODEW,DWORD);
typedef BOOL WINAPI (*ENDDOCPRINTER) (HANDLE); typedef BOOL (WINAPI *ENDDOCPRINTER) (HANDLE);
typedef BOOL WINAPI (*ENDPAGEPRINTER) (HANDLE); typedef BOOL (WINAPI *ENDPAGEPRINTER) (HANDLE);
typedef BOOL WINAPI (*GETPRINTERW) (HANDLE,DWORD,LPBYTE,DWORD,LPDWORD); typedef BOOL (WINAPI *GETPRINTERW) (HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
typedef BOOL WINAPI (*GETPRINTERDRIVERW) (HANDLE,LPWSTR,DWORD,LPBYTE,DWORD,LPDWORD); typedef BOOL (WINAPI *GETPRINTERDRIVERW) (HANDLE,LPWSTR,DWORD,LPBYTE,DWORD,LPDWORD);
typedef HANDLE WINAPI (*GETSPOOLFILEHANDLE) (HANDLE); // W2k8 typedef HANDLE (WINAPI *GETSPOOLFILEHANDLE) (HANDLE); // W2k8
typedef BOOL WINAPI (*ISVALIDDEVMODEW) (PDEVMODEW,size_t); typedef BOOL (WINAPI *ISVALIDDEVMODEW) (PDEVMODEW,size_t);
typedef BOOL WINAPI (*OPENPRINTERW) (LPWSTR,PHANDLE,LPPRINTER_DEFAULTSW); typedef BOOL (WINAPI *OPENPRINTERW) (LPWSTR,PHANDLE,LPPRINTER_DEFAULTSW);
typedef BOOL WINAPI (*READPRINTER) (HANDLE,PVOID,DWORD,PDWORD); typedef BOOL (WINAPI *READPRINTER) (HANDLE,PVOID,DWORD,PDWORD);
typedef BOOL WINAPI (*RESETPRINTERW) (HANDLE,LPPRINTER_DEFAULTSW); typedef BOOL (WINAPI *RESETPRINTERW) (HANDLE,LPPRINTER_DEFAULTSW);
typedef LPWSTR WINAPI (*STARTDOCDLGW) (HANDLE,DOCINFOW *); typedef LPWSTR (WINAPI *STARTDOCDLGW) (HANDLE,DOCINFOW *);
typedef DWORD WINAPI (*STARTDOCPRINTERW) (HANDLE,DWORD,PBYTE); typedef DWORD (WINAPI *STARTDOCPRINTERW) (HANDLE,DWORD,PBYTE);
typedef BOOL WINAPI (*STARTPAGEPRINTER) (HANDLE); typedef BOOL (WINAPI *STARTPAGEPRINTER) (HANDLE);
// ddk/winsplp.h // ddk/winsplp.h
typedef BOOL WINAPI (*SEEKPRINTER) (HANDLE,LARGE_INTEGER,PLARGE_INTEGER,DWORD,BOOL); typedef BOOL (WINAPI *SEEKPRINTER) (HANDLE,LARGE_INTEGER,PLARGE_INTEGER,DWORD,BOOL);
typedef BOOL WINAPI (*SPLREADPRINTER) (HANDLE,LPBYTE *,DWORD); typedef BOOL (WINAPI *SPLREADPRINTER) (HANDLE,LPBYTE *,DWORD);
// Same as ddk/winsplp.h DriverUnloadComplete? // Same as ddk/winsplp.h DriverUnloadComplete?
typedef BOOL WINAPI (*SPLDRIVERUNLOADCOMPLETE) (LPWSTR); typedef BOOL (WINAPI *SPLDRIVERUNLOADCOMPLETE) (LPWSTR);
// Driver support: // Driver support:
// DrvDocumentEvent api/winddiui.h not W2k8 DocumentEventAW // DrvDocumentEvent api/winddiui.h not W2k8 DocumentEventAW
typedef INT WINAPI (*DOCUMENTEVENT) (HANDLE,HDC,INT,ULONG,PVOID,ULONG,PVOID); typedef INT (WINAPI *DOCUMENTEVENT) (HANDLE,HDC,INT,ULONG,PVOID,ULONG,PVOID);
// DrvQueryColorProfile // DrvQueryColorProfile
typedef BOOL WINAPI (*QUERYCOLORPROFILE) (HANDLE,PDEVMODEW,ULONG,VOID*,ULONG,FLONG); typedef BOOL (WINAPI *QUERYCOLORPROFILE) (HANDLE,PDEVMODEW,ULONG,VOID*,ULONG,FLONG);
// Unknown: // Unknown:
typedef DWORD WINAPI (*QUERYSPOOLMODE) (HANDLE,DWORD,DWORD); typedef DWORD (WINAPI *QUERYSPOOLMODE) (HANDLE,DWORD,DWORD);
typedef DWORD WINAPI (*QUERYREMOTEFONTS) (DWORD,DWORD,DWORD); typedef DWORD (WINAPI *QUERYREMOTEFONTS) (DWORD,DWORD,DWORD);
extern CLOSEPRINTER fpClosePrinter; extern CLOSEPRINTER fpClosePrinter;

View file

@ -40,7 +40,7 @@ extern "C" {
#pragma push_macro("abort") #pragma push_macro("abort")
#undef abort #undef abort
#endif #endif
void __cdecl __declspec(noreturn) abort(void); __declspec(noreturn) void __cdecl abort(void);
#if __MINGW_GNUC_PREREQ(4,4) #if __MINGW_GNUC_PREREQ(4,4)
#pragma pop_macro("abort") #pragma pop_macro("abort")
#undef abort #undef abort

View file

@ -95,8 +95,8 @@
#define DDNOTIFY_CLOSEVIDEOPORT 0x0200 #define DDNOTIFY_CLOSEVIDEOPORT 0x0200
#define DDNOTIFY_CLOSECAPTURE 0x0400 #define DDNOTIFY_CLOSECAPTURE 0x0400
typedef DWORD (*LPDXAPI)(DWORD dwFunctionNum, LPVOID lpvInBuffer, DWORD cbInBuffer, LPVOID lpvOutBuffer, DWORD cbOutBuffer); typedef DWORD (PASCAL *LPDXAPI)(DWORD dwFunctionNum, LPVOID lpvInBuffer, DWORD cbInBuffer, LPVOID lpvOutBuffer, DWORD cbOutBuffer);
typedef ULONG (*LPDD_NOTIFYCALLBACK) (DWORD dwFlags, PVOID pContext, DWORD dwParam1, DWORD dwParam2); typedef ULONG (PASCAL *LPDD_NOTIFYCALLBACK) (DWORD dwFlags, PVOID pContext, DWORD dwParam1, DWORD dwParam2);
typedef struct _DDCAPBUFFINFO typedef struct _DDCAPBUFFINFO
{ {

View file

@ -98,11 +98,11 @@ enum DeviceObjectState {
DeviceObjectRemoved DeviceObjectRemoved
}; };
typedef VOID DDKAPI (*PHID_STATUS_CHANGE)( typedef VOID (DDKAPI *PHID_STATUS_CHANGE)(
PVOID Context, PVOID Context,
enum DeviceObjectState State); enum DeviceObjectState State);
typedef NTSTATUS DDKAPI (*PHIDP_GETCAPS)( typedef NTSTATUS (DDKAPI *PHIDP_GETCAPS)(
IN PHIDP_PREPARSED_DATA PreparsedData, IN PHIDP_PREPARSED_DATA PreparsedData,
OUT PHIDP_CAPS Capabilities); OUT PHIDP_CAPS Capabilities);

View file

@ -1835,43 +1835,6 @@ VOID WINAPI InitializeSRWLock(PSRWLOCK);
#define InterlockedCompareExchangeAcquire64 InterlockedCompareExchange64 #define InterlockedCompareExchangeAcquire64 InterlockedCompareExchange64
#define InterlockedCompareExchangeRelease64 InterlockedCompareExchange64 #define InterlockedCompareExchangeRelease64 InterlockedCompareExchange64
#else // !(defined (_M_AMD64) || defined (_M_IA64))
LONG WINAPI InterlockedOr(IN OUT LONG volatile *,LONG);
LONG WINAPI InterlockedAnd(IN OUT LONG volatile *,LONG);
LONG WINAPI InterlockedCompareExchange(IN OUT LONG volatile *,LONG,LONG);
LONG WINAPI InterlockedDecrement(IN OUT LONG volatile *);
LONG WINAPI InterlockedExchange(IN OUT LONG volatile *,LONG);
#if defined(_WIN64)
/* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */
#define InterlockedExchangePointer(t,v) \
(PVOID)_InterlockedExchange64((LONGLONG*)(t),(LONGLONG)(v))
/* PVOID WINAPI InterlockedCompareExchangePointer(PVOID*,PVOID,PVOID); */
#define InterlockedCompareExchangePointer(d,e,c) \
(PVOID)_InterlockedCompareExchange64((LONGLONG*)(d),(LONGLONG)(e),(LONGLONG)(c))
#else
/* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */
#define InterlockedExchangePointer(t,v) \
(PVOID)InterlockedExchange((LPLONG)(t),(LONG)(v))
/* PVOID WINAPI InterlockedCompareExchangePointer(PVOID*,PVOID,PVOID); */
#define InterlockedCompareExchangePointer(d,e,c) \
(PVOID)InterlockedCompareExchange((LPLONG)(d),(LONG)(e),(LONG)(c))
#endif
LONG WINAPI InterlockedExchangeAdd(IN OUT LONG volatile *,LONG);
#if (_WIN32_WINNT >= 0x0501)
PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER);
#endif
LONG WINAPI InterlockedIncrement(IN OUT LONG volatile *);
#if (_WIN32_WINNT >= 0x0501)
PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER);
PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY);
#endif
#endif // !(defined (_M_AMD64) || defined (_M_IA64))
VOID WINAPI InitializeSListHead(PSLIST_HEADER);
USHORT WINAPI QueryDepthSList(PSLIST_HEADER);
#if !defined(InterlockedAnd) #if !defined(InterlockedAnd)
#define InterlockedAnd InterlockedAnd_Inline #define InterlockedAnd InterlockedAnd_Inline
FORCEINLINE FORCEINLINE
@ -1918,6 +1881,43 @@ InterlockedOr_Inline(IN OUT volatile LONG *Target,
} }
#endif #endif
#else // !(defined (_M_AMD64) || defined (_M_IA64))
LONG WINAPI InterlockedOr(IN OUT LONG volatile *,LONG);
LONG WINAPI InterlockedAnd(IN OUT LONG volatile *,LONG);
LONG WINAPI InterlockedCompareExchange(IN OUT LONG volatile *,LONG,LONG);
LONG WINAPI InterlockedDecrement(IN OUT LONG volatile *);
LONG WINAPI InterlockedExchange(IN OUT LONG volatile *,LONG);
#if defined(_WIN64)
/* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */
#define InterlockedExchangePointer(t,v) \
(PVOID)_InterlockedExchange64((LONGLONG*)(t),(LONGLONG)(v))
/* PVOID WINAPI InterlockedCompareExchangePointer(PVOID*,PVOID,PVOID); */
#define InterlockedCompareExchangePointer(d,e,c) \
(PVOID)_InterlockedCompareExchange64((LONGLONG*)(d),(LONGLONG)(e),(LONGLONG)(c))
#else
/* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */
#define InterlockedExchangePointer(t,v) \
(PVOID)InterlockedExchange((LPLONG)(t),(LONG)(v))
/* PVOID WINAPI InterlockedCompareExchangePointer(PVOID*,PVOID,PVOID); */
#define InterlockedCompareExchangePointer(d,e,c) \
(PVOID)InterlockedCompareExchange((LPLONG)(d),(LONG)(e),(LONG)(c))
#endif
LONG WINAPI InterlockedExchangeAdd(IN OUT LONG volatile *,LONG);
#if (_WIN32_WINNT >= 0x0501)
PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER);
#endif
LONG WINAPI InterlockedIncrement(IN OUT LONG volatile *);
#if (_WIN32_WINNT >= 0x0501)
PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER);
PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY);
#endif
#endif // !(defined (_M_AMD64) || defined (_M_IA64))
VOID WINAPI InitializeSListHead(PSLIST_HEADER);
USHORT WINAPI QueryDepthSList(PSLIST_HEADER);
#endif /* __INTERLOCKED_DECLARED */ #endif /* __INTERLOCKED_DECLARED */
BOOL WINAPI IsBadCodePtr(FARPROC); BOOL WINAPI IsBadCodePtr(FARPROC);

View file

@ -4901,7 +4901,7 @@ extern struct _TEB * NtCurrentTeb(void);
#if (_MSC_FULL_VER >= 13012035) #if (_MSC_FULL_VER >= 13012035)
DWORD __readfsdword(DWORD); unsigned long __readfsdword(const unsigned long Offset);
#pragma intrinsic(__readfsdword) #pragma intrinsic(__readfsdword)
__inline PVOID GetCurrentFiber(void) { return (PVOID)(ULONG_PTR)__readfsdword(0x10); } __inline PVOID GetCurrentFiber(void) { return (PVOID)(ULONG_PTR)__readfsdword(0x10); }

View file

@ -31,6 +31,7 @@ DbgPrint(
IN ... IN ...
); );
NTSYSAPI
ULONG ULONG
__cdecl __cdecl
DbgPrintEx( DbgPrintEx(

View file

@ -1,6 +1,5 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="uuid" type="staticlibrary"> <module name="uuid" type="staticlibrary">
<include base="ReactOS">include/reactos/wine</include>
<file>uuid.c</file> <file>uuid.c</file>
</module> </module>