[ros-diffs] [akhaldi] 45789: - Move ntdef.h from ddk to psdk - Move EVENT_TYPE to ntdef.h - Introduce pragma once to wdm.h - Fix FAST_MUTEX - FastMutex->Gate => FastMutex->Event - Improve KeInitializeEvent - Improve InitializeSListHead

akhaldi at svn.reactos.org akhaldi at svn.reactos.org
Wed Mar 3 17:03:14 CET 2010


Author: akhaldi
Date: Wed Mar  3 17:03:14 2010
New Revision: 45789

URL: http://svn.reactos.org/svn/reactos?rev=45789&view=rev
Log:
- Move ntdef.h from ddk to psdk
- Move EVENT_TYPE to ntdef.h
- Introduce pragma once to wdm.h
- Fix FAST_MUTEX
- FastMutex->Gate => FastMutex->Event
- Improve KeInitializeEvent
- Improve InitializeSListHead

Added:
    branches/header-work/include/psdk/ntdef.h
      - copied, changed from r45734, branches/header-work/include/ddk/ntdef.h
Removed:
    branches/header-work/include/ddk/ntdef.h
Modified:
    branches/header-work/hal/halppc/generic/fmutex.c
    branches/header-work/include/ddk/wdm.h
    branches/header-work/include/ddk/winddk.h
    branches/header-work/include/psdk/winbase.h
    branches/header-work/ntoskrnl/include/internal/ex.h
    branches/header-work/ntoskrnl/ke/eventobj.c
    branches/header-work/ntoskrnl/ke/wait.c

