Many fixes to NDK
Modified: trunk/reactos/include/ndk/haltypes.h
Modified: trunk/reactos/include/ndk/iotypes.h
Modified: trunk/reactos/include/ndk/kdtypes.h
Modified: trunk/reactos/include/ndk/ketypes.h
Modified: trunk/reactos/include/ndk/ldrtypes.h
Modified: trunk/reactos/include/ndk/potypes.h
Modified: trunk/reactos/include/ndk/pstypes.h
Modified: trunk/reactos/include/ndk/rtlfuncs.h
Modified: trunk/reactos/include/ndk/rtltypes.h
Modified: trunk/reactos/include/ndk/zwfuncs.h
Modified: trunk/reactos/include/ndk/zwtypes.h
_____
Modified: trunk/reactos/include/ndk/haltypes.h
--- trunk/reactos/include/ndk/haltypes.h 2005-06-19 01:10:08 UTC
(rev 16070)
+++ trunk/reactos/include/ndk/haltypes.h 2005-06-19 03:25:33 UTC
(rev 16071)
@@ -32,6 +32,11 @@
#define MB_FLAGS_GRAPHICS_TABLE (0x800)
/* ENUMERATIONS
**************************************************************/
+typedef enum _FIRMWARE_ENTRY
+{
+ /*FIXME */
+ HalFixMe
+} FIRMWARE_ENTRY;
/* TYPES
*********************************************************************/
@@ -61,12 +66,5 @@
ULONG BootLoaderName;
} LOADER_PARAMETER_BLOCK, *PLOADER_PARAMETER_BLOCK;
-typedef struct _DRIVE_LAYOUT_INFORMATION
-{
- DWORD PartitionCount;
- DWORD Signature;
- PARTITION_INFORMATION PartitionEntry[1];
-} DRIVE_LAYOUT_INFORMATION;
-
#endif
_____
Modified: trunk/reactos/include/ndk/iotypes.h
--- trunk/reactos/include/ndk/iotypes.h 2005-06-19 01:10:08 UTC (rev
16070)
+++ trunk/reactos/include/ndk/iotypes.h 2005-06-19 03:25:33 UTC (rev
16071)
@@ -18,18 +18,9 @@
extern POBJECT_TYPE NTOSAPI IoDeviceObjectType;
extern POBJECT_TYPE NTOSAPI IoDriverObjectType;
extern POBJECT_TYPE NTOSAPI IoFileObjectType;
-extern ULONG NTOSAPI IoReadOperationCount;
-extern ULONGLONG NTOSAPI IoReadTransferCount;
-extern ULONG NTOSAPI IoWriteOperationCount;
-extern ULONGLONG NTOSAPI IoWriteTransferCount;
-extern KSPIN_LOCK NTOSAPI IoStatisticsLock;
/* CONSTANTS
*****************************************************************/
-/* I/O Types */
-#define IO_TYPE_DRIVER 4L
-#define IO_TYPE_TIMER 9L
-
/* ENUMERATIONS
**************************************************************/
/* TYPES
*********************************************************************/
_____
Modified: trunk/reactos/include/ndk/kdtypes.h
--- trunk/reactos/include/ndk/kdtypes.h 2005-06-19 01:10:08 UTC (rev
16070)
+++ trunk/reactos/include/ndk/kdtypes.h 2005-06-19 03:25:33 UTC (rev
16071)
@@ -17,6 +17,17 @@
/* ENUMERATIONS
**************************************************************/
+typedef enum _DEBUG_CONTROL_CODE
+{
+ DebugGetTraceInformation = 1,
+ DebugSetInternalBreakpoint,
+ DebugSetSpecialCall,
+ DebugClearSpecialCalls,
+ DebugQuerySpecialCalls,
+ DebugDbgBreakPoint,
+ DebugDbgLoadSymbols
+} DEBUG_CONTROL_CODE;
+
/* TYPES
*********************************************************************/
typedef struct _KD_PORT_INFORMATION
_____
Modified: trunk/reactos/include/ndk/ketypes.h
--- trunk/reactos/include/ndk/ketypes.h 2005-06-19 01:10:08 UTC (rev
16070)
+++ trunk/reactos/include/ndk/ketypes.h 2005-06-19 03:25:33 UTC (rev
16071)
@@ -12,6 +12,10 @@
/* DEPENDENCIES
**************************************************************/
#include "haltypes.h"
+/* CONSTANTS
*****************************************************************/
+#define SSDT_MAX_ENTRIES 4
+#define PROCESSOR_FEATURE_MAX 64
+
/* EXPORTED DATA
*************************************************************/
extern CHAR NTOSAPI KeNumberProcessors;
extern LOADER_PARAMETER_BLOCK NTOSAPI KeLoaderBlock;
@@ -24,10 +28,6 @@
extern SSDT_ENTRY NTOSAPI KeServiceDescriptorTable[SSDT_MAX_ENTRIES];
extern SSDT_ENTRY NTOSAPI
KeServiceDescriptorTableShadow[SSDT_MAX_ENTRIES];
-/* CONSTANTS
*****************************************************************/
-#define SSDT_MAX_ENTRIES 4
-#define PROCESSOR_FEATURE_MAX 64
-
/* ENUMERATIONS
**************************************************************/
/* TYPES
*********************************************************************/
@@ -95,6 +95,31 @@
USHORT Reserved9;
} KTRAP_FRAME, *PKTRAP_FRAME;
+typedef struct _LDT_ENTRY {
+ WORD LimitLow;
+ WORD BaseLow;
+ union {
+ struct {
+ BYTE BaseMid;
+ BYTE Flags1;
+ BYTE Flags2;
+ BYTE BaseHi;
+ } Bytes;
+ struct {
+ DWORD BaseMid : 8;
+ DWORD Type : 5;
+ DWORD Dpl : 2;
+ DWORD Pres : 1;
+ DWORD LimitHi : 4;
+ DWORD Sys : 1;
+ DWORD Reserved_0 : 1;
+ DWORD Default_Big : 1;
+ DWORD Granularity : 1;
+ DWORD BaseHi : 8;
+ } Bits;
+ } HighWord;
+} LDT_ENTRY, *PLDT_ENTRY, *LPLDT_ENTRY;
+
/* i386 Doesn't have Exception Frames */
typedef struct _KEXCEPTION_FRAME {
@@ -124,6 +149,14 @@
ULONG DispatchCode[106];
} KINTERRUPT, *PKINTERRUPT;
+typedef struct _KEVENT_PAIR
+{
+ CSHORT Type;
+ CSHORT Size;
+ KEVENT LowEvent;
+ KEVENT HighEvent;
+} KEVENT_PAIR, *PKEVENT_PAIR;
+
/* FIXME: Add KOBJECTS Here */
#endif
_____
Modified: trunk/reactos/include/ndk/ldrtypes.h
--- trunk/reactos/include/ndk/ldrtypes.h 2005-06-19 01:10:08 UTC
(rev 16070)
+++ trunk/reactos/include/ndk/ldrtypes.h 2005-06-19 03:25:33 UTC
(rev 16071)
@@ -14,19 +14,6 @@
/* EXPORTED DATA
*************************************************************/
/* CONSTANTS
*****************************************************************/
-#define IMAGE_SCN_TYPE_REG 0x00000000
-#define IMAGE_SCN_TYPE_DSECT 0x00000001
-#define IMAGE_SCN_TYPE_NOLOAD 0x00000002
-#define IMAGE_SCN_TYPE_GROUP 0x00000004
-#define IMAGE_SCN_TYPE_COPY 0x00000010
-
-#define IMAGE_FILE_MACHINE_ARM 0x000001C0
-#define IMAGE_FILE_MACHINE_IA64 0x00000200
-#define IMAGE_FILE_MACHINE_ALPHA64 0x00000284
-#define IMAGE_FILE_MACHINE_AMD64 0x00008664
-#define IMAGE_FILE_MACHINE_M32R 0x00009041
-#define IMAGE_FILE_MACHINE_AXP64 IMAGE_FILE_MACHINE_ALPHA64
-
#define RESOURCE_TYPE_LEVEL 0
#define RESOURCE_NAME_LEVEL 1
#define RESOURCE_LANGUAGE_LEVEL 2
_____
Modified: trunk/reactos/include/ndk/potypes.h
--- trunk/reactos/include/ndk/potypes.h 2005-06-19 01:10:08 UTC (rev
16070)
+++ trunk/reactos/include/ndk/potypes.h 2005-06-19 03:25:33 UTC (rev
16071)
@@ -10,6 +10,7 @@
#define _POTYPES_H
/* DEPENDENCIES
**************************************************************/
+#include <ddk/ntpoapi.h>
/* EXPORTED DATA
*************************************************************/
@@ -19,28 +20,6 @@
/* TYPES
*********************************************************************/
-typedef struct _PROCESSOR_IDLE_TIMES
-{
- ULONGLONG StartTime;
- ULONGLONG EndTime;
- ULONG IdleHandlerReserved[4];
-} PROCESSOR_IDLE_TIMES, *PPROCESSOR_IDLE_TIMES;
-
-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_POWER_STATE
{
PVOID IdleFunction;
_____
Modified: trunk/reactos/include/ndk/pstypes.h
--- trunk/reactos/include/ndk/pstypes.h 2005-06-19 01:10:08 UTC (rev
16070)
+++ trunk/reactos/include/ndk/pstypes.h 2005-06-19 03:25:33 UTC (rev
16071)
@@ -40,6 +40,9 @@
/* ENUMERATIONS
**************************************************************/
+/* FUNCTION TYPES **********************************************/
+typedef DWORD (*STDCALL PTHREAD_START_ROUTINE) (LPVOID);
+
/* TYPES
*********************************************************************/
struct _ETHREAD;
@@ -119,6 +122,15 @@
ULONG Buffer[0x136];
} GDI_TEB_BATCH, *PGDI_TEB_BATCH;
+typedef struct _INITIAL_TEB
+{
+ PVOID StackBase;
+ PVOID StackLimit;
+ PVOID StackCommit;
+ PVOID StackCommitMax;
+ PVOID StackReserved;
+} INITIAL_TEB, *PINITIAL_TEB;
+
typedef struct _TEB
{
NT_TIB Tib; /* 00h */
@@ -126,7 +138,7 @@
CLIENT_ID Cid; /* 20h */
PVOID ActiveRpcInfo; /* 28h */
PVOID ThreadLocalStoragePointer; /* 2Ch */
- PPEB Peb; /* 30h */
+ struct _PEB *Peb; /* 30h */
ULONG LastErrorValue; /* 34h */
ULONG CountOfOwnedCriticalSections; /* 38h */
PVOID CsrClientThread; /* 3Ch */
@@ -171,14 +183,14 @@
PVOID Instrumentation[0x10]; /* F2Ch */
PVOID WinSockData; /* F6Ch */
ULONG GdiBatchCount; /* F70h */
- USHORT Spare2; /* F74h */
+ USHORT _Spare2; /* F74h */
BOOLEAN IsFiber; /* F76h */
UCHAR Spare3; /* F77h */
- ULONG Spare4; /* F78h */
- ULONG Spare5; /* F7Ch */
+ ULONG _Spare4; /* F78h */
+ ULONG _Spare5; /* F7Ch */
PVOID ReservedForOle; /* F80h */
ULONG WaitingOnLoaderLock; /* F84h */
- ULONG Unknown[11]; /* F88h */
+ ULONG _Unknown[11]; /* F88h */
PVOID FlsSlots; /* FB4h */
PVOID WineDebugInfo; /* Needed for WINE DLL's */
} TEB, *PTEB;
_____
Modified: trunk/reactos/include/ndk/rtlfuncs.h
--- trunk/reactos/include/ndk/rtlfuncs.h 2005-06-19 01:10:08 UTC
(rev 16070)
+++ trunk/reactos/include/ndk/rtlfuncs.h 2005-06-19 03:25:33 UTC
(rev 16071)
@@ -1,22 +1,3 @@
-/* $Id: rtlfuncs.h,v 1.1.2.2 2004/10/25 02:57:20 ion Exp $
- *
- * ReactOS Headers
- * Copyright (C) 1998-2004 ReactOS Team
- *
- * This program is free software; you can redistribute it and/or
modify
- * it under the terms of the GNU General Public License as published
by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
/*
* PROJECT: ReactOS Native Headers
* FILE: include/ndk/rtlfuncs.h
@@ -29,20 +10,11 @@
#define _RTLFUNCS_H
#include <ndk/rtltypes.h>
+#include <ndk/pstypes.h>
/*FIXME: REORGANIZE THIS */
/* FIXME: SOME FUNCTIONS MUST BE PROTECTED AGAINST DDK/IFS. */
-typedef NTSTATUS
-(*PHEAP_ENUMERATION_ROUTINE)(IN PVOID HeapHandle,
- IN PVOID UserParam);
-
-typedef EXCEPTION_DISPOSITION
-(*PEXCEPTION_HANDLER)(struct _EXCEPTION_RECORD*,
- PVOID,
- struct _CONTEXT*,
- PVOID);
-
#define RtlGetProcessHeap() (NtCurrentPeb()->ProcessHeap)
@@ -122,7 +94,7 @@
}
ULONG
-STDCALL
+CDECL
DbgPrint(
IN PCH Format,
IN ...);
@@ -222,8 +194,8 @@
BOOLEAN
STDCALL
RtlEqualUnicodeString (
- PUNICODE_STRING String1,
- PUNICODE_STRING String2,
+ PCUNICODE_STRING String1,
+ PCUNICODE_STRING String2,
BOOLEAN CaseInsensitive
);
_____
Modified: trunk/reactos/include/ndk/rtltypes.h
--- trunk/reactos/include/ndk/rtltypes.h 2005-06-19 01:10:08 UTC
(rev 16070)
+++ trunk/reactos/include/ndk/rtltypes.h 2005-06-19 03:25:33 UTC
(rev 16071)
@@ -44,6 +44,17 @@
ExceptionCollidedUnwind
} EXCEPTION_DISPOSITION;
+/* FUNCTION TYPES
************************************************************/
+typedef NTSTATUS
+(*PHEAP_ENUMERATION_ROUTINE)(IN PVOID HeapHandle,
+ IN PVOID UserParam);
+
+typedef EXCEPTION_DISPOSITION
+(*PEXCEPTION_HANDLER)(struct _EXCEPTION_RECORD*,
+ PVOID,
+ struct _CONTEXT*,
+ PVOID);
+
/* TYPES
*********************************************************************/
typedef unsigned short RTL_ATOM;
@@ -151,21 +162,7 @@
CLIENT_ID ClientId;
SECTION_IMAGE_INFORMATION ImageInfo;
} RTL_PROCESS_INFO, *PRTL_PROCESS_INFO;
-
-typedef struct _RTL_BITMAP
-{
- ULONG SizeOfBitMap;
- PULONG Buffer;
-} RTL_BITMAP;
-typedef RTL_BITMAP *PRTL_BITMAP;
-typedef struct _RTL_BITMAP_RUN
-{
- ULONG StartingIndex;
- ULONG NumberOfBits;
-} RTL_BITMAP_RUN;
-typedef RTL_BITMAP_RUN *PRTL_BITMAP_RUN;
-
/* FIXME: This is a Windows Type which which we are not implementing
properly
The type below however is our own implementation. We will
eventually use Windows' */
typedef struct _RTL_ATOM_TABLE
@@ -203,6 +200,4 @@
} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION,
*LPTIME_ZONE_INFORMATION;
#endif
-typedef LPTIME_ZONE_INFORMATION PTIME_ZONE_INFORMATION;
-
#endif
_____
Modified: trunk/reactos/include/ndk/zwfuncs.h
--- trunk/reactos/include/ndk/zwfuncs.h 2005-06-19 01:10:08 UTC (rev
16070)
+++ trunk/reactos/include/ndk/zwfuncs.h 2005-06-19 03:25:33 UTC (rev
16071)
@@ -12,6 +12,7 @@
/* DEPENDENCIES
**************************************************************/
#include "lpctypes.h"
#include "zwtypes.h"
+#include "kdtypes.h"
/* FUNCTION TYPES
************************************************************/
@@ -1036,7 +1037,8 @@
PLPC_MESSAGE LpcMessage
);
-STDCALL
+NTSTATUS
+STDCALL
NtLoadDriver(
IN PUNICODE_STRING DriverServiceName
);
@@ -2786,7 +2788,7 @@
NtSetQuotaInformationFile(
HANDLE FileHandle,
PIO_STATUS_BLOCK IoStatusBlock,
- PFILE_USER_QUOTA_INFORMATION Buffer,
+ PFILE_QUOTA_INFORMATION Buffer,
ULONG BufferLength
);
@@ -2795,7 +2797,7 @@
ZwSetQuotaInformationFile(
HANDLE FileHandle,
PIO_STATUS_BLOCK IoStatusBlock,
- PFILE_USER_QUOTA_INFORMATION Buffer,
+ PFILE_QUOTA_INFORMATION Buffer,
ULONG BufferLength
);
@@ -2931,13 +2933,13 @@
NTSTATUS
STDCALL
NtShutdownSystem(
- IN SHUTDOWN_ACTION Action
+ IN ULONG Action
);
NTSTATUS
STDCALL
ZwShutdownSystem(
- IN SHUTDOWN_ACTION Action
+ IN ULONG Action
);
NTSTATUS
@@ -3686,10 +3688,10 @@
IN HANDLE TargetProcessHandle,
OUT PHANDLE TargetHandle,
IN ACCESS_MASK DesiredAccess,
- IN BOOLEAN InheritHandle,
+ IN ULONG HandleAttributes,
IN ULONG Options
);
-
+
NTSTATUS
STDCALL
ZwDuplicateObject(
@@ -3698,7 +3700,7 @@
IN HANDLE TargetProcessHandle,
OUT PHANDLE TargetHandle,
IN ACCESS_MASK DesiredAccess,
- IN BOOLEAN InheritHandle,
+ IN ULONG HandleAttributes,
IN ULONG Options
);
_____
Modified: trunk/reactos/include/ndk/zwtypes.h
--- trunk/reactos/include/ndk/zwtypes.h 2005-06-19 01:10:08 UTC (rev
16070)
+++ trunk/reactos/include/ndk/zwtypes.h 2005-06-19 03:25:33 UTC (rev
16071)
@@ -15,6 +15,7 @@
/* EXPORTED DATA
*************************************************************/
/* CONSTANTS
*****************************************************************/
+#define MAX_BUS_NAME 24
/* ENUMERATIONS
**************************************************************/
@@ -31,6 +32,13 @@
MaxPlugPlayVirtualBusType
} PLUGPLAY_VIRTUAL_BUS_TYPE, *PPLUGPLAY_VIRTUAL_BUS_TYPE;
+typedef enum _SYSTEM_DOCK_STATE
+{
+ SystemDockStateUnknown,
+ SystemUndocked,
+ SystemDocked
+} SYSTEM_DOCK_STATE, *PSYSTEM_DOCK_STATE;
+
/**** Information Classes ****/
/*
* System
@@ -79,7 +87,7 @@
SystemPrioritySeperation,
SystemPlugPlayBusInformation,
SystemDockInformation,
- SystemPowerInformation,
+ _SystemPowerInformation, /* FIXME */
SystemProcessorSpeedInformation,
SystemCurrentTimeZoneInformation,
SystemLookasideInformation,
@@ -307,7 +315,7 @@
/*
* Event
- *
+ */
/* Class 0 */
typedef struct _EVENT_BASIC_INFORMATION
{
@@ -316,6 +324,26 @@
} EVENT_BASIC_INFORMATION, *PEVENT_BASIC_INFORMATION;
/*
+ * Process
+ */
+/* Class 23 */
+typedef struct _PROCESS_DEVICEMAP_INFORMATION
+{
+ union
+ {
+ struct
+ {
+ HANDLE DirectoryHandle;
+ } Set;
+ struct
+ {
+ ULONG DriveMap;
+ UCHAR DriveType[32];
+ } Query;
+ };
+} PROCESS_DEVICEMAP_INFORMATION, *PPROCESS_DEVICEMAP_INFORMATION;
+
+/*
* System
*/
@@ -523,7 +551,7 @@
LARGE_INTEGER DpcTime;
LARGE_INTEGER InterruptTime;
ULONG InterruptCount;
-} SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION,
+} SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION,
*PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION;
/* Class 9 */
typedef struct _SYSTEM_FLAGS_INFORMATION
@@ -585,7 +613,7 @@
typedef struct _SYSTEM_BACKTRACE_INFORMATION
{
/* FIXME */
- ULONG Unknown[4]
+ ULONG Unknown[4];
ULONG Count;
SYSTEM_BACKTRACE_INFORMATION_ENTRY Trace[1];
} SYSTEM_BACKTRACE_INFORMATION, *PSYSTEM_BACKTRACE_INFORMATION;
@@ -715,7 +743,8 @@
typedef struct _SYSTEM_VDM_BOP_INFO
{
/* FIXME */
-}
+ PVOID Dummy;
+} SYSTEM_VDM_BOP_INFO, *PSYSTEM_VDM_BOP_INFO;
/* Class 21 */
typedef struct _SYSTEM_CACHE_INFORMATION
@@ -908,7 +937,8 @@
} SYSTEM_DOCK_INFORMATION, *PSYSTEM_DOCK_INFORMATION;
/* Class 42 */
-typedef struct _SYSTEM_POWER_INFORMATION
+/* FIXME: Conflict with WINNT.H */
+typedef struct __SYSTEM_POWER_INFORMATION
{
BOOLEAN SystemSuspendSupported;
BOOLEAN SystemHibernateSupported;
@@ -920,18 +950,18 @@
BOOLEAN SystemAcOrDc;
BOOLEAN PowerDownDisabled;
LARGE_INTEGER SpindownDrives;
-} SYSTEM_POWER_INFORMATION, *PSYSTEM_POWER_INFORMATION;
+} _SYSTEM_POWER_INFORMATION, *P_SYSTEM_POWER_INFORMATION;
/* Class 43 */
typedef struct _SYSTEM_LEGACY_DRIVER_INFORMATION
{
PNP_VETO_TYPE VetoType;
- UNCODE_STRING VetoDriver;
+ UNICODE_STRING VetoDriver;
/* Buffer Follows */
-} SYSTEM_PROCESSOR_SPEED_INFORMATION,
*PSYSTEM_PROCESSOR_SPEED_INFORMATION;
+} SYSTEM_LEGACY_DRIVER_INFORMATION, *PSYSTEM_LEGACY_DRIVER_INFORMATION;
/* Class 44 */
-typedef TIME_ZONE_INFORMATION RTL_TIME_ZONE_INFORMATION;
+typedef struct _TIME_ZONE_INFORMATION RTL_TIME_ZONE_INFORMATION;
/* Class 45 */
typedef struct _SYSTEM_LOOKASIDE_INFORMATION
@@ -948,13 +978,13 @@
} SYSTEM_LOOKASIDE_INFORMATION, *PSYSTEM_LOOKASIDE_INFORMATION;
/* Class 46 */
-/* Not a structure. Only a HANDLE for the SlipEvent;
+/* Not a structure. Only a HANDLE for the SlipEvent; */
/* Class 47 */
-/* Not a structure. Only a ULONG for the SessionId;
+/* Not a structure. Only a ULONG for the SessionId; */
/* Class 48 */
-/* Not a structure. Only a ULONG for the SessionId;
+/* Not a structure. Only a ULONG for the SessionId; */
/* Class 49 */
/* FIXME */