Continue of MSVC-compiling changes....
authorAleksey Bragin <aleksey@reactos.org>
Tue, 30 Dec 2003 18:34:59 +0000 (18:34 +0000)
committerAleksey Bragin <aleksey@reactos.org>
Tue, 30 Dec 2003 18:34:59 +0000 (18:34 +0000)
I double checked, but in case someone's recent commit is somehow overwritten -- please, don't be very frustrated :) -- I will fix it, just drop me a note.

svn path=/trunk/; revision=7337

13 files changed:
reactos/include/ddk/exfuncs.h
reactos/include/ddk/iotypes.h
reactos/include/ddk/ntbootvid.h
reactos/include/napi/core.h
reactos/include/napi/teb.h
reactos/include/ntdll/ldr.h
reactos/include/ntdll/ntdll.h
reactos/include/ntos/haltypes.h
reactos/include/ntos/kdfuncs.h
reactos/include/ntos/ps.h
reactos/include/ntos/service.h
reactos/include/ntos/types.h
reactos/include/ntos/zwtypes.h

index 09bbef6..3dda28b 100644 (file)
@@ -205,7 +205,7 @@ ExGetExclusiveWaiterCount (
        PERESOURCE      Resource
        );
 
-ULONG
+KPROCESSOR_MODE
 STDCALL
 ExGetPreviousMode (
        VOID
index 4978a58..f8f4b05 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: iotypes.h,v 1.60 2003/12/20 16:51:05 navaraf Exp $
+/* $Id: iotypes.h,v 1.61 2003/12/30 18:34:58 fireball Exp $
  *
  */
 
@@ -1285,19 +1285,19 @@ typedef struct _DMA_OPERATIONS {
 
 struct _DEVICE_DESCRIPTION;
 
-typedef BOOLEAN STDCALL (*PTRANSLATE_BUS_ADDRESS)(
+typedef BOOLEAN STDCALL_FUNC (*PTRANSLATE_BUS_ADDRESS)(
   IN PVOID Context,
   IN PHYSICAL_ADDRESS BusAddress,
   IN ULONG Length,
   IN OUT PULONG AddressSpace,
   OUT PPHYSICAL_ADDRESS TranslatedAddress);
 
-typedef PDMA_ADAPTER STDCALL (*PGET_DMA_ADAPTER)(
+typedef PDMA_ADAPTER STDCALL_FUNC (*PGET_DMA_ADAPTER)(
   IN PVOID Context,
   IN struct _DEVICE_DESCRIPTION *DeviceDescriptor,
   OUT PULONG NumberOfMapRegisters);
 
-typedef ULONG STDCALL (*PGET_SET_DEVICE_DATA)(
+typedef ULONG STDCALL_FUNC (*PGET_SET_DEVICE_DATA)(
   IN PVOID Context,
   IN ULONG DataType,
   IN PVOID Buffer,
index 2ea41cf..1dd5aaa 100644 (file)
@@ -7,5 +7,5 @@
 
 typedef struct
 {
-  BOOL STDCALL (*ResetDisplay)(VOID);
+  BOOL STDCALL_FUNC (*ResetDisplay)(VOID);
 } NTBOOTVID_FUNCTION_TABLE;
index 8548bb0..e2c20d8 100644 (file)
@@ -26,10 +26,10 @@ typedef struct _MM_CORE_DUMP_HEADER
 
 typedef struct MM_CORE_DUMP_FUNCTIONS
 {
-  NTSTATUS STDCALL (*DumpPrepare)(PDEVICE_OBJECT DeviceObject, PDUMP_POINTERS DumpPointers);
-  NTSTATUS STDCALL (*DumpInit)(VOID);
-  NTSTATUS STDCALL (*DumpWrite)(LARGE_INTEGER Address, PMDL Mdl);
-  NTSTATUS STDCALL (*DumpFinish)(VOID);
+  NTSTATUS STDCALL_FUNC (*DumpPrepare)(PDEVICE_OBJECT DeviceObject, PDUMP_POINTERS DumpPointers);
+  NTSTATUS STDCALL_FUNC (*DumpInit)(VOID);
+  NTSTATUS STDCALL_FUNC (*DumpWrite)(LARGE_INTEGER Address, PMDL Mdl);
+  NTSTATUS STDCALL_FUNC (*DumpFinish)(VOID);
 } MM_CORE_DUMP_FUNCTIONS, *PMM_CORE_DUMP_FUNCTIONS;
 
 #endif /* __INCLUDE_NAPI_CORE_H */
index 701de83..7ea25db 100644 (file)
@@ -242,6 +242,7 @@ static inline struct _TEB * NtCurrentTeb(void)
 {
  struct _TEB * pTeb;
 
+#if defined(__GNUC__)
  /* FIXME: instead of hardcoded offsets, use offsetof() - if possible */
  __asm__ __volatile__
  (
@@ -249,6 +250,12 @@ static inline struct _TEB * NtCurrentTeb(void)
   : "=r" (pTeb) /* can't have two memory operands */
   : /* no inputs */
  );
+#elif defined(_MSC_VER)
+ __asm mov eax, fs:0x18
+ __asm mov pTeb, eax
+#else
+#error Unknown compiler for inline assembler
+#endif
 
  return pTeb;
 }
@@ -287,6 +294,8 @@ static inline struct _PEB * NtCurrentPeb(void)
 {
  struct _PEB * pPeb;
 
+#if defined(__GNUC__)
+
  __asm__ __volatile__
  (
   "movl %%fs:0x30, %0\n" /* fs:30h == Teb->Peb */
@@ -294,6 +303,15 @@ static inline struct _PEB * NtCurrentPeb(void)
   : /* no inputs */
  );
 
+#elif defined(_MSC_VER)
+
+       __asm mov eax, fs:0x30;
+       __asm mov pPeb, eax
+
+#else
+#error Unknown compiler for inline assembler
+#endif
+
  return pPeb;
 }
 
index a261878..42e2c24 100644 (file)
@@ -5,10 +5,10 @@
 #include <roscfg.h>
 #include <napi/teb.h>
 
-typedef NTSTATUS STDCALL (*PEPFUNC)(PPEB);
+typedef NTSTATUS STDCALL_FUNC (*PEPFUNC)(PPEB);
 
 /* Type for a DLL's entry point */
-typedef BOOL STDCALL
+typedef BOOL STDCALL_FUNC
 (* PDLLMAIN_FUNC)(HANDLE hInst,
                  ULONG ul_reason_for_call,
                  LPVOID lpReserved);
index 6c96a33..3b69a46 100644 (file)
 #endif
 
 #ifdef NDEBUG
+#if defined(__GNUC__)
 #define DPRINT(args...)
+#else
+#define DPRINT
+#endif /* __GNUC__ */
 #define CHECKPOINT
 #else
-#define DPRINT(args...) do { DbgPrint("(NTDLL:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0);
-#define CHECKPOINT do { DbgPrint("(NTDLL:%s:%d) Checkpoint\n",__FILE__,__LINE__); } while(0);
+#define DPRINT(args...) do { DbgPrint("(NTDLL:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0)
+#define CHECKPOINT do { DbgPrint("(NTDLL:%s:%d) Checkpoint\n",__FILE__,__LINE__); } while(0)
 #endif
 
-#define DPRINT1(args...) do { DbgPrint("(NTDLL:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0);
-#define CHECKPOINT1 do { DbgPrint("(NTDLL:%s:%d) Checkpoint\n",__FILE__,__LINE__); } while(0);
+#if defined(__GNUC__)
+#define DPRINT1(args...) do { DbgPrint("(NTDLL:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0)
+#else
+#define DPRINT1              DbgPrint("(NTDLL:%s:%d) ",__FILE__,__LINE__); DbgPrint
+#endif
+#define CHECKPOINT1 do { DbgPrint("(NTDLL:%s:%d) Checkpoint\n",__FILE__,__LINE__); } while(0)
 
 #define ROUNDUP(a,b)   ((((a)+(b)-1)/(b))*(b))
 #define ROUNDDOWN(a,b) (((a)/(b))*(b))
index 5cca9fd..e467fd0 100755 (executable)
@@ -1,4 +1,4 @@
-/* $Id: haltypes.h,v 1.4 2003/10/20 06:03:29 vizzini Exp $
+/* $Id: haltypes.h,v 1.5 2003/12/30 18:34:58 fireball Exp $
  *
  * COPYRIGHT:                See COPYING in the top level directory
  * PROJECT:                  ReactOS kernel
 #define __INCLUDE_NTOS_HALTYPES_H
 
 #ifdef __GNUC__
-#define STDCALL_FUNC STDCALL
+#define STDCALL_FUNC  STDCALL
+#define FASTCALL_FUNC FASTCALL
 #else
-#define STDCALL_FUNC(a) (__stdcall a )
+#define STDCALL_FUNC(a)  (__stdcall a )
+#define FASTCALL_FUNC(a) (__fastcall a )
 #endif /*__GNUC__*/
 
 #include "types.h"
@@ -393,42 +395,42 @@ typedef NTSTATUS STDCALL_FUNC
                     IN PVOID Context,
                     IN PDEVICE_CONTROL_COMPLETION CompletionRoutine);
 
-typedef VOID FASTCALL
+typedef VOID FASTCALL_FUNC
 (*pHalExamineMBR)(IN PDEVICE_OBJECT DeviceObject,
                  IN ULONG SectorSize,
                  IN ULONG MBRTypeIdentifier,
                  OUT PVOID *Buffer);
 
-typedef VOID FASTCALL
+typedef VOID FASTCALL_FUNC
 (*pHalIoAssignDriveLetters)(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
                            IN PSTRING NtDeviceName,
                            OUT PUCHAR NtSystemPath,
                            OUT PSTRING NtSystemPathString);
 
-typedef NTSTATUS FASTCALL
+typedef NTSTATUS FASTCALL_FUNC
 (*pHalIoReadPartitionTable)(IN PDEVICE_OBJECT DeviceObject,
                            IN ULONG SectorSize,
                            IN BOOLEAN ReturnRecognizedPartitions,
                            OUT PDRIVE_LAYOUT_INFORMATION *PartitionBuffer);
 
-typedef NTSTATUS FASTCALL
+typedef NTSTATUS FASTCALL_FUNC
 (*pHalIoSetPartitionInformation)(IN PDEVICE_OBJECT DeviceObject,
                                 IN ULONG SectorSize,
                                 IN ULONG PartitionNumber,
                                 IN ULONG PartitionType);
 
-typedef NTSTATUS FASTCALL
+typedef NTSTATUS FASTCALL_FUNC
 (*pHalIoWritePartitionTable)(IN PDEVICE_OBJECT DeviceObject,
                             IN ULONG SectorSize,
                             IN ULONG SectorsPerTrack,
                             IN ULONG NumberOfHeads,
                             IN PDRIVE_LAYOUT_INFORMATION PartitionBuffer);
 
-typedef PBUS_HANDLER FASTCALL
+typedef PBUS_HANDLER FASTCALL_FUNC
 (*pHalHandlerForBus)(IN INTERFACE_TYPE InterfaceType,
                     IN ULONG BusNumber);
 
-typedef VOID FASTCALL
+typedef VOID FASTCALL_FUNC
 (*pHalReferenceBusHandler)(IN PBUS_HANDLER BusHandler);
 
 
index 7702249..7315621 100755 (executable)
@@ -1,9 +1,11 @@
 #ifndef __INCLUDE_DDK_KDFUNCS_H
 #define __INCLUDE_DDK_KDFUNCS_H
-/* $Id: kdfuncs.h,v 1.1 2003/06/07 10:14:39 chorns Exp $ */
+/* $Id: kdfuncs.h,v 1.2 2003/12/30 18:34:58 fireball Exp $ */
 
 #ifndef __USE_W32API
 
+#ifdef __GNUC__
+
 #if defined(__NTOSKRNL__)
 extern BOOLEAN KdDebuggerEnabled __declspec(dllexport);
 extern BOOLEAN KdDebuggerNotPresent __declspec(dllexport);
@@ -12,6 +14,19 @@ extern BOOLEAN KdDebuggerEnabled __declspec(dllimport);
 extern BOOLEAN KdDebuggerNotPresent __declspec(dllimport);
 #endif
 
+#else /* __GNUC__ */
+/* Microsft-style */
+
+#if defined(__NTOSKRNL__)
+extern __declspec(dllexport) BOOLEAN KdDebuggerEnabled;
+extern __declspec(dllexport) BOOLEAN KdDebuggerNotPresent;
+#else
+extern __declspec(dllimport) BOOLEAN KdDebuggerEnabled;
+extern __declspec(dllimport) BOOLEAN KdDebuggerNotPresent;
+#endif
+
+#endif /* __GNUC__ */
+
 #endif /* __USE_W32API */
 
 BYTE
index b83dea4..da7ddd4 100644 (file)
 #endif /* !__USE_W32API */
 
 #ifdef __NTOSKRNL__
+#ifdef __GNUC__
 extern struct _EPROCESS* EXPORTED PsInitialSystemProcess;
-extern POBJECT_TYPE EXPORTED PsProcessType;
-extern POBJECT_TYPE EXPORTED PsThreadType;
-#else
+extern POBJECT_TYPE EXPORTED      PsProcessType;
+extern POBJECT_TYPE EXPORTED      PsThreadType;
+#else /* __GNUC__ */
+/* Microsft-style */
+extern EXPORTED struct _EPROCESS* PsInitialSystemProcess;
+extern EXPORTED POBJECT_TYPE      PsProcessType;
+extern EXPORTED POBJECT_TYPE      PsThreadType;
+#endif /* __GNUC__ */
+#else /* __NTOSKRNL__ */
 #ifdef __GNUC__ // robd
 extern struct _EPROCESS* IMPORTED PsInitialSystemProcess;
 extern POBJECT_TYPE IMPORTED PsProcessType;
index 0be2457..1e07fcc 100755 (executable)
@@ -36,14 +36,30 @@ typedef struct t_KeServiceDescriptorTableEntry {
 
 /* --- NTOSKRNL.EXE --- */
 #if defined(__NTOSKRNL__)
+#ifdef __GNUC__
 extern
 SSDT_ENTRY
 KeServiceDescriptorTable[SSDT_MAX_ENTRIES] __declspec(dllexport);
-#else
+#else /* __GNUC__ */
+/* Microsft-style */
+extern
+__declspec(dllexport)
+SSDT_ENTRY
+KeServiceDescriptorTable[SSDT_MAX_ENTRIES];
+#endif /* __GNUC__ */
+#else /* __NTOSKRNL__ */
+#ifdef __GNUC__
 extern
 SSDT_ENTRY
 KeServiceDescriptorTable[SSDT_MAX_ENTRIES] __declspec(dllimport);
-#endif
+#else /* __GNUC__ */
+/* Microsft-style */
+extern
+__declspec(dllimport)
+SSDT_ENTRY
+KeServiceDescriptorTable[SSDT_MAX_ENTRIES];
+#endif /* __GNUC__ */
+#endif /* __NTOSKRNL__ */
 
 extern
 SSDT_ENTRY
index 58e7a38..8252905 100644 (file)
@@ -51,7 +51,7 @@ typedef short SHORT;
 #define STDCALL __stdcall
 #define CDECL __cdecl
 #endif
-#define CALLBACK    WINAPI
+#define CALLBACK    STDCALL_FUNC
 #define PASCAL      WINAPI
 #else
 
@@ -138,42 +138,41 @@ typedef USHORT CSHORT;
 typedef const wchar_t *PCWSTR;
 typedef char* PCSZ;
 
-#ifdef __GNUC__
-typedef DWORD STDCALL (*PTHREAD_START_ROUTINE) (LPVOID);
-#else
-typedef DWORD (STDCALL *PTHREAD_START_ROUTINE) (LPVOID);
-#endif /*__GNUC__*/
+typedef DWORD STDCALL_FUNC (*PTHREAD_START_ROUTINE) (LPVOID);
+
 
 typedef union _LARGE_INTEGER
 {
+#ifdef ANONYMOUSUNIONS
   struct
   {
     DWORD LowPart;
     LONG  HighPart;
-  } u;
-#ifdef ANONYMOUSUNIONS
+  };
+#else
   struct
   {
     DWORD LowPart;
     LONG  HighPart;
-  };
+  } u;
 #endif /* ANONYMOUSUNIONS */
   LONGLONG QuadPart;
 } LARGE_INTEGER, *PLARGE_INTEGER;
 
 typedef union _ULARGE_INTEGER
 {
+#ifdef ANONYMOUSUNIONS
   struct
   {
     DWORD LowPart;
     DWORD HighPart;
-  } u;
-#ifdef ANONYMOUSUNIONS
+  };
+#else
   struct
   {
     DWORD LowPart;
     DWORD HighPart;
-  };
+  } u;
 #endif /* ANONYMOUSUNIONS */
   ULONGLONG QuadPart;
 } ULARGE_INTEGER, *PULARGE_INTEGER;
@@ -460,21 +459,12 @@ typedef struct _SMALL_RECT
 } SMALL_RECT, *PSMALL_RECT;
 
 
-#ifdef __GNUC__
-typedef VOID STDCALL
+typedef VOID STDCALL_FUNC
 (*PTIMERAPCROUTINE)(
        LPVOID lpArgToCompletionRoutine,
        DWORD dwTimerLowValue,
        DWORD dwTimerHighValue
        );
-#else
-typedef VOID
-(STDCALL *PTIMERAPCROUTINE)(
-       LPVOID lpArgToCompletionRoutine,
-       DWORD dwTimerLowValue,
-       DWORD dwTimerHighValue
-       );
-#endif /*__GNUC__*/
 
 #include "except.h"
 
index 4c88efe..91ba6fa 100755 (executable)
@@ -1124,15 +1124,22 @@ typedef struct _IO_COMPLETION_BASIC_INFORMATION {
 #ifndef NtCurrentThread
 #define NtCurrentThread() ( (HANDLE) 0xFFFFFFFE )
 #endif /* NtCurrentThread */
-#if 1
-extern ULONG NtBuildNumber;
-#else
+
+#ifdef __GNUC__
 #ifdef __NTOSKRNL__
-extern ULONG NtBuildNumber;
+extern ULONG EXPORTED NtBuildNumber;
 #else
-extern ULONG NtBuildNumber;
+extern ULONG IMPORTED NtBuildNumber;
 #endif
+#else
+/* Microsoft-style declarations */
+#ifdef __NTOSKRNL__
+extern EXPORTED ULONG NtBuildNumber;
+#else
+extern IMPORTED ULONG NtBuildNumber;
 #endif
+#endif /* __GNUC__ */
+
 
 // event access mask