Modified: branches/header-work/hal/halppc/generic/fmutex.c
URL: http://svn.reactos.org/svn/reactos/branches/header-work/hal/halppc/generic/fmutex.c?rev=45789&r1=45788&r2=45789&view=diff
==============================================================================
--- branches/header-work/hal/halppc/generic/fmutex.c [iso-8859-1] (original)
+++ branches/header-work/hal/halppc/generic/fmutex.c [iso-8859-1] Wed Mar  3 17:03:14 2010
@@ -39,7 +39,7 @@
     {
         /* Someone is still holding it, use slow path */
         FastMutex->Contention++;
-        KeWaitForSingleObject(&FastMutex->Gate,
+        KeWaitForSingleObject(&FastMutex->Event,
                               WrExecutive,
                               KernelMode,
                               FALSE,
@@ -65,7 +65,7 @@
     if (InterlockedIncrement(&FastMutex->Count) <= 0)
     {
         /* Someone was waiting for it, signal the waiter */
-        KeSetEventBoostPriority(&FastMutex->Gate, IO_NO_INCREMENT);
+        KeSetEventBoostPriority(&FastMutex->Event, IO_NO_INCREMENT);
     }
 
     /* Lower IRQL back */

Removed: branches/header-work/include/ddk/ntdef.h
URL: http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/ntdef.h?rev=45788&view=auto
==============================================================================
--- branches/header-work/include/ddk/ntdef.h [iso-8859-1] (original)
+++ branches/header-work/include/ddk/ntdef.h (removed)
@@ -1,844 +1,0 @@
-#ifndef _NTDEF_H
-#define _NTDEF_H
-
-//
-// Dependencies
-//
-#include <ctype.h>
-#include <basetsd.h>
-#include <excpt.h>
-#include <sdkddkver.h>
-
-// FIXME: Should we include these here?
-#include <stdarg.h>
-#include <string.h>
-
-/* Helper macro to enable gcc's extension.  */
-#ifndef __GNU_EXTENSION
-#ifdef __GNUC__
-#define __GNU_EXTENSION __extension__
-#else
-#define __GNU_EXTENSION
-#endif
-#endif
-
-typedef unsigned long POINTER_64; // FIXME! HACK!!!
-
-
-
-//
-// Pseudo Modifiers for Input Parameters
-//
-#ifndef IN
-#define IN
-#endif
-
-#ifndef OUT
-#define OUT
-#endif
-
-#ifndef OPTIONAL
-#define OPTIONAL
-#endif
-
-#ifndef NOTHING
-#define NOTHING
-#endif
-
-#ifndef CRITICAL
-#define CRITICAL
-#endif
-
-#ifndef FAR
-#define FAR
-#endif
-
-
-//
-// Defines the "size" of an any-size array
-//
-#ifndef ANYSIZE_ARRAY
-#define ANYSIZE_ARRAY 1
-#endif
-
-//
-// Constant modifier
-//
-#ifndef CONST
-#define CONST const
-#endif
-
-//
-// TRUE/FALSE
-//
-#define FALSE   0
-#define TRUE    1
-
-//
-// NULL/NULL64
-//
-#ifndef NULL
-#ifdef __cplusplus
-#define NULL    0
-#define NULL64  0
-#else
-#define NULL    ((void *)0)
-#define NULL64  ((void * POINTER_64)0)
-#endif
-#endif // NULL
-
-
-//
-// FIXME
-// We should use the -fms-extensions compiler flag for gcc,
-// and clean up the mess.
-//
-#ifndef __ANONYMOUS_DEFINED
-#define __ANONYMOUS_DEFINED
-
-#ifndef NONAMELESSUNION
-#ifdef __GNUC__
-#define _ANONYMOUS_UNION __GNU_EXTENSION
-#define _ANONYMOUS_STRUCT __GNU_EXTENSION
-#elif defined(__WATCOMC__) || defined(_MSC_VER)
-#define _ANONYMOUS_UNION
-#define _ANONYMOUS_STRUCT
-#endif /* __GNUC__/__WATCOMC__ */
-#endif /* NONAMELESSUNION */
-
-#ifndef _ANONYMOUS_UNION
-#define _ANONYMOUS_UNION
-#define _UNION_NAME(x) x
-#define DUMMYUNIONNAME  u
-#define DUMMYUNIONNAME2 u2
-#define DUMMYUNIONNAME3 u3
-#define DUMMYUNIONNAME4 u4
-#define DUMMYUNIONNAME5 u5
-#define DUMMYUNIONNAME6 u6
-#define DUMMYUNIONNAME7 u7
-#define DUMMYUNIONNAME8 u8
-#else
-#define _UNION_NAME(x)
-#define DUMMYUNIONNAME
-#define DUMMYUNIONNAME2
-#define DUMMYUNIONNAME3
-#define DUMMYUNIONNAME4
-#define DUMMYUNIONNAME5
-#define DUMMYUNIONNAME6
-#define DUMMYUNIONNAME7
-#define DUMMYUNIONNAME8
-#endif
-
-#ifndef _ANONYMOUS_STRUCT
-#define _ANONYMOUS_STRUCT
-#define _STRUCT_NAME(x) x
-#define DUMMYSTRUCTNAME s
-#define DUMMYSTRUCTNAME2 s2
-#define DUMMYSTRUCTNAME3 s3
-#define DUMMYSTRUCTNAME4 s4
-#define DUMMYSTRUCTNAME5 s5
-#else
-#define _STRUCT_NAME(x)
-#define DUMMYSTRUCTNAME
-#define DUMMYSTRUCTNAME2
-#define DUMMYSTRUCTNAME3
-#define DUMMYSTRUCTNAME4
-#define DUMMYSTRUCTNAME5
-#endif
-
-#endif /* __ANONYMOUS_DEFINED */
-
-// FIXME
-#undef UNALIGNED
-#define UNALIGNED
-#define RESTRICTED_POINTER
-
-//
-// Returns the base address of a structure from a structure member
-//
-#ifndef CONTAINING_RECORD
-#define CONTAINING_RECORD(address, type, field) \
-  ((type *)(((ULONG_PTR)address) - (ULONG_PTR)(&(((type *)0)->field))))
-#endif
-
-//
-// Returns the byte offset of the specified structure's member
-//
-#ifndef __GNUC__
-#define FIELD_OFFSET(Type, Field) ((LONG)(LONG_PTR)&(((Type*) 0)->Field))
-#else
-#define FIELD_OFFSET(Type, Field) __builtin_offsetof(Type, Field)
-#endif
-
-//
-// Returns the type's alignment
-//
-#if defined(_MSC_VER) && (_MSC_VER >= 1300)
-#define TYPE_ALIGNMENT(t) __alignof(t)
-#else
-#define TYPE_ALIGNMENT(t) FIELD_OFFSET( struct { char x; t test; }, test )
-#endif
-
-//
-// Calling Conventions
-//
-#if defined(_M_IX86)
-#define FASTCALL __fastcall
-#else
-#define FASTCALL
-#endif
-
-#define NTAPI __stdcall
-
-//
-// Used by the DDK exclusively , don't put in drivers
-//
-#define DDKAPI __stdcall // Use NTAPI instead
-#define DDKCDECLAPI __cdecl // Just use __cdecl
-
-//
-// Import and Export Specifiers
-//
-
-// Done the same way as in windef.h for now
-#define DECLSPEC_IMPORT __declspec(dllimport)
-#define DECLSPEC_NORETURN __declspec(noreturn)
-
-
-#ifndef DECLSPEC_ADDRSAFE
-#if (_MSC_VER >= 1200) && (defined(_M_ALPHA) || defined(_M_AXP64))
-#define DECLSPEC_ADDRSAFE  __declspec(address_safe)
-#else
-#define DECLSPEC_ADDRSAFE
-#endif
-#endif
-
-#if !defined(_NTSYSTEM_)
-#define NTSYSAPI     DECLSPEC_IMPORT
-#define NTSYSCALLAPI DECLSPEC_IMPORT
-#else
-#define NTSYSAPI
-#if defined(_NTDLLBUILD_)
-#define NTSYSCALLAPI
-#else
-#define NTSYSCALLAPI DECLSPEC_ADDRSAFE
-#endif
-#endif
-
-//
-// Inlines
-//
-#ifndef FORCEINLINE
-#if (_MSC_VER >= 1200)
-#define FORCEINLINE __forceinline
-#elif (_MSC_VER)
-#define FORCEINLINE __inline
-#else
-#define FORCEINLINE static __inline__ __attribute__((always_inline))
-#endif
-#endif
-
-#ifndef DECLSPEC_NOINLINE
-#if (_MSC_VER >= 1300)
-#define DECLSPEC_NOINLINE  __declspec(noinline)
-#elif defined(__GNUC__)
-#define DECLSPEC_NOINLINE __attribute__((noinline))
-#else
-#define DECLSPEC_NOINLINE
-#endif
-#endif
-
-#if !defined(_M_CEE_PURE)
-#define NTAPI_INLINE    NTAPI
-#else
-#define NTAPI_INLINE
-#endif
-
-//
-// Use to specify structure alignment
-//
-#ifndef DECLSPEC_ALIGN
-#if defined(_MSC_VER) && (_MSC_VER >= 1300) && !defined(MIDL_PASS)
-#define DECLSPEC_ALIGN(x) __declspec(align(x))
-#elif defined(__GNUC__)
-#define DECLSPEC_ALIGN(x) __attribute__((aligned(x)))
-#else
-#define DECLSPEC_ALIGN(x)
-#endif
-#endif
-
-
-
-//
-// Use to silence unused variable warnings when it is intentional
-//
-#define UNREFERENCED_PARAMETER(P) {(P)=(P);}
-#define UNREFERENCED_LOCAL_VARIABLE(L) {(L)=(L);}
-#define DBG_UNREFERENCED_PARAMETER(P)
-#define DBG_UNREFERENCED_LOCAL_VARIABLE(L)
-
-
-
-//
-// min/max helper macros
-//
-#ifndef NOMINMAX
-
-#ifndef min
-#define min(a,b) (((a) < (b)) ? (a) : (b))
-#endif
-
-#ifndef max
-#define max(a,b) (((a) > (b)) ? (a) : (b))
-#endif
-
-#endif // NOMINMAX
-
-
-
-//
-// Tell windef.h that we have defined some basic types
-//
-#define BASETYPES
-
-//
-// Void Pointers
-//
-typedef void *PVOID;
-//typedef void * POINTER_64 PVOID64;
-typedef PVOID PVOID64; // FIXME!
-
-//
-// Handle Type
-//
-#ifdef STRICT
-typedef void *HANDLE;
-#define DECLARE_HANDLE(n) typedef struct n##__{int i;}*n
-#else
-typedef PVOID HANDLE;
-#define DECLARE_HANDLE(n) typedef HANDLE n
-#endif
-typedef HANDLE *PHANDLE;
-
-//
-// Upper-Case Versions of Some Standard C Types
-//
-#ifndef VOID
-#define VOID void
-typedef char CHAR;
-typedef short SHORT;
-typedef long LONG;
-#if !defined(MIDL_PASS)
-typedef int INT;
-#endif
-#endif
-typedef double DOUBLE;
-
-//
-// Used to store a non-float 8 byte aligned structure
-//
-typedef struct _QUAD
-{
-    _ANONYMOUS_UNION union
-    {
-        __GNU_EXTENSION __int64 UseThisFieldToCopy;
-        double DoNotUseThisField;
-    };
-} QUAD, *PQUAD, UQUAD, *PUQUAD;
-
-
-//
-// Unsigned Types
-//
-typedef unsigned char UCHAR, *PUCHAR;
-typedef unsigned short USHORT, *PUSHORT;
-typedef unsigned long ULONG, *PULONG;
-typedef CONST UCHAR *PCUCHAR;
-typedef CONST USHORT *PCUSHORT;
-typedef CONST ULONG *PCULONG;
-
-typedef UCHAR FCHAR;
-typedef USHORT FSHORT;
-typedef ULONG FLONG;
-typedef UCHAR BOOLEAN;
-typedef BOOLEAN *PBOOLEAN;
-
-//
-// Signed Types
-//
-typedef SHORT *PSHORT;
-typedef LONG *PLONG;
-
-typedef LONG NTSTATUS;
-typedef NTSTATUS *PNTSTATUS;
-
-typedef signed char SCHAR;
-typedef SCHAR *PSCHAR;
-
-#ifndef _HRESULT_DEFINED
-#define _HRESULT_DEFINED
-typedef LONG HRESULT;
-#endif
-
-//
-// 64-bit types
-//
-__GNU_EXTENSION typedef __int64 LONGLONG, *PLONGLONG;
-__GNU_EXTENSION typedef unsigned __int64 ULONGLONG, *PULONGLONG;
-typedef ULONGLONG DWORDLONG, *PDWORDLONG;
-
-//
-// Update Sequence Number
-//
-typedef LONGLONG USN;
-
-
-//
-// ANSI (Multi-byte Character) types
-//
-typedef CHAR *PCHAR, *LPCH, *PCH;
-typedef CONST CHAR *LPCCH, *PCCH;
-typedef CHAR *NPSTR, *LPSTR, *PSTR;
-typedef PSTR *PZPSTR;
-typedef CONST PSTR *PCZPSTR;
-typedef CONST CHAR *LPCSTR, *PCSTR;
-typedef PCSTR *PZPCSTR;
-
-//
-// Pointer to an Asciiz string
-//
-typedef CHAR *PSZ;
-typedef CONST char *PCSZ;
-
-//
-// UNICODE (Wide Character) types
-//
-typedef wchar_t WCHAR;
-typedef WCHAR *PWCHAR, *LPWCH, *PWCH;
-typedef CONST WCHAR *LPCWCH, *PCWCH;
-typedef WCHAR *NWPSTR, *LPWSTR, *PWSTR;
-typedef PWSTR *PZPWSTR;
-typedef CONST PWSTR *PCZPWSTR;
-typedef WCHAR UNALIGNED *LPUWSTR, *PUWSTR;
-typedef CONST WCHAR *LPCWSTR, *PCWSTR;
-typedef PCWSTR *PZPCWSTR;
-typedef CONST WCHAR UNALIGNED *LPCUWSTR, *PCUWSTR;
-
-//
-// Cardinal Data Types
-//
-typedef char CCHAR, *PCCHAR;
-typedef short CSHORT, *PCSHORT;
-typedef ULONG CLONG, *PCLONG;
-
-//
-// NLS basics (Locale and Language Ids)
-//
-typedef ULONG LCID;
-typedef PULONG PLCID;
-typedef USHORT LANGID;
-
-
-
-//
-// Large Integer Unions
-//
-#if defined(MIDL_PASS)
-typedef struct _LARGE_INTEGER {
-#else
-typedef union _LARGE_INTEGER {
-    _ANONYMOUS_STRUCT struct
-    {
-        ULONG LowPart;
-        LONG HighPart;
-    } DUMMYSTRUCTNAME;
-    struct
-    {
-        ULONG LowPart;
-        LONG HighPart;
-    } u;
-#endif //MIDL_PASS
-    LONGLONG QuadPart;
-} LARGE_INTEGER, *PLARGE_INTEGER;
-
-#if defined(MIDL_PASS)
-typedef struct _ULARGE_INTEGER {
-#else
-typedef union _ULARGE_INTEGER {
-    _ANONYMOUS_STRUCT struct
-    {
-        ULONG LowPart;
-        ULONG HighPart;
-    } DUMMYSTRUCTNAME;
-    struct
-    {
-        ULONG LowPart;
-        ULONG HighPart;
-    } u;
-#endif //MIDL_PASS
-    ULONGLONG QuadPart;
-} ULARGE_INTEGER, *PULARGE_INTEGER;
-
-//
-// Physical Addresses are always treated as 64-bit wide
-//
-typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS;
-
-
-
-//
-// Locally Unique Identifier
-//
-typedef struct _LUID {
-    ULONG LowPart;
-    LONG HighPart;
-} LUID, *PLUID;
-
-
-
-//
-// Native API Return Value Macros
-//
-#define NT_SUCCESS(Status)              (((NTSTATUS)(Status)) >= 0)
-#define NT_INFORMATION(Status)          ((((ULONG)(Status)) >> 30) == 1)
-#define NT_WARNING(Status)              ((((ULONG)(Status)) >> 30) == 2)
-#define NT_ERROR(Status)                ((((ULONG)(Status)) >> 30) == 3)
-
-
-
-//
-// String Types
-//
-typedef struct _UNICODE_STRING {
-  USHORT Length;
-  USHORT MaximumLength;
-  PWSTR  Buffer;
-} UNICODE_STRING, *PUNICODE_STRING;
-typedef const UNICODE_STRING* PCUNICODE_STRING;
-#define UNICODE_NULL ((WCHAR)0)
-
-typedef struct _CSTRING {
-  USHORT Length;
-  USHORT MaximumLength;
-  CONST CHAR *Buffer;
-} CSTRING, *PCSTRING;
-#define ANSI_NULL ((CHAR)0)
-
-typedef struct _STRING {
-  USHORT Length;
-  USHORT MaximumLength;
-  PCHAR  Buffer;
-} STRING, *PSTRING;
-
-typedef STRING ANSI_STRING;
-typedef PSTRING PANSI_STRING;
-typedef STRING OEM_STRING;
-typedef PSTRING POEM_STRING;
-typedef CONST STRING* PCOEM_STRING;
-typedef STRING CANSI_STRING;
-typedef PSTRING PCANSI_STRING;
-
-typedef struct _STRING32 {
-    USHORT   Length;
-    USHORT   MaximumLength;
-    ULONG  Buffer;
-} STRING32, *PSTRING32, 
-  UNICODE_STRING32, *PUNICODE_STRING32, 
-  ANSI_STRING32, *PANSI_STRING32;
-
-typedef struct _STRING64 {
-    USHORT   Length;
-    USHORT   MaximumLength;
-    ULONGLONG  Buffer;
-} STRING64, *PSTRING64,
-  UNICODE_STRING64, *PUNICODE_STRING64, 
-  ANSI_STRING64, *PANSI_STRING64;
-
-//
-// LangID and NLS
-//
-#define MAKELANGID(p, s)       ((((USHORT)(s)) << 10) | (USHORT)(p))
-#define PRIMARYLANGID(lgid)    ((USHORT)(lgid) & 0x3ff)
-#define SUBLANGID(lgid)        ((USHORT)(lgid) >> 10)
-
-#define NLS_VALID_LOCALE_MASK  0x000fffff
-
-#define MAKELCID(lgid, srtid)  ((ULONG)((((ULONG)((USHORT)(srtid))) << 16) |  \
-                                         ((ULONG)((USHORT)(lgid)))))
-#define MAKESORTLCID(lgid, srtid, ver)                                            \
-                               ((ULONG)((MAKELCID(lgid, srtid)) |             \
-                                    (((ULONG)((USHORT)(ver))) << 20)))
-#define LANGIDFROMLCID(lcid)   ((USHORT)(lcid))
-#define SORTIDFROMLCID(lcid)   ((USHORT)((((ULONG)(lcid)) >> 16) & 0xf))
-#define SORTVERSIONFROMLCID(lcid)  ((USHORT)((((ULONG)(lcid)) >> 20) & 0xf))
-
-
-
-//
-// Object Attributes
-//
-typedef struct _OBJECT_ATTRIBUTES {
-  ULONG Length;
-  HANDLE RootDirectory;
-  PUNICODE_STRING ObjectName;
-  ULONG Attributes;
-  PVOID SecurityDescriptor;
-  PVOID SecurityQualityOfService;
-} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
-typedef CONST OBJECT_ATTRIBUTES *PCOBJECT_ATTRIBUTES;
-
-//
-// Values for the Attributes member
-//
-#define OBJ_INHERIT             0x00000002
-#define OBJ_PERMANENT           0x00000010
-#define OBJ_EXCLUSIVE           0x00000020
-#define OBJ_CASE_INSENSITIVE    0x00000040
-#define OBJ_OPENIF              0x00000080
-#define OBJ_OPENLINK            0x00000100
-#define OBJ_KERNEL_HANDLE       0x00000200
-#define OBJ_FORCE_ACCESS_CHECK  0x00000400
-#define OBJ_VALID_ATTRIBUTES    0x000007F2
-
-//
-// Helper Macro
-//
-#define InitializeObjectAttributes(p,n,a,r,s) { \
-  (p)->Length = sizeof(OBJECT_ATTRIBUTES); \
-  (p)->RootDirectory = (r); \
-  (p)->Attributes = (a); \
-  (p)->ObjectName = (n); \
-  (p)->SecurityDescriptor = (s); \
-  (p)->SecurityQualityOfService = NULL; \
-}
-
-
-
-//
-// Product Types
-//
-typedef enum _NT_PRODUCT_TYPE {
-	NtProductWinNt = 1,
-	NtProductLanManNt,
-	NtProductServer
-} NT_PRODUCT_TYPE, *PNT_PRODUCT_TYPE;
-
-
-
-//
-// Doubly Linked Lists
-//
-typedef struct _LIST_ENTRY {
-   struct _LIST_ENTRY *Flink;
-   struct _LIST_ENTRY *Blink;
-} LIST_ENTRY, *PLIST_ENTRY, *RESTRICTED_POINTER PRLIST_ENTRY;
-
-typedef struct LIST_ENTRY32
-{
-    ULONG Flink;
-    ULONG Blink;
-} LIST_ENTRY32, *PLIST_ENTRY32;
-
-typedef struct LIST_ENTRY64
-{
-    ULONGLONG Flink;
-    ULONGLONG Blink;
-} LIST_ENTRY64, *PLIST_ENTRY64;
-
-//
-// Singly Linked Lists
-//
-typedef struct _SINGLE_LIST_ENTRY {
-    struct _SINGLE_LIST_ENTRY *Next;
-} SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY;
-
-
-
-//
-// Helper Macros
-//
-#define RTL_CONSTANT_STRING(s) { sizeof(s)-sizeof((s)[0]), sizeof(s), s }
-
-#define RTL_FIELD_SIZE(type, field) (sizeof(((type *)0)->field))
-
-#define RTL_NUMBER_OF_V1(A) (sizeof(A)/sizeof((A)[0]))
-#define RTL_NUMBER_OF_V2(A) RTL_NUMBER_OF_V1(A)
-#ifdef ENABLE_RTL_NUMBER_OF_V2
-#define RTL_NUMBER_OF(A) RTL_NUMBER_OF_V2(A)
-#else
-#define RTL_NUMBER_OF(A) RTL_NUMBER_OF_V1(A)
-#endif
-#define ARRAYSIZE(A)    RTL_NUMBER_OF_V2(A)
-
-
-
-//
-// Type Limits
-//
-#define MINCHAR   0x80
-#define MAXCHAR   0x7f
-#define MINSHORT  0x8000
-#define MAXSHORT  0x7fff
-#define MINLONG   0x80000000
-#define MAXLONG   0x7fffffff
-#define MAXUCHAR  0xff
-#define MAXUSHORT 0xffff
-#define MAXULONG  0xffffffff
-#define MAXLONGLONG (0x7fffffffffffffffLL)
-
-
-
-//
-// Multiplication and Shift Operations
-//
-#define Int32x32To64(a,b) ((LONGLONG)(a)*(LONGLONG)(b))
-#define UInt32x32To64(a,b) ((DWORDLONG)(a)*(DWORDLONG)(b))
-#define Int64ShllMod32(a,b) ((DWORDLONG)(a)<<(b))
-#define Int64ShraMod32(a,b) ((LONGLONG)(a)>>(b))
-#define Int64ShrlMod32(a,b) ((DWORDLONG)(a)>>(b))
-
-
-
-//
-// C_ASSERT Definition
-//
-#define C_ASSERT(expr) extern char (*c_assert(void)) [(expr) ? 1 : -1]
-
-
-
-//
-//  Primary language IDs.
-//
-#define LANG_NEUTRAL                     0x00
-#define LANG_INVARIANT                   0x7f
-
-#define LANG_AFRIKAANS                   0x36
-#define LANG_ALBANIAN                    0x1c
-#define LANG_ALSATIAN                    0x84
-#define LANG_AMHARIC                     0x5e
-#define LANG_ARABIC                      0x01
-#define LANG_ARMENIAN                    0x2b
-#define LANG_ASSAMESE                    0x4d
-#define LANG_AZERI                       0x2c
-#define LANG_BASHKIR                     0x6d
-#define LANG_BASQUE                      0x2d
-#define LANG_BELARUSIAN                  0x23
-#define LANG_BENGALI                     0x45
-#define LANG_BRETON                      0x7e
-#define LANG_BOSNIAN                     0x1a
-#define LANG_BOSNIAN_NEUTRAL           0x781a
-#define LANG_BULGARIAN                   0x02
-#define LANG_CATALAN                     0x03
-#define LANG_CHINESE                     0x04
-#define LANG_CHINESE_SIMPLIFIED          0x04
-#define LANG_CHINESE_TRADITIONAL       0x7c04
-#define LANG_CORSICAN                    0x83
-#define LANG_CROATIAN                    0x1a
-#define LANG_CZECH                       0x05
-#define LANG_DANISH                      0x06
-#define LANG_DARI                        0x8c
-#define LANG_DIVEHI                      0x65
-#define LANG_DUTCH                       0x13
-#define LANG_ENGLISH                     0x09
-#define LANG_ESTONIAN                    0x25
-#define LANG_FAEROESE                    0x38
-#define LANG_FARSI                       0x29
-#define LANG_FILIPINO                    0x64
-#define LANG_FINNISH                     0x0b
-#define LANG_FRENCH                      0x0c
-#define LANG_FRISIAN                     0x62
-#define LANG_GALICIAN                    0x56
-#define LANG_GEORGIAN                    0x37
-#define LANG_GERMAN                      0x07
-#define LANG_GREEK                       0x08
-#define LANG_GREENLANDIC                 0x6f
-#define LANG_GUJARATI                    0x47
-#define LANG_HAUSA                       0x68
-#define LANG_HEBREW                      0x0d
-#define LANG_HINDI                       0x39
-#define LANG_HUNGARIAN                   0x0e
-#define LANG_ICELANDIC                   0x0f
-#define LANG_IGBO                        0x70
-#define LANG_INDONESIAN                  0x21
-#define LANG_INUKTITUT                   0x5d
-#define LANG_IRISH                       0x3c
-#define LANG_ITALIAN                     0x10
-#define LANG_JAPANESE                    0x11
-#define LANG_KANNADA                     0x4b
-#define LANG_KASHMIRI                    0x60
-#define LANG_KAZAK                       0x3f
-#define LANG_KHMER                       0x53
-#define LANG_KICHE                       0x86
-#define LANG_KINYARWANDA                 0x87
-#define LANG_KONKANI                     0x57
-#define LANG_KOREAN                      0x12
-#define LANG_KYRGYZ                      0x40
-#define LANG_LAO                         0x54
-#define LANG_LATVIAN                     0x26
-#define LANG_LITHUANIAN                  0x27
-#define LANG_LOWER_SORBIAN               0x2e
-#define LANG_LUXEMBOURGISH               0x6e
-#define LANG_MACEDONIAN                  0x2f
-#define LANG_MALAY                       0x3e
-#define LANG_MALAYALAM                   0x4c
-#define LANG_MALTESE                     0x3a
-#define LANG_MANIPURI                    0x58
-#define LANG_MAORI                       0x81
-#define LANG_MAPUDUNGUN                  0x7a
-#define LANG_MARATHI                     0x4e
-#define LANG_MOHAWK                      0x7c
-#define LANG_MONGOLIAN                   0x50
-#define LANG_NEPALI                      0x61
-#define LANG_NORWEGIAN                   0x14
-#define LANG_OCCITAN                     0x82
-#define LANG_ORIYA                       0x48
-#define LANG_PASHTO                      0x63
-#define LANG_PERSIAN                     0x29
-#define LANG_POLISH                      0x15
-#define LANG_PORTUGUESE                  0x16
-#define LANG_PUNJABI                     0x46
-#define LANG_QUECHUA                     0x6b
-#define LANG_ROMANIAN                    0x18
-#define LANG_ROMANSH                     0x17
-#define LANG_RUSSIAN                     0x19
-#define LANG_SAMI                        0x3b
-#define LANG_SANSKRIT                    0x4f
-#define LANG_SERBIAN                     0x1a
-#define LANG_SERBIAN_NEUTRAL           0x7c1a
-#define LANG_SINDHI                      0x59
-#define LANG_SINHALESE                   0x5b
-#define LANG_SLOVAK                      0x1b
-#define LANG_SLOVENIAN                   0x24
-#define LANG_SOTHO                       0x6c
-#define LANG_SPANISH                     0x0a
-#define LANG_SWAHILI                     0x41
-#define LANG_SWEDISH                     0x1d
-#define LANG_SYRIAC                      0x5a
-#define LANG_TAJIK                       0x28
-#define LANG_TAMAZIGHT                   0x5f
-#define LANG_TAMIL                       0x49
-#define LANG_TATAR                       0x44
-#define LANG_TELUGU                      0x4a
-#define LANG_THAI                        0x1e
-#define LANG_TIBETAN                     0x51
-#define LANG_TIGRIGNA                    0x73
-#define LANG_TSWANA                      0x32
-#define LANG_TURKISH                     0x1f
-#define LANG_TURKMEN                     0x42
-#define LANG_UIGHUR                      0x80
-#define LANG_UKRAINIAN                   0x22
-#define LANG_UPPER_SORBIAN               0x2e
-#define LANG_URDU                        0x20
-#define LANG_UZBEK                       0x43
-#define LANG_VIETNAMESE                  0x2a
-#define LANG_WELSH                       0x52
-#define LANG_WOLOF                       0x88
-#define LANG_XHOSA                       0x34
-#define LANG_YAKUT                       0x85
-#define LANG_YI                          0x78
-#define LANG_YORUBA                      0x6a
-#define LANG_ZULU                        0x35
-
-
-
-#endif /* _NTDEF_H */

Modified: branches/header-work/include/ddk/wdm.h
URL: http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/wdm.h?rev=45789&r1=45788&r2=45789&view=diff
==============================================================================
--- branches/header-work/include/ddk/wdm.h [iso-8859-1] (original)
+++ branches/header-work/include/ddk/wdm.h [iso-8859-1] Wed Mar  3 17:03:14 2010
@@ -1,5 +1,4 @@
-#ifndef _WDMDDK_
-#define _WDMDDK_
+#pragma once
 
 /* Helper macro to enable gcc's extension.  */
 #ifndef __GNU_EXTENSION
@@ -1476,11 +1475,14 @@
 );
 #endif
 
-#if (NTDDI_VERSION >= NTDDI_WS03SP1)
+/* FIXME : #if (NTDDI_VERSION >= NTDDI_WS03SP1) */
 NTKERNELAPI
 BOOLEAN
 KeAreAllApcsDisabled(
   VOID);
+/* #endif (NTDDI_VERSION >= NTDDI_WS03SP1) */
+
+#if (NTDDI_VERSION >= NTDDI_WS03SP1)
 
 /* Guarded Mutex routines */
 
@@ -1549,18 +1551,6 @@
   OUT PRKEVENT  Event,
   IN EVENT_TYPE  Type,
   IN BOOLEAN  State);
