Author: tkreuzer Date: Wed Mar 10 05:16:52 2010 New Revision: 46050
URL: http://svn.reactos.org/svn/reactos?rev=46050&view=rev Log: [FREELDR] Define _BLDR_ for WDK header compatibility [HAL] Define _NTHALDLL_ for WDK header compatibility, get rif of DECLSPEC_IMPORT header hack [NDK/RTL] Fix some Rtl prototypes (PCHAR -> PCCH) [NDK] Fix ZwOpenEvent prototype [NTIFS] Fix definition of NTKERNELAPI, move some types, fix PRTL_ALLOCATE_STRING_ROUTINE, PRTL_REALLOCATE_STRING_ROUTINE, PRTL_FREE_STRING_ROUTINE, define CTL_CODE, DEVICE_TYPE_FROM_CTL_CODE, FILE_ANY_ACCESS, FILE_SPECIAL_ACCESS, FILE_READ_ACCESS, FILE_WRITE_ACCESS identical to wdm.h, remove duplicate RtlGenerate8dot3Name, remove ZwOpenEvent [NTPOAPI] Guard some types with #ifndef _PO_DDK_ [WDM] Create reactos compatible definition of NTKERNELAPI, add KDPC_WATCHDOG_INFORMATION, BATTERY_REPORTING_SCALE, fix ALIGN_UP_POINTER_BY, guard some types with #ifndef _PO_DDK_, update POWER_INFORMATION_LEVEL, make some FILE_DEVICE_ definitions identical to ntifs.h, fix HalAllocateCommonBuffer
Modified: branches/header-work/ (props changed) branches/header-work/boot/freeldr/freeldr/freeldr_arch.rbuild branches/header-work/boot/freeldr/freeldr/freeldr_base.rbuild branches/header-work/hal/halx86/hal.rbuild branches/header-work/hal/halx86/hal_generic.rbuild branches/header-work/hal/halx86/hal_generic_mp.rbuild branches/header-work/hal/halx86/hal_generic_up.rbuild branches/header-work/hal/halx86/halmps.rbuild branches/header-work/hal/halx86/halxbox.rbuild branches/header-work/hal/halx86/include/hal.h branches/header-work/include/ddk/ntifs.h branches/header-work/include/ddk/ntpoapi.h branches/header-work/include/ddk/wdm.h branches/header-work/include/ddk/winddk.h branches/header-work/include/ndk/exfuncs.h branches/header-work/include/ndk/rtlfuncs.h branches/header-work/lib/rtl/nls.c
Propchange: branches/header-work/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Mar 10 05:16:52 2010 @@ -1,2 +1,2 @@ /branches/ros-amd64-bringup/reactos:34711-34712,34743,34780-34782,34812,34839,34842,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35683,35739,35746,35762,35771,35777,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36013,36172,36360,36388-36389,36445,36502-36503,36505,36570,36614,36899,36930,36936,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38148-38151,38264-38265,38268,38355,39151,39333,39345,39639,40122-40123,40125,40128,40155,40247,40324,40753,40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41082-41086,41097-41098,41101,41449,41479,41484-41485,41499,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43838-43840,43857-43858,43860,43905-43907,43969,44002,44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338,44389,44391,44426,44460,44530,44540,44601 -/trunk/reactos:45691-46019 +/trunk/reactos:45691-46019,46021-46023
Modified: branches/header-work/boot/freeldr/freeldr/freeldr_arch.rbuild URL: http://svn.reactos.org/svn/reactos/branches/header-work/boot/freeldr/freeldr... ============================================================================== --- branches/header-work/boot/freeldr/freeldr/freeldr_arch.rbuild [iso-8859-1] (original) +++ branches/header-work/boot/freeldr/freeldr/freeldr_arch.rbuild [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -6,6 +6,7 @@ <include base="ntoskrnl">include</include> <include base="ReactOS">include/reactos/libs</include> <include base="ReactOS">include/reactos/elf</include> + <define name="_BLDR_" /> <define name="_NTHAL_" /> <define name="_NTSYSTEM_" /> <directory name="arch">
Modified: branches/header-work/boot/freeldr/freeldr/freeldr_base.rbuild URL: http://svn.reactos.org/svn/reactos/branches/header-work/boot/freeldr/freeldr... ============================================================================== --- branches/header-work/boot/freeldr/freeldr/freeldr_base.rbuild [iso-8859-1] (original) +++ branches/header-work/boot/freeldr/freeldr/freeldr_base.rbuild [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -5,6 +5,7 @@ <include base="freeldr_base">cache</include> <include base="cmlib">.</include> <include base="ntoskrnl">include</include> + <define name="_BLDR_" /> <define name="_NTHAL_" /> <define name="_NTSYSTEM_" /> <directory name="arcemul">
Modified: branches/header-work/hal/halx86/hal.rbuild URL: http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/hal.rbuil... ============================================================================== --- branches/header-work/hal/halx86/hal.rbuild [iso-8859-1] (original) +++ branches/header-work/hal/halx86/hal.rbuild [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -6,6 +6,7 @@ <bootstrap installbase="$(CDOUTPUT)" /> <include>include</include> <include base="ntoskrnl">include</include> + <define name="_NTHALDLL_" /> <define name="_NTHAL_" /> <library>hal_generic</library> <library>hal_generic_up</library>
Modified: branches/header-work/hal/halx86/hal_generic.rbuild URL: http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/hal_gener... ============================================================================== --- branches/header-work/hal/halx86/hal_generic.rbuild [iso-8859-1] (original) +++ branches/header-work/hal/halx86/hal_generic.rbuild [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -4,6 +4,7 @@ <module name="hal_generic" type="objectlibrary"> <include>include</include> <include base="ntoskrnl">include</include> + <define name="_NTHALDLL_" /> <define name="_NTHAL_" /> <directory name="generic"> <directory name="bus"> @@ -38,8 +39,9 @@ <module name="mini_hal" type="objectlibrary"> <include>include</include> <include base="ntoskrnl">include</include> + <define name="_NTHALDLL_" /> <define name="_NTHAL_" /> - <define name="_NTSYSTEM_" /> + <define name="_BLDR_" /> <define name="_MINIHAL_" /> <directory name="generic"> <directory name="bus">
Modified: branches/header-work/hal/halx86/hal_generic_mp.rbuild URL: http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/hal_gener... ============================================================================== --- branches/header-work/hal/halx86/hal_generic_mp.rbuild [iso-8859-1] (original) +++ branches/header-work/hal/halx86/hal_generic_mp.rbuild [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -4,6 +4,7 @@ <module name="hal_generic_mp" type="objectlibrary"> <include>include</include> <include base="ntoskrnl">include</include> + <define name="_NTHALDLL_" /> <define name="_NTHAL_" /> <define name="CONFIG_SMP" /> <directory name="mp">
Modified: branches/header-work/hal/halx86/hal_generic_up.rbuild URL: http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/hal_gener... ============================================================================== --- branches/header-work/hal/halx86/hal_generic_up.rbuild [iso-8859-1] (original) +++ branches/header-work/hal/halx86/hal_generic_up.rbuild [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -4,6 +4,7 @@ <module name="hal_generic_up" type="objectlibrary"> <include>include</include> <include base="ntoskrnl">include</include> + <define name="_NTHALDLL_" /> <define name="_NTHAL_" /> <directory name="generic"> <file>pic.c</file>
Modified: branches/header-work/hal/halx86/halmps.rbuild URL: http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/halmps.rb... ============================================================================== --- branches/header-work/hal/halx86/halmps.rbuild [iso-8859-1] (original) +++ branches/header-work/hal/halx86/halmps.rbuild [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -7,6 +7,7 @@ <include>include</include> <include base="ntoskrnl">include</include> <define name="CONFIG_SMP" /> + <define name="_NTHALDLL_" /> <define name="_NTHAL_" /> <library>hal_generic</library> <library>hal_generic_mp</library>
Modified: branches/header-work/hal/halx86/halxbox.rbuild URL: http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/halxbox.r... ============================================================================== --- branches/header-work/hal/halx86/halxbox.rbuild [iso-8859-1] (original) +++ branches/header-work/hal/halx86/halxbox.rbuild [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -5,6 +5,7 @@ <importlibrary base="hal" definition="../hal.pspec" /> <include>include</include> <include base="ntoskrnl">include</include> + <define name="_NTHALDLL_" /> <define name="_NTHAL_" /> <define name="SARCH_XBOX" /> <library>hal_generic</library>
Modified: branches/header-work/hal/halx86/include/hal.h URL: http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/include/h... ============================================================================== --- branches/header-work/hal/halx86/include/hal.h [iso-8859-1] (original) +++ branches/header-work/hal/halx86/include/hal.h [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -14,14 +14,12 @@ /* WDK HAL Compilation hack */ #include <excpt.h> #include <ntdef.h> -#undef _NTHAL_ -#undef DECLSPEC_IMPORT -#define DECLSPEC_IMPORT #ifndef _MINIHAL_ #undef NTSYSAPI #define NTSYSAPI __declspec(dllimport) #else -#undef _NTSYSTEM_ +#undef NTSYSAPI +#define NTSYSAPI #endif
/* IFS/DDK/NDK Headers */
Modified: branches/header-work/include/ddk/ntifs.h URL: http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/ntifs.h?... ============================================================================== --- branches/header-work/include/ddk/ntifs.h [iso-8859-1] (original) +++ branches/header-work/include/ddk/ntifs.h [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -44,7 +44,8 @@ #define NTHALAPI #endif
-#if !defined(_NTOSKRNL_) /* For ReactOS */ +/* For ReactOS */ +#if !defined(_NTOSKRNL_) && !defined(_BLDR_) #define NTKERNELAPI DECLSPEC_IMPORT #else #define NTKERNELAPI @@ -1484,6 +1485,16 @@ IN PCWCH UnicodeString, IN ULONG BytesInUnicodeString);
+typedef struct _GENERATE_NAME_CONTEXT { + USHORT Checksum; + BOOLEAN CheckSumInserted; + UCHAR NameLength; + WCHAR NameBuffer[8]; + ULONG ExtensionLength; + WCHAR ExtensionBuffer[4]; + ULONG LastIndexValue; +} GENERATE_NAME_CONTEXT, *PGENERATE_NAME_CONTEXT; + #if (NTDDI_VERSION >= NTDDI_VISTASP1) NTSYSAPI NTSTATUS @@ -1518,6 +1529,26 @@ RtlIsValidOemCharacter( IN OUT PWCHAR Char);
+typedef struct _RTL_SPLAY_LINKS { + struct _RTL_SPLAY_LINKS *Parent; + struct _RTL_SPLAY_LINKS *LeftChild; + struct _RTL_SPLAY_LINKS *RightChild; +} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS; + +typedef struct _PREFIX_TABLE_ENTRY { + CSHORT NodeTypeCode; + CSHORT NameLength; + struct _PREFIX_TABLE_ENTRY *NextPrefixTree; + RTL_SPLAY_LINKS Links; + PSTRING Prefix; +} PREFIX_TABLE_ENTRY, *PPREFIX_TABLE_ENTRY; + +typedef struct _PREFIX_TABLE { + CSHORT NodeTypeCode; + CSHORT NameLength; + PPREFIX_TABLE_ENTRY NextPrefixTree; +} PREFIX_TABLE, *PPREFIX_TABLE; + NTSYSAPI VOID NTAPI @@ -1545,6 +1576,22 @@ PfxFindPrefix( IN PPREFIX_TABLE PrefixTable, IN PSTRING FullName); + +typedef struct _UNICODE_PREFIX_TABLE_ENTRY { + CSHORT NodeTypeCode; + CSHORT NameLength; + struct _UNICODE_PREFIX_TABLE_ENTRY *NextPrefixTree; + struct _UNICODE_PREFIX_TABLE_ENTRY *CaseMatch; + RTL_SPLAY_LINKS Links; + PUNICODE_STRING Prefix; +} UNICODE_PREFIX_TABLE_ENTRY, *PUNICODE_PREFIX_TABLE_ENTRY; + +typedef struct _UNICODE_PREFIX_TABLE { + CSHORT NodeTypeCode; + CSHORT NameLength; + PUNICODE_PREFIX_TABLE_ENTRY NextPrefixTree; + PUNICODE_PREFIX_TABLE_ENTRY LastNextEntry; +} UNICODE_PREFIX_TABLE, *PUNICODE_PREFIX_TABLE;
NTSYSAPI VOID @@ -1962,6 +2009,16 @@ IN PUCHAR EndOfCompressedBufferPlus1, OUT PUCHAR *ChunkBuffer, IN ULONG ChunkSize); + +typedef struct _COMPRESSED_DATA_INFO { + USHORT CompressionFormatAndEngine; + UCHAR CompressionUnitShift; + UCHAR ChunkShift; + UCHAR ClusterShift; + UCHAR Reserved; + USHORT NumberOfChunks; + ULONG CompressedChunkSizes[ANYSIZE_ARRAY]; +} COMPRESSED_DATA_INFO, *PCOMPRESSED_DATA_INFO;
NTSYSAPI NTSTATUS @@ -2293,7 +2350,7 @@ IN ULONG TagBase, IN ULONG Tag) { - __assume_bound(TagBase); + //__assume_bound(TagBase); // FIXME return ((ULONG)((TagBase) + ((Tag) << HEAP_TAG_SHIFT))); }
@@ -2316,20 +2373,20 @@ )
typedef PVOID -(NTAPI *PRTL_ALLOCATE_STRING_ROUTINE ( +(NTAPI *PRTL_ALLOCATE_STRING_ROUTINE)( IN SIZE_T NumberOfBytes);
#if _WIN32_WINNT >= 0x0600
typedef PVOID -(NTAPI *PRTL_REALLOCATE_STRING_ROUTINE ( +(NTAPI *PRTL_REALLOCATE_STRING_ROUTINE)( IN SIZE_T NumberOfBytes, IN PVOID Buffer);
#endif
typedef VOID -(NTAPI *PRTL_FREE_STRING_ROUTINE ( +(NTAPI *PRTL_FREE_STRING_ROUTINE)( IN PVOID Buffer);
extern const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine; @@ -2338,46 +2395,6 @@ #if _WIN32_WINNT >= 0x0600 extern const PRTL_REALLOCATE_STRING_ROUTINE RtlReallocateStringRoutine; #endif - -typedef struct _GENERATE_NAME_CONTEXT { - USHORT Checksum; - BOOLEAN CheckSumInserted; - UCHAR NameLength; - WCHAR NameBuffer[8]; - ULONG ExtensionLength; - WCHAR ExtensionBuffer[4]; - ULONG LastIndexValue; -} GENERATE_NAME_CONTEXT, *PGENERATE_NAME_CONTEXT; - -typedef struct _PREFIX_TABLE_ENTRY { - CSHORT NodeTypeCode; - CSHORT NameLength; - struct _PREFIX_TABLE_ENTRY *NextPrefixTree; - RTL_SPLAY_LINKS Links; - PSTRING Prefix; -} PREFIX_TABLE_ENTRY, *PPREFIX_TABLE_ENTRY; - -typedef struct _PREFIX_TABLE { - CSHORT NodeTypeCode; - CSHORT NameLength; - PPREFIX_TABLE_ENTRY NextPrefixTree; -} PREFIX_TABLE, *PPREFIX_TABLE; - -typedef struct _UNICODE_PREFIX_TABLE_ENTRY { - CSHORT NodeTypeCode; - CSHORT NameLength; - struct _UNICODE_PREFIX_TABLE_ENTRY *NextPrefixTree; - struct _UNICODE_PREFIX_TABLE_ENTRY *CaseMatch; - RTL_SPLAY_LINKS Links; - PUNICODE_STRING Prefix; -} UNICODE_PREFIX_TABLE_ENTRY, *PUNICODE_PREFIX_TABLE_ENTRY; - -typedef struct _UNICODE_PREFIX_TABLE { - CSHORT NodeTypeCode; - CSHORT NameLength; - PUNICODE_PREFIX_TABLE_ENTRY NextPrefixTree; - PUNICODE_PREFIX_TABLE_ENTRY LastNextEntry; -} UNICODE_PREFIX_TABLE, *PUNICODE_PREFIX_TABLE;
#define COMPRESSION_FORMAT_NONE (0x0000) #define COMPRESSION_FORMAT_DEFAULT (0x0001) @@ -2385,16 +2402,6 @@ #define COMPRESSION_ENGINE_STANDARD (0x0000) #define COMPRESSION_ENGINE_MAXIMUM (0x0100) #define COMPRESSION_ENGINE_HIBER (0x0200) - -typedef struct _COMPRESSED_DATA_INFO { - USHORT CompressionFormatAndEngine; - UCHAR CompressionUnitShift; - UCHAR ChunkShift; - UCHAR ClusterShift; - UCHAR Reserved; - USHORT NumberOfChunks; - ULONG CompressedChunkSizes[ANYSIZE_ARRAY]; -} COMPRESSED_DATA_INFO, *PCOMPRESSED_DATA_INFO;
#define RtlOffsetToPointer(B,O) ((PCHAR)( ((PCHAR)(B)) + ((ULONG_PTR)(O)) )) #define RtlPointerToOffset(B,P) ((ULONG)( ((PCHAR)(P)) - ((PCHAR)(B)) )) @@ -2473,10 +2480,11 @@ #define FILE_DEVICE_BIOMETRIC 0x00000044 #define FILE_DEVICE_PMI 0x00000045
-#define CTL_CODE( DeviceType, Function, Method, Access ) ( \ - ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \ -) -#define DEVICE_TYPE_FROM_CTL_CODE(ctrlCode) (((ULONG)(ctrlCode & 0xffff0000)) >> 16) +#define CTL_CODE(DeviceType, Function, Method, Access) \ + (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method)) + +#define DEVICE_TYPE_FROM_CTL_CODE(ctl) (((ULONG) (ctl & 0xffff0000)) >> 16) + #define METHOD_FROM_CTL_CODE(ctrlCode) ((ULONG)(ctrlCode & 3))
#define METHOD_BUFFERED 0 @@ -2486,10 +2494,10 @@ #define METHOD_DIRECT_TO_HARDWARE METHOD_IN_DIRECT #define METHOD_DIRECT_FROM_HARDWARE METHOD_OUT_DIRECT
-#define FILE_ANY_ACCESS 0 -#define FILE_SPECIAL_ACCESS (FILE_ANY_ACCESS) -#define FILE_READ_ACCESS ( 0x0001 ) -#define FILE_WRITE_ACCESS ( 0x0002 ) +#define FILE_ANY_ACCESS 0x00000000 +#define FILE_SPECIAL_ACCESS FILE_ANY_ACCESS +#define FILE_READ_ACCESS 0x00000001 +#define FILE_WRITE_ACCESS 0x00000002
typedef ULONG LSA_OPERATIONAL_MODE, *PLSA_OPERATIONAL_MODE;
@@ -5624,12 +5632,6 @@ ULONG LengthAccepted; } QUERY_PATH_RESPONSE, *PQUERY_PATH_RESPONSE;
-typedef struct _RTL_SPLAY_LINKS { - struct _RTL_SPLAY_LINKS *Parent; - struct _RTL_SPLAY_LINKS *LeftChild; - struct _RTL_SPLAY_LINKS *RightChild; -} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS; - typedef struct _RTL_BALANCED_LINKS { struct _RTL_BALANCED_LINKS *Parent; @@ -8238,16 +8240,6 @@ NTSYSAPI VOID NTAPI -RtlGenerate8dot3Name ( - IN PUNICODE_STRING Name, - IN BOOLEAN AllowExtendedCharacters, - IN OUT PGENERATE_NAME_CONTEXT Context, - OUT PUNICODE_STRING Name8dot3 -); - -NTSYSAPI -VOID -NTAPI RtlSecondsSince1970ToTime ( IN ULONG SecondsSince1970, OUT PLARGE_INTEGER Time @@ -8951,15 +8943,6 @@ NTSYSAPI NTSTATUS NTAPI -ZwOpenEvent ( - OUT PHANDLE EventHandle, - IN ACCESS_MASK DesiredAccess, - IN POBJECT_ATTRIBUTES ObjectAttributes -); - -NTSYSAPI -NTSTATUS -NTAPI ZwOpenProcess ( OUT PHANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess,
Modified: branches/header-work/include/ddk/ntpoapi.h URL: http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/ntpoapi.... ============================================================================== --- branches/header-work/include/ddk/ntpoapi.h [iso-8859-1] (original) +++ branches/header-work/include/ddk/ntpoapi.h [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -27,131 +27,8 @@ extern "C" { #endif
-#define POWER_PERF_SCALE 100 -#define PERF_LEVEL_TO_PERCENT(x) (((x) * 1000) / (POWER_PERF_SCALE * 10)) -#define PERCENT_TO_PERF_LEVEL(x) (((x) * POWER_PERF_SCALE * 10) / 1000) - -typedef struct { - ULONG Granularity; - ULONG Capacity; -} BATTERY_REPORTING_SCALE, *PBATTERY_REPORTING_SCALE; - -typedef struct _PROCESSOR_IDLE_TIMES { - ULONGLONG StartTime; - ULONGLONG EndTime; - ULONG IdleHandlerReserved[4]; -} PROCESSOR_IDLE_TIMES, *PPROCESSOR_IDLE_TIMES; - -typedef BOOLEAN -(FASTCALL*PPROCESSOR_IDLE_HANDLER)( - IN OUT PPROCESSOR_IDLE_TIMES IdleTimes); - -typedef struct _PROCESSOR_IDLE_HANDLER_INFO { - ULONG HardwareLatency; - PPROCESSOR_IDLE_HANDLER Handler; -} PROCESSOR_IDLE_HANDLER_INFO, *PPROCESSOR_IDLE_HANDLER_INFO; - -typedef VOID -(FASTCALL*PSET_PROCESSOR_THROTTLE)( - IN UCHAR Throttle); - -typedef NTSTATUS -(FASTCALL*PSET_PROCESSOR_THROTTLE2)( - IN UCHAR Throttle); - -#define MAX_IDLE_HANDLERS 3 - -typedef struct _PROCESSOR_STATE_HANDLER { - UCHAR ThrottleScale; - BOOLEAN ThrottleOnIdle; - PSET_PROCESSOR_THROTTLE SetThrottle; - ULONG NumIdleHandlers; - PROCESSOR_IDLE_HANDLER_INFO IdleHandler[MAX_IDLE_HANDLERS]; -} PROCESSOR_STATE_HANDLER, *PPROCESSOR_STATE_HANDLER; - -typedef enum _POWER_STATE_HANDLER_TYPE { - PowerStateSleeping1, - PowerStateSleeping2, - PowerStateSleeping3, - PowerStateSleeping4, - PowerStateSleeping4Firmware, - PowerStateShutdownReset, - PowerStateShutdownOff, - PowerStateMaximum -} POWER_STATE_HANDLER_TYPE, *PPOWER_STATE_HANDLER_TYPE; - -typedef NTSTATUS -(NTAPI*PENTER_STATE_SYSTEM_HANDLER)( - IN PVOID SystemContext); - -typedef NTSTATUS -(NTAPI*PENTER_STATE_HANDLER)( - IN PVOID Context, - IN PENTER_STATE_SYSTEM_HANDLER SystemHandler OPTIONAL, - IN PVOID SystemContext, - IN LONG NumberProcessors, - IN LONG volatile *Number); - -typedef struct _POWER_STATE_HANDLER { - POWER_STATE_HANDLER_TYPE Type; - BOOLEAN RtcWake; - UCHAR Spare[3]; - PENTER_STATE_HANDLER Handler; - PVOID Context; -} POWER_STATE_HANDLER, *PPOWER_STATE_HANDLER; - -typedef NTSTATUS -(NTAPI*PENTER_STATE_NOTIFY_HANDLER)( - IN POWER_STATE_HANDLER_TYPE State, - IN PVOID Context, - IN BOOLEAN Entering); - -typedef struct _POWER_STATE_NOTIFY_HANDLER { - PENTER_STATE_NOTIFY_HANDLER Handler; - PVOID Context; -} POWER_STATE_NOTIFY_HANDLER, *PPOWER_STATE_NOTIFY_HANDLER; - -NTSYSCALLAPI -NTSTATUS -DDKAPI -NtPowerInformation( - IN POWER_INFORMATION_LEVEL InformationLevel, - IN PVOID InputBuffer OPTIONAL, - IN ULONG InputBufferLength, - OUT PVOID OutputBuffer OPTIONAL, - IN ULONG OutputBufferLength); - -#define PROCESSOR_STATE_TYPE_PERFORMANCE 1 -#define PROCESSOR_STATE_TYPE_THROTTLE 2 - -typedef struct _PROCESSOR_PERF_LEVEL { - UCHAR PercentFrequency; - UCHAR Reserved; - USHORT Flags; -} PROCESSOR_PERF_LEVEL, *PPROCESSOR_PERF_LEVEL; - -typedef struct _PROCESSOR_PERF_STATE { - UCHAR PercentFrequency; - UCHAR MinCapacity; - USHORT Power; - UCHAR IncreaseLevel; - UCHAR DecreaseLevel; - USHORT Flags; - ULONG IncreaseTime; - ULONG DecreaseTime; - ULONG IncreaseCount; - ULONG DecreaseCount; - ULONGLONG PerformanceTime; -} PROCESSOR_PERF_STATE, *PPROCESSOR_PERF_STATE; - -typedef struct _PROCESSOR_STATE_HANDLER2 { - ULONG NumIdleHandlers; - PROCESSOR_IDLE_HANDLER_INFO IdleHandler[MAX_IDLE_HANDLERS]; - PSET_PROCESSOR_THROTTLE2 SetPerfLevel; - ULONG HardwareLatency; - UCHAR NumPerfStates; - PROCESSOR_PERF_LEVEL PerfLevel[1]; -} PROCESSOR_STATE_HANDLER2, *PPROCESSOR_STATE_HANDLER2; +#ifndef _PO_DDK_ +#define _PO_DDK_
/* Power States/Levels */ typedef enum _SYSTEM_POWER_STATE { @@ -184,7 +61,6 @@ SystemPowerState = 0, DevicePowerState } POWER_STATE_TYPE, *PPOWER_STATE_TYPE; -
typedef enum _POWER_INFORMATION_LEVEL { SystemPowerPolicyAc, @@ -253,7 +129,136 @@ PowerActionWarmEject } POWER_ACTION, *PPOWER_ACTION;
- +#if (NTDDI_VERSION >= NTDDI_WINXP) || !defined(_BATCLASS_) +typedef struct { + ULONG Granularity; + ULONG Capacity; +} BATTERY_REPORTING_SCALE, *PBATTERY_REPORTING_SCALE; +#endif /* (NTDDI_VERSION >= NTDDI_WINXP) || !defined(_BATCLASS_) */ + + +#endif /* _PO_DDK_ */ + +#define POWER_PERF_SCALE 100 +#define PERF_LEVEL_TO_PERCENT(x) (((x) * 1000) / (POWER_PERF_SCALE * 10)) +#define PERCENT_TO_PERF_LEVEL(x) (((x) * POWER_PERF_SCALE * 10) / 1000) + +typedef struct _PROCESSOR_IDLE_TIMES { + ULONGLONG StartTime; + ULONGLONG EndTime; + ULONG IdleHandlerReserved[4]; +} PROCESSOR_IDLE_TIMES, *PPROCESSOR_IDLE_TIMES; + +typedef BOOLEAN +(FASTCALL*PPROCESSOR_IDLE_HANDLER)( + IN OUT PPROCESSOR_IDLE_TIMES IdleTimes); + +typedef struct _PROCESSOR_IDLE_HANDLER_INFO { + ULONG HardwareLatency; + PPROCESSOR_IDLE_HANDLER Handler; +} PROCESSOR_IDLE_HANDLER_INFO, *PPROCESSOR_IDLE_HANDLER_INFO; + +typedef VOID +(FASTCALL*PSET_PROCESSOR_THROTTLE)( + IN UCHAR Throttle); + +typedef NTSTATUS +(FASTCALL*PSET_PROCESSOR_THROTTLE2)( + IN UCHAR Throttle); + +#define MAX_IDLE_HANDLERS 3 + +typedef struct _PROCESSOR_STATE_HANDLER { + UCHAR ThrottleScale; + BOOLEAN ThrottleOnIdle; + PSET_PROCESSOR_THROTTLE SetThrottle; + ULONG NumIdleHandlers; + PROCESSOR_IDLE_HANDLER_INFO IdleHandler[MAX_IDLE_HANDLERS]; +} PROCESSOR_STATE_HANDLER, *PPROCESSOR_STATE_HANDLER; + +typedef enum _POWER_STATE_HANDLER_TYPE { + PowerStateSleeping1, + PowerStateSleeping2, + PowerStateSleeping3, + PowerStateSleeping4, + PowerStateSleeping4Firmware, + PowerStateShutdownReset, + PowerStateShutdownOff, + PowerStateMaximum +} POWER_STATE_HANDLER_TYPE, *PPOWER_STATE_HANDLER_TYPE; + +typedef NTSTATUS +(NTAPI*PENTER_STATE_SYSTEM_HANDLER)( + IN PVOID SystemContext); + +typedef NTSTATUS +(NTAPI*PENTER_STATE_HANDLER)( + IN PVOID Context, + IN PENTER_STATE_SYSTEM_HANDLER SystemHandler OPTIONAL, + IN PVOID SystemContext, + IN LONG NumberProcessors, + IN LONG volatile *Number); + +typedef struct _POWER_STATE_HANDLER { + POWER_STATE_HANDLER_TYPE Type; + BOOLEAN RtcWake; + UCHAR Spare[3]; + PENTER_STATE_HANDLER Handler; + PVOID Context; +} POWER_STATE_HANDLER, *PPOWER_STATE_HANDLER; + +typedef NTSTATUS +(NTAPI*PENTER_STATE_NOTIFY_HANDLER)( + IN POWER_STATE_HANDLER_TYPE State, + IN PVOID Context, + IN BOOLEAN Entering); + +typedef struct _POWER_STATE_NOTIFY_HANDLER { + PENTER_STATE_NOTIFY_HANDLER Handler; + PVOID Context; +} POWER_STATE_NOTIFY_HANDLER, *PPOWER_STATE_NOTIFY_HANDLER; + +NTSYSCALLAPI +NTSTATUS +DDKAPI +NtPowerInformation( + IN POWER_INFORMATION_LEVEL InformationLevel, + IN PVOID InputBuffer OPTIONAL, + IN ULONG InputBufferLength, + OUT PVOID OutputBuffer OPTIONAL, + IN ULONG OutputBufferLength); + +#define PROCESSOR_STATE_TYPE_PERFORMANCE 1 +#define PROCESSOR_STATE_TYPE_THROTTLE 2 + +typedef struct _PROCESSOR_PERF_LEVEL { + UCHAR PercentFrequency; + UCHAR Reserved; + USHORT Flags; +} PROCESSOR_PERF_LEVEL, *PPROCESSOR_PERF_LEVEL; + +typedef struct _PROCESSOR_PERF_STATE { + UCHAR PercentFrequency; + UCHAR MinCapacity; + USHORT Power; + UCHAR IncreaseLevel; + UCHAR DecreaseLevel; + USHORT Flags; + ULONG IncreaseTime; + ULONG DecreaseTime; + ULONG IncreaseCount; + ULONG DecreaseCount; + ULONGLONG PerformanceTime; +} PROCESSOR_PERF_STATE, *PPROCESSOR_PERF_STATE; + +typedef struct _PROCESSOR_STATE_HANDLER2 { + ULONG NumIdleHandlers; + PROCESSOR_IDLE_HANDLER_INFO IdleHandler[MAX_IDLE_HANDLERS]; + PSET_PROCESSOR_THROTTLE2 SetPerfLevel; + ULONG HardwareLatency; + UCHAR NumPerfStates; + PROCESSOR_PERF_LEVEL PerfLevel[1]; +} PROCESSOR_STATE_HANDLER2, *PPROCESSOR_STATE_HANDLER2;
NTSYSCALLAPI NTSTATUS
Modified: branches/header-work/include/ddk/wdm.h URL: http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/wdm.h?re... ============================================================================== --- branches/header-work/include/ddk/wdm.h [iso-8859-1] (original) +++ branches/header-work/include/ddk/wdm.h [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -55,7 +55,8 @@ #define NTHALAPI #endif
-#if !defined(_NTOSKRNL_) /* For ReactOS */ +/* For ReactOS */ +#if !defined(_NTOSKRNL_) && !defined(_BLDR_) #define NTKERNELAPI DECLSPEC_IMPORT #else #define NTKERNELAPI @@ -848,6 +849,14 @@ volatile PVOID DpcData; } KDPC, *PKDPC, *RESTRICTED_POINTER PRKDPC;
+typedef struct _KDPC_WATCHDOG_INFORMATION { + ULONG DpcTimeLimit; + ULONG DpcTimeCount; + ULONG DpcWatchdogLimit; + ULONG DpcWatchdogCount; + ULONG Reserved; +} KDPC_WATCHDOG_INFORMATION, *PKDPC_WATCHDOG_INFORMATION; + typedef struct _KDEVICE_QUEUE { CSHORT Type; CSHORT Size; @@ -2138,7 +2147,7 @@ #define ALIGN_DOWN_POINTER_BY(ptr, align) \ ((PVOID)ALIGN_DOWN_BY(ptr, align))
-#define ALIGN_UP_POINTER_BY(ptr, alignment) \ +#define ALIGN_UP_POINTER_BY(ptr, align) \ ((PVOID)ALIGN_UP_BY(ptr, align))
#define ALIGN_DOWN(size, type) \ @@ -2147,8 +2156,8 @@ #define ALIGN_UP(size, type) \ ALIGN_UP_BY(size, sizeof(type))
-#define ALIGN_DOWN_POINTER(p, type) \ - ALIGN_DOWN_POINTER_BY(p, sizeof(type)) +#define ALIGN_DOWN_POINTER(ptr, type) \ + ALIGN_DOWN_POINTER_BY(ptr, sizeof(type))
#define ALIGN_UP_POINTER(ptr, type) \ ALIGN_UP_POINTER_BY(ptr, sizeof(type)) @@ -2952,9 +2961,14 @@
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
+ +#if 1 /****************************************************************************** * Power Management Support Types * ******************************************************************************/ + +#ifndef _PO_DDK_ +#define _PO_DDK_
/* Power States/Levels */ typedef enum _SYSTEM_POWER_STATE { @@ -2993,7 +3007,37 @@ ProcessorPowerPolicyDc, VerifyProcessorPowerPolicyAc, VerifyProcessorPowerPolicyDc, - ProcessorPowerPolicyCurrent + ProcessorPowerPolicyCurrent, + SystemPowerStateLogging, + SystemPowerLoggingEntry, + SetPowerSettingValue, + NotifyUserPowerSetting, + PowerInformationLevelUnused0, + PowerInformationLevelUnused1, + SystemVideoState, + TraceApplicationPowerMessage, + TraceApplicationPowerMessageEnd, + ProcessorPerfStates, + ProcessorIdleStates, + ProcessorCap, + SystemWakeSource, + SystemHiberFileInformation, + TraceServicePowerMessage, + ProcessorLoad, + PowerShutdownNotification, + MonitorCapabilities, + SessionPowerInit, + SessionDisplayState, + PowerRequestCreate, + PowerRequestAction, + GetPowerRequestList, + ProcessorInformationEx, + NotifyUserModeLegacyPowerEvent, + GroupPark, + ProcessorIdleDomains, + WakeTimerList, + SystemHiberFileSize, + PowerInformationLevelMaximum } POWER_INFORMATION_LEVEL;
typedef enum { @@ -3026,6 +3070,15 @@ DevicePowerState } POWER_STATE_TYPE, *PPOWER_STATE_TYPE;
+#if (NTDDI_VERSION >= NTDDI_WINXP) || !defined(_BATCLASS_) +typedef struct { + ULONG Granularity; + ULONG Capacity; +} BATTERY_REPORTING_SCALE, *PBATTERY_REPORTING_SCALE; +#endif /* (NTDDI_VERSION >= NTDDI_WINXP) || !defined(_BATCLASS_) */ + +#endif /* !_PO_DDK_ */ + typedef VOID (DDKAPI *PREQUEST_POWER_COMPLETE)( IN struct _DEVICE_OBJECT *DeviceObject, @@ -3034,6 +3087,7 @@ IN PVOID Context, IN struct _IO_STATUS_BLOCK *IoStatus);
+ /****************************************************************************** * Power Management Support Functions * ******************************************************************************/ @@ -3110,13 +3164,13 @@ VOID NTAPI PoSetSystemWake( - IN OUT PIRP Irp); + IN OUT struct _IRP *Irp);
NTKERNELAPI BOOLEAN NTAPI PoGetSystemWake( - IN PIRP Irp); + IN struct _IRP *Irp);
NTKERNELAPI NTSTATUS @@ -3195,7 +3249,7 @@ IN PCOUNTED_REASON_CONTEXT Context);
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */ - +#endif
/****************************************************************************** * Configuration Manager Types * @@ -5486,10 +5540,10 @@ #define FILE_DEVICE_SERENUM 0x00000037 #define FILE_DEVICE_TERMSRV 0x00000038 #define FILE_DEVICE_KSEC 0x00000039 -#define FILE_DEVICE_FIPS 0x0000003a -#define FILE_DEVICE_INFINIBAND 0x0000003b -#define FILE_DEVICE_VMBUS 0x0000003e -#define FILE_DEVICE_CRYPT_PROVIDER 0x0000003f +#define FILE_DEVICE_FIPS 0x0000003A +#define FILE_DEVICE_INFINIBAND 0x0000003B +#define FILE_DEVICE_VMBUS 0x0000003E +#define FILE_DEVICE_CRYPT_PROVIDER 0x0000003F #define FILE_DEVICE_WPD 0x00000040 #define FILE_DEVICE_BLUETOOTH 0x00000041 #define FILE_DEVICE_MT_COMPOSITE 0x00000042 @@ -6639,8 +6693,8 @@
#define SL_ALLOW_RAW_MOUNT 0x01
-#define CTL_CODE(DeviceType, Function, Method, Access)( \ - ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method)) +#define CTL_CODE(DeviceType, Function, Method, Access) \ + (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
#define DEVICE_TYPE_FROM_CTL_CODE(ctl) (((ULONG) (ctl & 0xffff0000)) >> 16)
@@ -11402,7 +11456,7 @@ PVOID NTAPI HalAllocateCommonBuffer( - IN PADAPTER_OBJECT AdapterObject, + IN PDMA_ADAPTER DmaAdapter, IN ULONG Length, OUT PPHYSICAL_ADDRESS LogicalAddress, IN BOOLEAN CacheEnabled)
Modified: branches/header-work/include/ddk/winddk.h URL: http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/winddk.h... ============================================================================== --- branches/header-work/include/ddk/winddk.h [iso-8859-1] (original) +++ branches/header-work/include/ddk/winddk.h [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -1028,12 +1028,15 @@ pHalMirrorVerify HalMirrorVerify; } HAL_DISPATCH, *PHAL_DISPATCH;
-#if defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTHAL_) -extern NTSYSAPI PHAL_DISPATCH HalDispatchTable; -#define HALDISPATCH ((PHAL_DISPATCH)&HalDispatchTable) +/* GCC/MSVC and WDK compatible declaration */ +extern NTKERNELAPI HAL_DISPATCH HalDispatchTable; + +#if defined(_NTOSKRNL_) || defined(_BLDR_) +#define HALDISPATCH (&HalDispatchTable) #else -extern __declspec(dllexport) HAL_DISPATCH HalDispatchTable; -#define HALDISPATCH (&HalDispatchTable) +/* This is a WDK compatibility definition */ +#define HalDispatchTable (&HalDispatchTable) +#define HALDISPATCH HalDispatchTable #endif
#define HAL_DISPATCH_VERSION 3 @@ -2813,6 +2816,10 @@ IN PDEVICE_OBJECT DeviceObject, IN struct _DRIVE_LAYOUT_INFORMATION_EX *PartitionBuffer);
+#if defined(USE_DMA_MACROS) && !defined(_NTHAL_) && (defined(_NTDDK_) || defined(_NTDRIVER_)) || defined(_WDM_INCLUDED_) +// nothing here +#else + #if (NTDDI_VERSION >= NTDDI_WIN2K) //DECLSPEC_DEPRECATED_DDK NTHALAPI @@ -2882,7 +2889,17 @@ HalReadDmaCounter( IN PADAPTER_OBJECT AdapterObject);
-#endif +NTHALAPI +NTSTATUS +NTAPI +HalAllocateAdapterChannel( + IN PADAPTER_OBJECT AdapterObject, + IN PWAIT_CONTEXT_BLOCK Wcb, + IN ULONG NumberOfMapRegisters, + IN PDRIVER_CONTROL ExecutionRoutine); + +#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */ +#endif /* defined(USE_DMA_MACROS) && !defined(_NTHAL_) && (defined(_NTDDK_) || defined(_NTDRIVER_)) || defined(_WDM_INCLUDED_) */
/** Kernel routines **/
@@ -3754,15 +3771,6 @@ NTHALAPI NTSTATUS NTAPI -HalAllocateAdapterChannel( - IN PADAPTER_OBJECT AdapterObject, - IN PWAIT_CONTEXT_BLOCK Wcb, - IN ULONG NumberOfMapRegisters, - IN PDRIVER_CONTROL ExecutionRoutine); - -NTHALAPI -NTSTATUS -NTAPI HalAssignSlotResources( IN PUNICODE_STRING RegistryPath, IN PUNICODE_STRING DriverClassName,
Modified: branches/header-work/include/ndk/exfuncs.h URL: http://svn.reactos.org/svn/reactos/branches/header-work/include/ndk/exfuncs.... ============================================================================== --- branches/header-work/include/ndk/exfuncs.h [iso-8859-1] (original) +++ branches/header-work/include/ndk/exfuncs.h [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -732,7 +732,7 @@ OUT PRTL_ATOM Atom OPTIONAL );
-NTSYSAPI +NTSYSCALLAPI NTSTATUS NTAPI ZwOpenEvent(
Modified: branches/header-work/include/ndk/rtlfuncs.h URL: http://svn.reactos.org/svn/reactos/branches/header-work/include/ndk/rtlfuncs... ============================================================================== --- branches/header-work/include/ndk/rtlfuncs.h [iso-8859-1] (original) +++ branches/header-work/include/ndk/rtlfuncs.h [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -1478,7 +1478,7 @@ PCHAR OemString, ULONG OemSize, PULONG ResultSize, - PWCHAR UnicodeString, + PCWCH UnicodeString, ULONG UnicodeSize );
@@ -1508,7 +1508,7 @@ PCHAR OemString, ULONG OemSize, PULONG ResultSize, - PWCHAR UnicodeString, + PCWCH UnicodeString, ULONG UnicodeSize );
@@ -1533,7 +1533,7 @@ PCHAR MbString, ULONG MbSize, PULONG ResultSize, - PWCHAR UnicodeString, + PCWCH UnicodeString, ULONG UnicodeSize );
@@ -1542,7 +1542,7 @@ NTAPI RtlUnicodeToMultiByteSize( PULONG MbSize, - PWCHAR UnicodeString, + PCWCH UnicodeString, ULONG UnicodeSize );
@@ -1570,7 +1570,7 @@ PWSTR UnicodeString, ULONG MaxBytesInUnicodeString, PULONG BytesInUnicodeString, - IN PCHAR OemString, + IN PCCH OemString, ULONG BytesInOemString );
Modified: branches/header-work/lib/rtl/nls.c URL: http://svn.reactos.org/svn/reactos/branches/header-work/lib/rtl/nls.c?rev=46... ============================================================================== --- branches/header-work/lib/rtl/nls.c [iso-8859-1] (original) +++ branches/header-work/lib/rtl/nls.c [iso-8859-1] Wed Mar 10 05:16:52 2010 @@ -345,7 +345,7 @@ RtlOemToUnicodeN (PWCHAR UnicodeString, ULONG UnicodeSize, PULONG ResultSize, - PCHAR OemString, + PCCH OemString, ULONG OemSize) { ULONG Size = 0; @@ -376,7 +376,7 @@
UCHAR Char; USHORT OemLeadByteInfo; - PCHAR OemEnd = OemString + OemSize; + PCCH OemEnd = OemString + OemSize;
for (i = 0; i < UnicodeSize / sizeof(WCHAR) && OemString < OemEnd; i++) { @@ -569,7 +569,7 @@ NTSTATUS NTAPI RtlUnicodeToMultiByteSize(PULONG MbSize, - PWCHAR UnicodeString, + PCWCH UnicodeString, ULONG UnicodeSize) { ULONG UnicodeLength = UnicodeSize / sizeof(WCHAR); @@ -613,7 +613,7 @@ RtlUnicodeToOemN (PCHAR OemString, ULONG OemSize, PULONG ResultSize, - PWCHAR UnicodeString, + PCWCH UnicodeString, ULONG UnicodeSize) { ULONG Size = 0; @@ -762,7 +762,7 @@ RtlUpcaseUnicodeToMultiByteN (PCHAR MbString, ULONG MbSize, PULONG ResultSize, - PWCHAR UnicodeString, + PCWCH UnicodeString, ULONG UnicodeSize) { WCHAR UpcaseChar; @@ -806,7 +806,7 @@ RtlUpcaseUnicodeToOemN (PCHAR OemString, ULONG OemSize, PULONG ResultSize, - PWCHAR UnicodeString, + PCWCH UnicodeString, ULONG UnicodeSize) { WCHAR UpcaseChar;