Many fixes to NDK

svn path=/trunk/; revision=16071
This commit is contained in:
Alex Ionescu 2005-06-19 03:25:33 +00:00
parent 5a4296bcec
commit 0af7b6f7a0
11 changed files with 139 additions and 129 deletions

View file

@ -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

View file

@ -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 *********************************************************************/

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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;

View file

@ -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 @@ 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
);

View file

@ -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

View file

@ -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
);

View file

@ -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 */