-
-FORCEINLINE
-VOID
-ExInitializeFastMutex(
-  OUT PFAST_MUTEX FastMutex)
-{
-  FastMutex->Count = FM_LOCK_BIT;
-  FastMutex->Owner = NULL;
-  FastMutex->Contention = 0;
-  KeInitializeEvent(&FastMutex->Event, SynchronizationEvent, FALSE);
-  return;
-}
 
 #if DBG
 
@@ -3853,13 +3843,12 @@
   CHAR  EaName[1];
 } FILE_FULL_EA_INFORMATION, *PFILE_FULL_EA_INFORMATION;
 
-typedef struct _FAST_MUTEX
-{
-    LONG Count;
-    PKTHREAD Owner;
-    ULONG Contention;
-    KEVENT Gate;
-    ULONG OldIrql;
+typedef struct _FAST_MUTEX {
+  volatile LONG Count;
+  PKTHREAD Owner;
+  ULONG Contention;
+  KEVENT Event;
+  ULONG OldIrql;
 } FAST_MUTEX, *PFAST_MUTEX;
 
 typedef ULONG_PTR ERESOURCE_THREAD, *PERESOURCE_THREAD;
@@ -7320,6 +7309,18 @@
   (Item)->List.Flink = NULL; \
 }
 
+FORCEINLINE
+VOID
+ExInitializeFastMutex(
+  OUT PFAST_MUTEX FastMutex)
+{
+  FastMutex->Count = FM_LOCK_BIT;
+  FastMutex->Owner = NULL;
+  FastMutex->Contention = 0;
+  KeInitializeEvent(&FastMutex->Event, SynchronizationEvent, FALSE);
+  return;
+}
+
 #if (NTDDI_VERSION >= NTDDI_WIN2K)
 
 NTKERNELAPI
