From 428572a13882a067f7fcef5e0044560fa7d2c685 Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Sun, 19 Jun 2005 03:55:34 +0000 Subject: [PATCH] Move Exported functions away from internal/ke.h, move exported data from internal/ex.h, add internal structures to internal/ifs.h, include ntdddisk.h in internal/xhal.h for access to PDRIVE_LAYOUT_INFORMATION, remove DDK function from internal/nls.h, remove KTRAP_FRAME from internal/i386/ke.h, add some more temporary types to krnltypes.h, protect PNP_VETO_TYPE, move EVENT_TRACE_HEADER to DDK, guard disk.h properly, correct DRIVE_LAYOUT_INFORMATION typedef in DDK, add PNP_VETO_TYPE, NLSTABLEINFO, CPTABLEINFO, remove KDPC_DATA, PP_LOOKASIDE_LIST. remove PROCESSOR_POWER_STATE from ntpoapi, remove MAILSLOT_CREATE_PARAMETERS, NAMED_PIPE_CREATE_PARAMETERS, IO_COMPLETION_INFORMATION_CLASS, PAGEFAULT_HISTORY, SECTION_XXX_INFORMATION, RtlSelfRelativeToAbsoluteSD, ZwQuerySection/Object, ZwQuerySystemInformation, ZwSetInformationObject, ZwSetSystemInformation from IFS svn path=/trunk/; revision=16072 --- reactos/include/ndk/kefuncs.h | 3 +- reactos/include/ntos/disk.h | 5 +- reactos/include/ntos/fstypes.h | 14 --- reactos/include/ntos/kefuncs.h | 6 ++ reactos/include/ntos/krnltypes.h | 109 ++++++++++++++++++++ reactos/include/ntos/ntpnp.h | 2 + reactos/include/ntos/rtltypes.h | 46 +++++---- reactos/include/ntos/zw.h | 38 ------- reactos/include/ntos/zwtypes.h | 5 + reactos/ntoskrnl/include/internal/ex.h | 3 - reactos/ntoskrnl/include/internal/i386/ke.h | 48 --------- reactos/ntoskrnl/include/internal/i386/ps.h | 2 +- reactos/ntoskrnl/include/internal/ifs.h | 13 +++ reactos/ntoskrnl/include/internal/ke.h | 5 - reactos/ntoskrnl/include/internal/nls.h | 2 - reactos/ntoskrnl/include/internal/ps.h | 4 +- reactos/ntoskrnl/include/internal/xhal.h | 2 + 17 files changed, 167 insertions(+), 140 deletions(-) diff --git a/reactos/include/ndk/kefuncs.h b/reactos/include/ndk/kefuncs.h index 384e4730146..5bfd9d66057 100644 --- a/reactos/include/ndk/kefuncs.h +++ b/reactos/include/ndk/kefuncs.h @@ -237,7 +237,8 @@ KeDisconnectInterrupt( PKINTERRUPT InterruptObject ); -struct _KPROCESS* +PKPROCESS +STDCALL KeGetCurrentProcess( VOID ); diff --git a/reactos/include/ntos/disk.h b/reactos/include/ntos/disk.h index 9edf1b4aaa4..4d4146aedff 100644 --- a/reactos/include/ntos/disk.h +++ b/reactos/include/ntos/disk.h @@ -12,7 +12,7 @@ #ifndef __INCLUDE_DISK_H #define __INCLUDE_DISK_H -#ifndef __NTDDDISK_H +#ifndef __USE_W32API #define IOCTL_DISK_BASE FILE_DEVICE_DISK @@ -177,12 +177,9 @@ typedef struct _DRIVE_LAYOUT_INFORMATION PARTITION_INFORMATION PartitionEntry[1]; } DRIVE_LAYOUT_INFORMATION; -#ifndef __USE_W32API typedef DRIVE_LAYOUT_INFORMATION *PDRIVE_LAYOUT_INFORMATION; #endif -#endif - #endif /* __INCLUDE_DISK_H */ /* EOF */ diff --git a/reactos/include/ntos/fstypes.h b/reactos/include/ntos/fstypes.h index 3aa21a66770..4bf6a45fb53 100644 --- a/reactos/include/ntos/fstypes.h +++ b/reactos/include/ntos/fstypes.h @@ -24,18 +24,4 @@ typedef struct _MCB { LARGE_MCB LargeMcb; } MCB, *PMCB; - -typedef struct _FILE_LOCK_GRANTED { - LIST_ENTRY ListEntry; - FILE_LOCK_INFO Lock; - PVOID UnlockContext; -} FILE_LOCK_GRANTED, *PFILE_LOCK_GRANTED; - - -typedef struct _FILE_LOCK_TOC { - KSPIN_LOCK SpinLock; - LIST_ENTRY GrantedListHead; - LIST_ENTRY PendingListHead; -} FILE_LOCK_TOC, *PFILE_LOCK_TOC; - #endif /* __INCLUDE_DDK_FSTYPES_H */ diff --git a/reactos/include/ntos/kefuncs.h b/reactos/include/ntos/kefuncs.h index 70487666672..17c7febeafc 100644 --- a/reactos/include/ntos/kefuncs.h +++ b/reactos/include/ntos/kefuncs.h @@ -94,6 +94,12 @@ KeFlushEntireTb( IN BOOLEAN Unknown, IN BOOLEAN CurrentCpuOnly); +struct _KPROCESS* +STDCALL +KeGetCurrentProcess( + VOID +); + VOID STDCALL KeFlushWriteBuffer( VOID); diff --git a/reactos/include/ntos/krnltypes.h b/reactos/include/ntos/krnltypes.h index a2f3a84951c..4b9060a8782 100644 --- a/reactos/include/ntos/krnltypes.h +++ b/reactos/include/ntos/krnltypes.h @@ -11,6 +11,53 @@ #define DOE_REMOVE_PROCESSED 0x8 #define DOE_START_PENDING 0x10 +extern POBJECT_TYPE EXPORTED ExMutantObjectType; +extern POBJECT_TYPE EXPORTED ExTimerType; + +typedef struct _SECTION_BASIC_INFORMATION +{ + PVOID BaseAddress; + ULONG Attributes; + LARGE_INTEGER Size; +} SECTION_BASIC_INFORMATION, *PSECTION_BASIC_INFORMATION; + +typedef struct _SECTION_IMAGE_INFORMATION +{ + ULONG EntryPoint; + ULONG Unknown1; + ULONG_PTR StackReserve; + ULONG_PTR StackCommit; + ULONG Subsystem; + USHORT MinorSubsystemVersion; + USHORT MajorSubsystemVersion; + ULONG Unknown2; + ULONG Characteristics; + USHORT ImageNumber; + BOOLEAN Executable; + UCHAR Unknown3; + ULONG Unknown4[3]; +} SECTION_IMAGE_INFORMATION, *PSECTION_IMAGE_INFORMATION; + +typedef struct _MAILSLOT_CREATE_PARAMETERS +{ + ULONG MailslotQuota; + ULONG MaximumMessageSize; + LARGE_INTEGER ReadTimeout; + BOOLEAN TimeoutSpecified; +} MAILSLOT_CREATE_PARAMETERS, *PMAILSLOT_CREATE_PARAMETERS; + +typedef struct _NAMED_PIPE_CREATE_PARAMETERS +{ + ULONG NamedPipeType; + ULONG ReadMode; + ULONG CompletionMode; + ULONG MaximumInstances; + ULONG InboundQuota; + ULONG OutboundQuota; + LARGE_INTEGER DefaultTimeout; + BOOLEAN TimeoutSpecified; +} NAMED_PIPE_CREATE_PARAMETERS, *PNAMED_PIPE_CREATE_PARAMETERS; + /* * PURPOSE: Special timer associated with each device */ @@ -39,6 +86,68 @@ typedef struct _EX_WORK_QUEUE { EX_QUEUE_WORKER_INFO Info; } EX_WORK_QUEUE, *PEX_WORK_QUEUE; +typedef struct _KDPC_DATA +{ + LIST_ENTRY DpcListHead; + ULONG DpcLock; + ULONG DpcQueueDepth; + ULONG DpcCount; +} KDPC_DATA, *PKDPC_DATA; + +typedef struct _KTRAP_FRAME +{ + PVOID DebugEbp; + PVOID DebugEip; + PVOID DebugArgMark; + PVOID DebugPointer; + PVOID TempCs; + PVOID TempEip; + ULONG Dr0; + ULONG Dr1; + ULONG Dr2; + ULONG Dr3; + ULONG Dr6; + ULONG Dr7; + USHORT Gs; + USHORT Reserved1; + USHORT Es; + USHORT Reserved2; + USHORT Ds; + USHORT Reserved3; + ULONG Edx; + ULONG Ecx; + ULONG Eax; + ULONG PreviousMode; + PVOID ExceptionList; + USHORT Fs; + USHORT Reserved4; + ULONG Edi; + ULONG Esi; + ULONG Ebx; + ULONG Ebp; + ULONG ErrorCode; + ULONG Eip; + ULONG Cs; + ULONG Eflags; + ULONG Esp; + USHORT Ss; + USHORT Reserved5; + USHORT V86_Es; + USHORT Reserved6; + USHORT V86_Ds; + USHORT Reserved7; + USHORT V86_Fs; + USHORT Reserved8; + USHORT V86_Gs; + USHORT Reserved9; +} KTRAP_FRAME, *PKTRAP_FRAME; + +typedef struct _PP_LOOKASIDE_LIST +{ + struct _GENERAL_LOOKASIDE *P; + struct _GENERAL_LOOKASIDE *L; +} PP_LOOKASIDE_LIST, *PPP_LOOKASIDE_LIST; + typedef enum _PP_NPAGED_LOOKASIDE_NUMBER { LookasideSmallIrpList = 0, diff --git a/reactos/include/ntos/ntpnp.h b/reactos/include/ntos/ntpnp.h index 426ff76d576..dc3de4fac26 100644 --- a/reactos/include/ntos/ntpnp.h +++ b/reactos/include/ntos/ntpnp.h @@ -71,6 +71,7 @@ typedef enum _PLUGPLAY_EVENT_CATEGORY { MaxPlugEventCategory } PLUGPLAY_EVENT_CATEGORY; +#ifndef __USE_W32API typedef enum _PNP_VETO_TYPE { PNP_VetoTypeUnknown, PNP_VetoLegacyDevice, @@ -86,6 +87,7 @@ typedef enum _PNP_VETO_TYPE { PNP_VetoLegacyDriver, PNP_VetoInsufficientRights, } PNP_VETO_TYPE; +#endif /* * Plug and Play event structure used by NtGetPlugPlayEvent. diff --git a/reactos/include/ntos/rtltypes.h b/reactos/include/ntos/rtltypes.h index be9ceb1b7f0..f0e2fa8f4c5 100755 --- a/reactos/include/ntos/rtltypes.h +++ b/reactos/include/ntos/rtltypes.h @@ -187,28 +187,6 @@ typedef struct _INITIAL_TEB PVOID StackReserved; } INITIAL_TEB, *PINITIAL_TEB; -#else /* __USE_W32API */ - -#include - -#endif /* __USE_W32API */ - -typedef struct _RTL_HEAP_DEFINITION -{ - ULONG Length; - ULONG Unknown[11]; -} RTL_HEAP_DEFINITION, *PRTL_HEAP_DEFINITION; - -typedef struct _RTL_ATOM_TABLE -{ - ULONG TableSize; - ULONG NumberOfAtoms; - PVOID Lock; /* fast mutex (kernel mode)/ critical section (user mode) */ - PVOID HandleTable; - LIST_ENTRY Slot[0]; -} RTL_ATOM_TABLE, *PRTL_ATOM_TABLE; - - #define MAXIMUM_LEADBYTES 12 typedef struct _CPTABLEINFO @@ -236,6 +214,30 @@ typedef struct _NLSTABLEINFO } NLSTABLEINFO, *PNLSTABLEINFO; +#else /* __USE_W32API */ + +#include + +#endif /* __USE_W32API */ + +typedef struct _RTL_HEAP_DEFINITION +{ + ULONG Length; + ULONG Unknown[11]; +} RTL_HEAP_DEFINITION, *PRTL_HEAP_DEFINITION; + +typedef struct _RTL_ATOM_TABLE +{ + ULONG TableSize; + ULONG NumberOfAtoms; + PVOID Lock; /* fast mutex (kernel mode)/ critical section (user mode) */ + PVOID HandleTable; + LIST_ENTRY Slot[0]; +} RTL_ATOM_TABLE, *PRTL_ATOM_TABLE; + + + + #include typedef struct _NLS_FILE_HEADER diff --git a/reactos/include/ntos/zw.h b/reactos/include/ntos/zw.h index 89dd4ba9f75..c85089e0bd7 100755 --- a/reactos/include/ntos/zw.h +++ b/reactos/include/ntos/zw.h @@ -53,44 +53,6 @@ typedef struct _EVENT_BASIC_INFORMATION } EVENT_BASIC_INFORMATION, *PEVENT_BASIC_INFORMATION; // wmi trace event data -typedef struct _EVENT_TRACE_HEADER { - USHORT Size; - union { - USHORT FieldTypeFlags; - struct { - UCHAR HeaderType; - UCHAR MarkerFlags; - }; - }; - union { - ULONG Version; - struct { - UCHAR Type; - UCHAR Level; - USHORT Version; - } Class; - }; - ULONG ThreadId; - ULONG ProcessId; - LARGE_INTEGER TimeStamp; - union { - GUID Guid; - ULONGLONG GuidPtr; - }; - union { - struct { - ULONG ClientContext; - ULONG Flags; - }; - struct { - ULONG KernelTime; - ULONG UserTime; - }; - ULONG64 ProcessorTime; - }; -} EVENT_TRACE_HEADER, *PEVENT_TRACE_HEADER; - - typedef struct _FILE_USER_QUOTA_INFORMATION { ULONG NextEntryOffset; ULONG SidLength; diff --git a/reactos/include/ntos/zwtypes.h b/reactos/include/ntos/zwtypes.h index 4a68eda9a6c..e675224f8ff 100755 --- a/reactos/include/ntos/zwtypes.h +++ b/reactos/include/ntos/zwtypes.h @@ -1793,6 +1793,11 @@ typedef VOID STDCALL_FUNC #endif /* __USE_W32API */ +typedef enum _IO_COMPLETION_INFORMATION_CLASS +{ + IoCompletionBasicInformation +} IO_COMPLETION_INFORMATION_CLASS; + /* BEGIN REACTOS ONLY */ typedef enum _TRAVERSE_METHOD { diff --git a/reactos/ntoskrnl/include/internal/ex.h b/reactos/ntoskrnl/include/internal/ex.h index a55546910dd..bf51ba717ff 100644 --- a/reactos/ntoskrnl/include/internal/ex.h +++ b/reactos/ntoskrnl/include/internal/ex.h @@ -83,9 +83,6 @@ extern LARGE_INTEGER ExpTimeZoneBias; extern ULONG ExpTimeZoneId; extern POBJECT_TYPE ExEventPairObjectType; -extern POBJECT_TYPE EXPORTED ExMutantObjectType; -extern POBJECT_TYPE EXPORTED ExSemaphoreObjectType; -extern POBJECT_TYPE EXPORTED ExTimerType; /* INITIALIZATION FUNCTIONS *************************************************/ diff --git a/reactos/ntoskrnl/include/internal/i386/ke.h b/reactos/ntoskrnl/include/internal/i386/ke.h index 5dc9d8dad37..ccd691e107e 100644 --- a/reactos/ntoskrnl/include/internal/i386/ke.h +++ b/reactos/ntoskrnl/include/internal/i386/ke.h @@ -111,54 +111,6 @@ #ifndef __ASM__ -typedef struct _KTRAP_FRAME -{ - PVOID DebugEbp; - PVOID DebugEip; - PVOID DebugArgMark; - PVOID DebugPointer; - PVOID TempSegSs; - PVOID TempEsp; - ULONG Dr0; - ULONG Dr1; - ULONG Dr2; - ULONG Dr3; - ULONG Dr6; - ULONG Dr7; - USHORT Gs; - USHORT Reserved1; - USHORT Es; - USHORT Reserved2; - USHORT Ds; - USHORT Reserved3; - ULONG Edx; - ULONG Ecx; - ULONG Eax; - ULONG PreviousMode; - PVOID ExceptionList; - USHORT Fs; - USHORT Reserved4; - ULONG Edi; - ULONG Esi; - ULONG Ebx; - ULONG Ebp; - ULONG ErrorCode; - ULONG Eip; - ULONG Cs; - ULONG Eflags; - ULONG Esp; - USHORT Ss; - USHORT Reserved5; - USHORT V86_Es; - USHORT Reserved6; - USHORT V86_Ds; - USHORT Reserved7; - USHORT V86_Fs; - USHORT Reserved8; - USHORT V86_Gs; - USHORT Reserved9; -} KTRAP_FRAME, *PKTRAP_FRAME; - typedef struct _KIRQ_TRAPFRAME { ULONG Magic; diff --git a/reactos/ntoskrnl/include/internal/i386/ps.h b/reactos/ntoskrnl/include/internal/i386/ps.h index 1b43b1fab02..35880c02f79 100644 --- a/reactos/ntoskrnl/include/internal/i386/ps.h +++ b/reactos/ntoskrnl/include/internal/i386/ps.h @@ -21,7 +21,7 @@ #ifdef __USE_W32API #ifndef __ASM__ -#include +#include /* FIXME: TEMP HACK */ #endif #endif diff --git a/reactos/ntoskrnl/include/internal/ifs.h b/reactos/ntoskrnl/include/internal/ifs.h index e7527ee5962..0393af3f54a 100644 --- a/reactos/ntoskrnl/include/internal/ifs.h +++ b/reactos/ntoskrnl/include/internal/ifs.h @@ -4,6 +4,19 @@ /* Look for "FSrt" in mem view */ #define IFS_POOL_TAG 0x74725346 +typedef struct _FILE_LOCK_GRANTED { + LIST_ENTRY ListEntry; + FILE_LOCK_INFO Lock; + PVOID UnlockContext; +} FILE_LOCK_GRANTED, *PFILE_LOCK_GRANTED; + + +typedef struct _FILE_LOCK_TOC { + KSPIN_LOCK SpinLock; + LIST_ENTRY GrantedListHead; + LIST_ENTRY PendingListHead; +} FILE_LOCK_TOC, *PFILE_LOCK_TOC; + VOID STDCALL INIT_FUNCTION FsRtlpInitNotifyImplementation(VOID); diff --git a/reactos/ntoskrnl/include/internal/ke.h b/reactos/ntoskrnl/include/internal/ke.h index 4b2501af546..e76b03f6e5f 100644 --- a/reactos/ntoskrnl/include/internal/ke.h +++ b/reactos/ntoskrnl/include/internal/ke.h @@ -212,11 +212,6 @@ typedef struct _KPROCESS /* INTERNAL KERNEL FUNCTIONS ************************************************/ -#ifdef __USE_W32API -struct _KPROCESS* STDCALL KeGetCurrentProcess(VOID); -VOID KeSetGdtSelector(ULONG Entry, ULONG Value1, ULONG Value2); -#endif - struct _KIRQ_TRAPFRAME; struct _KPCR; struct _KPRCB; diff --git a/reactos/ntoskrnl/include/internal/nls.h b/reactos/ntoskrnl/include/internal/nls.h index 84787cba712..9ce7f9ad208 100644 --- a/reactos/ntoskrnl/include/internal/nls.h +++ b/reactos/ntoskrnl/include/internal/nls.h @@ -36,8 +36,6 @@ VOID RtlpImportUnicodeCasemap(PUSHORT TableBase, ULONG Size); VOID RtlpCreateInitialNlsTables(VOID); VOID RtlpCreateNlsSection(VOID); -WCHAR RtlDowncaseUnicodeChar (IN WCHAR Source); - #endif /* __NTOSKRNL_INCLUDE_INTERNAL_NLS_H */ /* EOF */ diff --git a/reactos/ntoskrnl/include/internal/ps.h b/reactos/ntoskrnl/include/internal/ps.h index 2ac82ab698d..9a74afb3add 100644 --- a/reactos/ntoskrnl/include/internal/ps.h +++ b/reactos/ntoskrnl/include/internal/ps.h @@ -115,7 +115,7 @@ typedef struct _ETHREAD struct _EPROCESS *ThreadsProcess; /* 218 */ PKSTART_ROUTINE StartAddress; /* 21C */ union { - LPTHREAD_START_ROUTINE Win32StartAddress; /* 220 */ + PTHREAD_START_ROUTINE Win32StartAddress; /* 220 */ ULONG LpcReceivedMessageId; /* 220 */ }; LIST_ENTRY ThreadListEntry; /* 224 */ @@ -239,7 +239,7 @@ typedef struct _EPROCESS ACCESS_MASK GrantedAccess; /* 194 */ ULONG DefaultHardErrorProcessing; /* 198 */ NTSTATUS LastThreadExitStatus; /* 19C */ - PPEB Peb; /* 1A0 */ + struct _PEB* Peb; /* 1A0 */ EX_FAST_REF PrefetchTrace; /* 1A4 */ LARGE_INTEGER ReadOperationCount; /* 1A8 */ LARGE_INTEGER WriteOperationCount; /* 1B0 */ diff --git a/reactos/ntoskrnl/include/internal/xhal.h b/reactos/ntoskrnl/include/internal/xhal.h index 089f7352823..0d6c7bc27ac 100644 --- a/reactos/ntoskrnl/include/internal/xhal.h +++ b/reactos/ntoskrnl/include/internal/xhal.h @@ -1,6 +1,8 @@ #ifndef __INCLUDE_INTERNAL_XHAL_H #define __INCLUDE_INTERNAL_XHAL_H +#include + NTSTATUS xHalQueryDriveLayout(IN PUNICODE_STRING DeviceName, OUT PDRIVE_LAYOUT_INFORMATION *LayoutInfo);