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/…
==============================================================================
--- 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…
==============================================================================
--- 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?r…
==============================================================================
--- 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.…
==============================================================================
--- 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.…
==============================================================================
--- 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/winbas…
==============================================================================
--- 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/in…
==============================================================================
--- 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/eventob…
==============================================================================
--- 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?…
==============================================================================
--- 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,