@@ -7924,5 +7925,3 @@
 #ifdef __cplusplus
 }
 #endif
-
-#endif // _WDMDDK_

Modified: branches/header-work/include/ddk/winddk.h
URL: http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/winddk.h?rev=45789&r1=45788&r2=45789&view=diff
==============================================================================
--- branches/header-work/include/ddk/winddk.h [iso-8859-1] (original)
+++ branches/header-work/include/ddk/winddk.h [iso-8859-1] Wed Mar  3 17:03:14 2010
@@ -1224,11 +1224,6 @@
     struct _RTL_RANGE *Range
 );
 
-typedef enum _EVENT_TYPE {
-  NotificationEvent,
-  SynchronizationEvent
-} EVENT_TYPE;
-
 typedef struct _CONFIGURATION_INFORMATION {
   ULONG  DiskCount;
   ULONG  FloppyCount;

Copied: branches/header-work/include/psdk/ntdef.h (from r45734, branches/header-work/include/ddk/ntdef.h)
URL: http://svn.reactos.org/svn/reactos/branches/header-work/include/psdk/ntdef.h?p2=branches/header-work/include/psdk/ntdef.h&p1=branches/header-work/include/ddk/ntdef.h&r1=45734&r2=45789&rev=45789&view=diff
==============================================================================
--- branches/header-work/include/ddk/ntdef.h [iso-8859-1] (original)
+++ branches/header-work/include/psdk/ntdef.h [iso-8859-1] Wed Mar  3 17:03:14 2010
@@ -87,6 +87,10 @@
 #endif
 #endif // NULL
 
+typedef enum _EVENT_TYPE {
+  NotificationEvent,
+  SynchronizationEvent
+} EVENT_TYPE;
 
 //
 // FIXME

Modified: branches/header-work/include/psdk/winbase.h
URL: http://svn.reactos.org/svn/reactos/branches/header-work/include/psdk/winbase.h?rev=45789&r1=45788&r2=45789&view=diff
==============================================================================
--- branches/header-work/include/psdk/winbase.h [iso-8859-1] (original)
+++ branches/header-work/include/psdk/winbase.h [iso-8859-1] Wed Mar  3 17:03:14 2010
@@ -1807,9 +1807,7 @@
 DWORD WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD);
 BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
 BOOL WINAPI InitializeSid (PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
-#if !defined(__WINDDK_H) && _WIN32_WINNT >= 0x0501
-VOID WINAPI InitializeSListHead(PSLIST_HEADER);
-#endif
+
 #if (_WIN32_WINNT >= 0x0600)
 VOID WINAPI InitializeSRWLock(PSRWLOCK);
 #endif
@@ -1881,7 +1879,15 @@
 
 #endif // !(defined (_M_AMD64) || defined (_M_IA64))
 
-VOID WINAPI InitializeSListHead(PSLIST_HEADER);
+#if defined(_SLIST_HEADER_) && !defined(_NTOSP_)
+
+WINBASEAPI
+VOID
+WINAPI
+InitializeSListHead (
+  IN OUT PSLIST_HEADER ListHead);
+#endif
+
 USHORT WINAPI QueryDepthSList(PSLIST_HEADER);
 
 #ifdef _MSC_VER

Modified: branches/header-work/ntoskrnl/include/internal/ex.h
URL: http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/include/internal/ex.h?rev=45789&r1=45788&r2=45789&view=diff
==============================================================================
--- branches/header-work/ntoskrnl/include/internal/ex.h [iso-8859-1] (original)
+++ branches/header-work/ntoskrnl/include/internal/ex.h [iso-8859-1] Wed Mar  3 17:03:14 2010
@@ -1251,7 +1251,7 @@
     if (InterlockedIncrement(&FastMutex->Count) <= 0)
     {
         /* Someone was waiting for it, signal the waiter */
-        KeSetEventBoostPriority(&FastMutex->Gate, NULL);
+        KeSetEventBoostPriority(&FastMutex->Event, NULL);
     }
 }
 
