From 0af7b6f7a0f4dab0de8068dabc338e261f2f0f32 Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Sun, 19 Jun 2005 03:25:33 +0000 Subject: [PATCH] Many fixes to NDK svn path=/trunk/; revision=16071 --- reactos/include/ndk/haltypes.h | 12 +++----- reactos/include/ndk/iotypes.h | 9 ------ reactos/include/ndk/kdtypes.h | 11 +++++++ reactos/include/ndk/ketypes.h | 41 ++++++++++++++++++++++--- reactos/include/ndk/ldrtypes.h | 13 -------- reactos/include/ndk/potypes.h | 23 +------------- reactos/include/ndk/pstypes.h | 22 ++++++++++--- reactos/include/ndk/rtlfuncs.h | 36 +++------------------- reactos/include/ndk/rtltypes.h | 27 +++++++--------- reactos/include/ndk/zwfuncs.h | 18 ++++++----- reactos/include/ndk/zwtypes.h | 56 ++++++++++++++++++++++++++-------- 11 files changed, 139 insertions(+), 129 deletions(-) diff --git a/reactos/include/ndk/haltypes.h b/reactos/include/ndk/haltypes.h index 220a4a8ad77..e8418056631 100644 --- a/reactos/include/ndk/haltypes.h +++ b/reactos/include/ndk/haltypes.h @@ -32,6 +32,11 @@ extern ULONG NTOSAPI KdComPortInUse; #define MB_FLAGS_GRAPHICS_TABLE (0x800) /* ENUMERATIONS **************************************************************/ +typedef enum _FIRMWARE_ENTRY +{ + /*FIXME */ + HalFixMe +} FIRMWARE_ENTRY; /* TYPES *********************************************************************/ @@ -61,12 +66,5 @@ typedef struct _LOADER_PARAMETER_BLOCK 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 diff --git a/reactos/include/ndk/iotypes.h b/reactos/include/ndk/iotypes.h index 42e4b76f849..b84fdb1880f 100644 --- a/reactos/include/ndk/iotypes.h +++ b/reactos/include/ndk/iotypes.h @@ -18,18 +18,9 @@ extern POBJECT_TYPE NTOSAPI IoDeviceHandlerObjectType; 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 *********************************************************************/ diff --git a/reactos/include/ndk/kdtypes.h b/reactos/include/ndk/kdtypes.h index 65a6d8fa6cf..4c14f6c22ad 100644 --- a/reactos/include/ndk/kdtypes.h +++ b/reactos/include/ndk/kdtypes.h @@ -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 diff --git a/reactos/include/ndk/ketypes.h b/reactos/include/ndk/ketypes.h index bf159f3230c..2333e0251c8 100644 --- a/reactos/include/ndk/ketypes.h +++ b/reactos/include/ndk/ketypes.h @@ -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 ULONG NTOSAPI KeMinimumIncrement; 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 @@ typedef struct _KTRAP_FRAME 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 @@ typedef struct _KINTERRUPT 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 diff --git a/reactos/include/ndk/ldrtypes.h b/reactos/include/ndk/ldrtypes.h index cac405763a7..d3678a0e75f 100644 --- a/reactos/include/ndk/ldrtypes.h +++ b/reactos/include/ndk/ldrtypes.h @@ -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 diff --git a/reactos/include/ndk/potypes.h b/reactos/include/ndk/potypes.h index bbaf5a9b2de..54e7ca9a438 100644 --- a/reactos/include/ndk/potypes.h +++ b/reactos/include/ndk/potypes.h @@ -10,6 +10,7 @@ #define _POTYPES_H /* DEPENDENCIES **************************************************************/ +#include /* 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; diff --git a/reactos/include/ndk/pstypes.h b/reactos/include/ndk/pstypes.h index e0cafd95ced..cba63a71d81 100644 --- a/reactos/include/ndk/pstypes.h +++ b/reactos/include/ndk/pstypes.h @@ -40,6 +40,9 @@ extern NTOSAPI POBJECT_TYPE PsThreadType; /* ENUMERATIONS **************************************************************/ +/* FUNCTION TYPES **********************************************/ +typedef DWORD (*STDCALL PTHREAD_START_ROUTINE) (LPVOID); + /* TYPES *********************************************************************/ struct _ETHREAD; @@ -119,6 +122,15 @@ typedef struct _GDI_TEB_BATCH 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 @@ typedef struct _TEB 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 @@ typedef struct _TEB 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; diff --git a/reactos/include/ndk/rtlfuncs.h b/reactos/include/ndk/rtlfuncs.h index a70d19391f6..b76e3edd099 100644 --- a/reactos/include/ndk/rtlfuncs.h +++ b/reactos/include/ndk/rtlfuncs.h @@ -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 +#include /*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 @@ typedef EXCEPTION_DISPOSITION } ULONG -STDCALL +CDECL DbgPrint( IN PCH Format, IN ...); @@ -222,8 +194,8 @@ RtlCompareUnicodeString ( BOOLEAN STDCALL RtlEqualUnicodeString ( - PUNICODE_STRING String1, - PUNICODE_STRING String2, + PCUNICODE_STRING String1, + PCUNICODE_STRING String2, BOOLEAN CaseInsensitive ); diff --git a/reactos/include/ndk/rtltypes.h b/reactos/include/ndk/rtltypes.h index 624279b11d2..b54528cca7e 100644 --- a/reactos/include/ndk/rtltypes.h +++ b/reactos/include/ndk/rtltypes.h @@ -44,6 +44,17 @@ typedef enum 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,20 +162,6 @@ typedef struct _RTL_PROCESS_INFO 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' */ @@ -203,6 +200,4 @@ typedef struct _RTL_ATOM_TABLE } TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION; #endif -typedef LPTIME_ZONE_INFORMATION PTIME_ZONE_INFORMATION; - #endif diff --git a/reactos/include/ndk/zwfuncs.h b/reactos/include/ndk/zwfuncs.h index a75a6c46829..61cfe87787d 100644 --- a/reactos/include/ndk/zwfuncs.h +++ b/reactos/include/ndk/zwfuncs.h @@ -12,6 +12,7 @@ /* DEPENDENCIES **************************************************************/ #include "lpctypes.h" #include "zwtypes.h" +#include "kdtypes.h" /* FUNCTION TYPES ************************************************************/ @@ -1036,7 +1037,8 @@ ZwListenPort(HANDLE PortHandle, PLPC_MESSAGE LpcMessage ); -STDCALL +NTSTATUS +STDCALL NtLoadDriver( IN PUNICODE_STRING DriverServiceName ); @@ -2786,7 +2788,7 @@ STDCALL NtSetQuotaInformationFile( HANDLE FileHandle, PIO_STATUS_BLOCK IoStatusBlock, - PFILE_USER_QUOTA_INFORMATION Buffer, + PFILE_QUOTA_INFORMATION Buffer, ULONG BufferLength ); @@ -2795,7 +2797,7 @@ STDCALL ZwSetQuotaInformationFile( HANDLE FileHandle, PIO_STATUS_BLOCK IoStatusBlock, - PFILE_USER_QUOTA_INFORMATION Buffer, + PFILE_QUOTA_INFORMATION Buffer, ULONG BufferLength ); @@ -2931,13 +2933,13 @@ ZwSetVolumeInformationFile( 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 @@ NtDuplicateObject( 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 @@ ZwDuplicateObject( IN HANDLE TargetProcessHandle, OUT PHANDLE TargetHandle, IN ACCESS_MASK DesiredAccess, - IN BOOLEAN InheritHandle, + IN ULONG HandleAttributes, IN ULONG Options ); diff --git a/reactos/include/ndk/zwtypes.h b/reactos/include/ndk/zwtypes.h index 26fe844476d..d6ea8e98563 100644 --- a/reactos/include/ndk/zwtypes.h +++ b/reactos/include/ndk/zwtypes.h @@ -15,6 +15,7 @@ /* EXPORTED DATA *************************************************************/ /* CONSTANTS *****************************************************************/ +#define MAX_BUS_NAME 24 /* ENUMERATIONS **************************************************************/ @@ -31,6 +32,13 @@ typedef enum _PLUGPLAY_VIRTUAL_BUS_TYPE 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 @@ typedef enum _SYSTEM_INFORMATION_CLASS SystemPrioritySeperation, SystemPlugPlayBusInformation, SystemDockInformation, - SystemPowerInformation, + _SystemPowerInformation, /* FIXME */ SystemProcessorSpeedInformation, SystemCurrentTimeZoneInformation, SystemLookasideInformation, @@ -307,7 +315,7 @@ typedef struct _SEMAPHORE_BASIC_INFORMATION { /* * Event - * + */ /* Class 0 */ typedef struct _EVENT_BASIC_INFORMATION { @@ -315,6 +323,26 @@ typedef struct _EVENT_BASIC_INFORMATION LONG EventState; } 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 @@ typedef struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION 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_ENTRY 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_INSTEMUL_INFO 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 @@ typedef struct _SYSTEM_DOCK_INFORMATION } 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 @@ typedef struct _SYSTEM_POWER_INFORMATION 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 @@ typedef struct _SYSTEM_LOOKASIDE_INFORMATION } 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 */