@@ -1292,7 +1292,7 @@
     if (InterlockedIncrement(&FastMutex->Count) <= 0)
     {
         /* Someone was waiting for it, signal the waiter */
-        KeSetEventBoostPriority(&FastMutex->Gate, NULL);
+        KeSetEventBoostPriority(&FastMutex->Event, NULL);
     }
     
     /* Lower IRQL back */

Modified: branches/header-work/ntoskrnl/ke/eventobj.c
URL: http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/ke/eventobj.c?rev=45789&r1=45788&r2=45789&view=diff
==============================================================================
--- branches/header-work/ntoskrnl/ke/eventobj.c [iso-8859-1] (original)
+++ branches/header-work/ntoskrnl/ke/eventobj.c [iso-8859-1] Wed Mar  3 17:03:14 2010
@@ -32,7 +32,7 @@
  */
 VOID
 NTAPI
-KeInitializeEvent(IN PKEVENT Event,
+KeInitializeEvent(OUT PKEVENT Event,
                   IN EVENT_TYPE Type,
                   IN BOOLEAN State)
 {

Modified: branches/header-work/ntoskrnl/ke/wait.c
URL: http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/ke/wait.c?rev=45789&r1=45788&r2=45789&view=diff
==============================================================================
--- branches/header-work/ntoskrnl/ke/wait.c [iso-8859-1] (original)
+++ branches/header-work/ntoskrnl/ke/wait.c [iso-8859-1] Wed Mar  3 17:03:14 2010
@@ -110,7 +110,7 @@
     FastMutex->Contention++;
 
     /* Wait for the event */
-    KeWaitForSingleObject(&FastMutex->Gate,
+    KeWaitForSingleObject(&FastMutex->Event,
                           WrMutex,
                           KernelMode,
                           FALSE,




More information about the Ros-diffs mailing list