2003-05-28 Casper S. Hornstrup <chorns@users.sourceforge.net>

Changes for compiling with w32api

	* include/ddk/haltypes.h: Move ...
	* include/ntos/haltypes.h: ... here.
	* include/ddk/obtypes.h: Move ...
	* include/ntos/obtypes.h: ... here.
	* include/ddk/i386/tss.h: Move ...
	* include/ntos/tss.h: ... here.
	* include/errors.h, include/windows.h: #include_next <windows.h>.
	* include/ntos.h: Include "ntos/haltypes.h", "ntos/obtypes.h", and
	"ntos/tss.h".
	* include/ddk/defines.h (EXPORTED, IMPORTED): Move to
	include/ntos/types.h.
	* include/ddk/exfuncs.h, include/ddk/mmtypes.h, include/ntos/except.h,
	include/ntos/file.h, include/ole32/guiddef.h, include/win32k/color.h,
	lib/msafd/include/debug.h, lib/user32/include/debug.h,
	lib/ws2_32/include/debug.h, lib/ws2help/debug.h,
	ntoskrnl/include/internal/debug.h, ntoskrnl/ke/i386/bthread.S,
	ntoskrnl/rtl/error.c: Don't define macros if previously defined.
	* include/ddk/halfuncs.h: Include <ntos/haltypes.h>.
	* include/ddk/iotypes.h: Include <ntos/obtypes.h>.
	* include/ddk/ketypes.h (MB_FLAGS_*, LOADER_MODULE, ADDRESS_RANGE,
	LOADER_PARAMETER_BLOCK): Move to include/ntos/types.h.
	* include/ddk/ntddk.h: #include_next <ddk/ntddk.h>.
	* include/ddk/ntifs.h: #include_next <ddk/ntifs.h>.
	* include/napi/shared_data.h (SharedUserData): Undefine before defining.
	* include/ntos/rtl.h (RtlUpcaseUnicodeString): Correct prototype.
	* include/ntos/zwtypes.h (THREAD_STATE): Add.
	* lib/ntdll/rtl/unicode.c (RtlUpcaseUnicodeString): Match new prototype.
	* ntoskrnl/rtl/unicode.c (RtlUpcaseUnicodeString): Ditto.
	* lib/string/Makefile: Include Makefile.$(ARCH). Don't include
	makefile.$(ARCH).
	* ntoskrnl/ex/sysinfo.c, ntoskrnl/include/internal/ntoskrnl.h,
	* ntoskrnl/include/internal/ob.h, ntoskrnl/ob/handle.c: Include <ntos.h>.
	* ntoskrnl/ke/i386/syscall.S: Don't include <ddk/defines.h>.
	(KernelMode, UserMode): Define.
	* ntoskrnl/ke/i386/stkswitch.S, ntoskrnl/ke/i386/tskswitch.S,
	ntoskrnl/ke/i386/v86m_sup.S: Include <ntos/tss.h>

svn path=/trunk/; revision=4789
This commit is contained in:
Casper Hornstrup 2003-05-28 18:09:10 +00:00
parent 91987ce5dc
commit 2d947f6f92
49 changed files with 294 additions and 873 deletions

View file

@ -1,3 +1,44 @@
2003-05-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
Changes for compiling with w32api
* include/ddk/haltypes.h: Move ...
* include/ntos/haltypes.h: ... here.
* include/ddk/obtypes.h: Move ...
* include/ntos/obtypes.h: ... here.
* include/ddk/i386/tss.h: Move ...
* include/ntos/tss.h: ... here.
* include/errors.h, include/windows.h: #include_next <windows.h>.
* include/ntos.h: Include "ntos/haltypes.h", "ntos/obtypes.h", and
"ntos/tss.h".
* include/ddk/defines.h (EXPORTED, IMPORTED): Move to
include/ntos/types.h.
* include/ddk/exfuncs.h, include/ddk/mmtypes.h, include/ntos/except.h,
include/ntos/file.h, include/ole32/guiddef.h, include/win32k/color.h,
lib/msafd/include/debug.h, lib/user32/include/debug.h,
lib/ws2_32/include/debug.h, lib/ws2help/debug.h,
ntoskrnl/include/internal/debug.h, ntoskrnl/ke/i386/bthread.S,
ntoskrnl/rtl/error.c: Don't define macros if previously defined.
* include/ddk/halfuncs.h: Include <ntos/haltypes.h>.
* include/ddk/iotypes.h: Include <ntos/obtypes.h>.
* include/ddk/ketypes.h (MB_FLAGS_*, LOADER_MODULE, ADDRESS_RANGE,
LOADER_PARAMETER_BLOCK): Move to include/ntos/types.h.
* include/ddk/ntddk.h: #include_next <ddk/ntddk.h>.
* include/ddk/ntifs.h: #include_next <ddk/ntifs.h>.
* include/napi/shared_data.h (SharedUserData): Undefine before defining.
* include/ntos/rtl.h (RtlUpcaseUnicodeString): Correct prototype.
* include/ntos/zwtypes.h (THREAD_STATE): Add.
* lib/ntdll/rtl/unicode.c (RtlUpcaseUnicodeString): Match new prototype.
* ntoskrnl/rtl/unicode.c (RtlUpcaseUnicodeString): Ditto.
* lib/string/Makefile: Include Makefile.$(ARCH). Don't include
makefile.$(ARCH).
* ntoskrnl/ex/sysinfo.c, ntoskrnl/include/internal/ntoskrnl.h,
* ntoskrnl/include/internal/ob.h, ntoskrnl/ob/handle.c: Include <ntos.h>.
* ntoskrnl/ke/i386/syscall.S: Don't include <ddk/defines.h>.
(KernelMode, UserMode): Define.
* ntoskrnl/ke/i386/stkswitch.S, ntoskrnl/ke/i386/tskswitch.S,
ntoskrnl/ke/i386/v86m_sup.S: Include <ntos/tss.h>
2003-05-25 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile: Fix typo.

View file

@ -2,4 +2,4 @@
#include <reactos/resource.h>
#include "resource.h"
IDI_ICON ICON DISCARDABLE "ICON.ICO"
IDI_ICON ICON DISCARDABLE "icon.ico"

View file

@ -5,14 +5,13 @@
#ifndef __ASM__
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0400
#endif
#include <ddk/kedef.h>
#include <ddk/iodef.h>
#define EXPORTED __declspec(dllexport)
#define IMPORTED __declspec(dllimport)
/*
* PURPOSE: Number of a thread priority levels
*/

View file

@ -801,8 +801,10 @@ InterlockedIncrement (
PLONG Addend
);
#ifndef InterlockedExchangePointer
#define InterlockedExchangePointer(__T__, __V__) \
(PVOID)InterlockedExchange((PLONG)(__T__), (LONG)(__V__))
#endif
/*---*/

View file

@ -1,6 +1,8 @@
#ifndef __INCLUDE_DDK_HALFUNCS_H
#define __INCLUDE_DDK_HALFUNCS_H
/* $Id: halfuncs.h,v 1.4 2003/02/26 14:11:41 ekohl Exp $ */
/* $Id: halfuncs.h,v 1.5 2003/05/28 18:09:09 chorns Exp $ */
#include <ntos/haltypes.h>
VOID STDCALL
HalAcquireDisplayOwnership(IN PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters);

View file

@ -1,483 +0,0 @@
/* $Id: haltypes.h,v 1.10 2003/04/27 18:08:56 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: include/ddk/haltypes.h
* PURPOSE: HAL provided defintions for device drivers
* PROGRAMMER: David Welch (welch@mcmail.com)
* REVISION HISTORY:
* 23/06/98: Taken from linux system.h
*/
#ifndef __INCLUDE_DDK_HALTYPES_H
#define __INCLUDE_DDK_HALTYPES_H
/* HalReturnToFirmware */
#define FIRMWARE_HALT 1
#define FIRMWARE_REBOOT 3
enum
{
DEVICE_DESCRIPTION_VERSION,
DEVICE_DESCRIPTION_VERSION1,
};
typedef ULONG DMA_WIDTH;
typedef ULONG DMA_SPEED;
/*
* PURPOSE: Types for HalGetBusData
*/
typedef enum _BUS_DATA_TYPE
{
ConfigurationSpaceUndefined = -1,
Cmos,
EisaConfiguration,
Pos,
CbusConfiguration,
PCIConfiguration,
VMEConfiguration,
NuBusConfiguration,
PCMCIAConfiguration,
MPIConfiguration,
MPSAConfiguration,
PNPISAConfiguration,
MaximumBusDataType,
} BUS_DATA_TYPE, *PBUS_DATA_TYPE;
typedef struct _DEVICE_DESCRIPTION
{
ULONG Version;
BOOLEAN Master;
BOOLEAN ScatterGather;
BOOLEAN DemandMode;
BOOLEAN AutoInitialize;
BOOLEAN Dma32BitAddress;
BOOLEAN IgnoreCount;
BOOLEAN Reserved1;
BOOLEAN Reserved2;
ULONG BusNumber;
ULONG DmaChannel;
INTERFACE_TYPE InterfaceType;
DMA_WIDTH DmaWidth;
DMA_SPEED DmaSpeed;
ULONG MaximumLength;
ULONG DmaPort;
} DEVICE_DESCRIPTION, *PDEVICE_DESCRIPTION;
/* PCI bus definitions */
#define PCI_TYPE0_ADDRESSES 6
#define PCI_TYPE1_ADDRESSES 2
#define PCI_TYPE2_ADDRESSES 5
typedef struct _PCI_COMMON_CONFIG
{
USHORT VendorID; /* read-only */
USHORT DeviceID; /* read-only */
USHORT Command;
USHORT Status;
UCHAR RevisionID; /* read-only */
UCHAR ProgIf; /* read-only */
UCHAR SubClass; /* read-only */
UCHAR BaseClass; /* read-only */
UCHAR CacheLineSize; /* read-only */
UCHAR LatencyTimer; /* read-only */
UCHAR HeaderType; /* read-only */
UCHAR BIST;
union
{
struct _PCI_HEADER_TYPE_0
{
ULONG BaseAddresses[PCI_TYPE0_ADDRESSES];
ULONG CIS;
USHORT SubVendorID;
USHORT SubSystemID;
ULONG ROMBaseAddress;
ULONG Reserved2[2];
UCHAR InterruptLine;
UCHAR InterruptPin; /* read-only */
UCHAR MinimumGrant; /* read-only */
UCHAR MaximumLatency; /* read-only */
} type0;
/* PCI to PCI Bridge */
struct _PCI_HEADER_TYPE_1
{
ULONG BaseAddresses[PCI_TYPE1_ADDRESSES];
UCHAR PrimaryBus;
UCHAR SecondaryBus;
UCHAR SubordinateBus;
UCHAR SecondaryLatency;
UCHAR IOBase;
UCHAR IOLimit;
USHORT SecondaryStatus;
USHORT MemoryBase;
USHORT MemoryLimit;
USHORT PrefetchBase;
USHORT PrefetchLimit;
ULONG PrefetchBaseUpper32;
ULONG PrefetchLimitUpper32;
USHORT IOBaseUpper16;
USHORT IOLimitUpper16;
UCHAR CapabilitiesPtr;
UCHAR Reserved1[3];
ULONG ROMBaseAddress;
UCHAR InterruptLine;
UCHAR InterruptPin;
USHORT BridgeControl;
} type1;
/* PCI to CARDBUS Bridge */
struct _PCI_HEADER_TYPE_2
{
ULONG SocketRegistersBaseAddress;
UCHAR CapabilitiesPtr;
UCHAR Reserved;
USHORT SecondaryStatus;
UCHAR PrimaryBus;
UCHAR SecondaryBus;
UCHAR SubordinateBus;
UCHAR SecondaryLatency;
struct
{
ULONG Base;
ULONG Limit;
} Range[PCI_TYPE2_ADDRESSES-1];
UCHAR InterruptLine;
UCHAR InterruptPin;
USHORT BridgeControl;
} type2;
} u;
UCHAR DeviceSpecific[192];
} PCI_COMMON_CONFIG, *PPCI_COMMON_CONFIG;
#define PCI_COMMON_HDR_LENGTH (FIELD_OFFSET (PCI_COMMON_CONFIG, DeviceSpecific))
#define PCI_MAX_DEVICES 32
#define PCI_MAX_FUNCTION 8
#define PCI_INVALID_VENDORID 0xFFFF
/* Bit encodings for PCI_COMMON_CONFIG.HeaderType */
#define PCI_MULTIFUNCTION 0x80
#define PCI_DEVICE_TYPE 0x00
#define PCI_BRIDGE_TYPE 0x01
/* Bit encodings for PCI_COMMON_CONFIG.Command */
#define PCI_ENABLE_IO_SPACE 0x0001
#define PCI_ENABLE_MEMORY_SPACE 0x0002
#define PCI_ENABLE_BUS_MASTER 0x0004
#define PCI_ENABLE_SPECIAL_CYCLES 0x0008
#define PCI_ENABLE_WRITE_AND_INVALIDATE 0x0010
#define PCI_ENABLE_VGA_COMPATIBLE_PALETTE 0x0020
#define PCI_ENABLE_PARITY 0x0040
#define PCI_ENABLE_WAIT_CYCLE 0x0080
#define PCI_ENABLE_SERR 0x0100
#define PCI_ENABLE_FAST_BACK_TO_BACK 0x0200
/* Bit encodings for PCI_COMMON_CONFIG.Status */
#define PCI_STATUS_FAST_BACK_TO_BACK 0x0080
#define PCI_STATUS_DATA_PARITY_DETECTED 0x0100
#define PCI_STATUS_DEVSEL 0x0600 /* 2 bits wide */
#define PCI_STATUS_SIGNALED_TARGET_ABORT 0x0800
#define PCI_STATUS_RECEIVED_TARGET_ABORT 0x1000
#define PCI_STATUS_RECEIVED_MASTER_ABORT 0x2000
#define PCI_STATUS_SIGNALED_SYSTEM_ERROR 0x4000
#define PCI_STATUS_DETECTED_PARITY_ERROR 0x8000
/* PCI device classes */
#define PCI_CLASS_PRE_20 0x00
#define PCI_CLASS_MASS_STORAGE_CTLR 0x01
#define PCI_CLASS_NETWORK_CTLR 0x02
#define PCI_CLASS_DISPLAY_CTLR 0x03
#define PCI_CLASS_MULTIMEDIA_DEV 0x04
#define PCI_CLASS_MEMORY_CTLR 0x05
#define PCI_CLASS_BRIDGE_DEV 0x06
#define PCI_CLASS_SIMPLE_COMMS_CTLR 0x07
#define PCI_CLASS_BASE_SYSTEM_DEV 0x08
#define PCI_CLASS_INPUT_DEV 0x09
#define PCI_CLASS_DOCKING_STATION 0x0a
#define PCI_CLASS_PROCESSOR 0x0b
#define PCI_CLASS_SERIAL_BUS_CTLR 0x0c
/* PCI device subclasses for class 1 (mass storage controllers)*/
#define PCI_SUBCLASS_MSC_SCSI_BUS_CTLR 0x00
#define PCI_SUBCLASS_MSC_IDE_CTLR 0x01
#define PCI_SUBCLASS_MSC_FLOPPY_CTLR 0x02
#define PCI_SUBCLASS_MSC_IPI_CTLR 0x03
#define PCI_SUBCLASS_MSC_RAID_CTLR 0x04
#define PCI_SUBCLASS_MSC_OTHER 0x80
/* Bit encodes for PCI_COMMON_CONFIG.u.type0.BaseAddresses */
#define PCI_ADDRESS_IO_SPACE 0x00000001
#define PCI_ADDRESS_MEMORY_TYPE_MASK 0x00000006
#define PCI_ADDRESS_MEMORY_PREFETCHABLE 0x00000008
#define PCI_ADDRESS_IO_ADDRESS_MASK 0xfffffffc
#define PCI_ADDRESS_MEMORY_ADDRESS_MASK 0xfffffff0
#define PCI_ADDRESS_ROM_ADDRESS_MASK 0xfffff800
#define PCI_TYPE_32BIT 0
#define PCI_TYPE_20BIT 2
#define PCI_TYPE_64BIT 4
/* Bit encodes for PCI_COMMON_CONFIG.u.type0.ROMBaseAddresses */
#define PCI_ROMADDRESS_ENABLED 0x00000001
typedef struct _PCI_SLOT_NUMBER
{
union
{
struct
{
ULONG DeviceNumber:5;
ULONG FunctionNumber:3;
ULONG Reserved:24;
} bits;
ULONG AsULONG;
} u;
} PCI_SLOT_NUMBER, *PPCI_SLOT_NUMBER;
/* Hal dispatch table */
typedef enum _HAL_QUERY_INFORMATION_CLASS
{
HalInstalledBusInformation,
HalProfileSourceInformation,
HalSystemDockInformation,
HalPowerInformation,
HalProcessorSpeedInformation,
HalCallbackInformation,
HalMapRegisterInformation,
HalMcaLogInformation,
HalFrameBufferCachingInformation,
HalDisplayBiosInformation
/* information levels >= 0x8000000 reserved for OEM use */
} HAL_QUERY_INFORMATION_CLASS, *PHAL_QUERY_INFORMATION_CLASS;
typedef enum _HAL_SET_INFORMATION_CLASS
{
HalProfileSourceInterval,
HalProfileSourceInterruptHandler,
HalMcaRegisterDriver
} HAL_SET_INFORMATION_CLASS, *PHAL_SET_INFORMATION_CLASS;
typedef struct _BUS_HANDLER *PBUS_HANDLER;
typedef struct _DEVICE_HANDLER_OBJECT *PDEVICE_HANDLER_OBJECT;
typedef BOOLEAN STDCALL_FUNC
(*PHAL_RESET_DISPLAY_PARAMETERS)(ULONG Columns, ULONG Rows);
typedef NTSTATUS STDCALL_FUNC
(*pHalQuerySystemInformation)(IN HAL_QUERY_INFORMATION_CLASS InformationClass,
IN ULONG BufferSize,
IN OUT PVOID Buffer,
OUT PULONG ReturnedLength);
typedef NTSTATUS STDCALL_FUNC
(*pHalSetSystemInformation)(IN HAL_SET_INFORMATION_CLASS InformationClass,
IN ULONG BufferSize,
IN PVOID Buffer);
typedef NTSTATUS STDCALL_FUNC
(*pHalQueryBusSlots)(IN PBUS_HANDLER BusHandler,
IN ULONG BufferSize,
OUT PULONG SlotNumbers,
OUT PULONG ReturnedLength);
/* Control codes of HalDeviceControl function */
#define BCTL_EJECT 0x0001
#define BCTL_QUERY_DEVICE_ID 0x0002
#define BCTL_QUERY_DEVICE_UNIQUE_ID 0x0003
#define BCTL_QUERY_DEVICE_CAPABILITIES 0x0004
#define BCTL_QUERY_DEVICE_RESOURCES 0x0005
#define BCTL_QUERY_DEVICE_RESOURCE_REQUIREMENTS 0x0006
#define BCTL_QUERY_EJECT 0x0007
#define BCTL_SET_LOCK 0x0008
#define BCTL_SET_POWER 0x0009
#define BCTL_SET_RESUME 0x000A
#define BCTL_SET_DEVICE_RESOURCES 0x000B
/* Defines for BCTL structures */
typedef struct
{
BOOLEAN PowerSupported;
BOOLEAN ResumeSupported;
BOOLEAN LockSupported;
BOOLEAN EjectSupported;
BOOLEAN Removable;
} BCTL_DEVICE_CAPABILITIES, *PBCTL_DEVICE_CAPABILITIES;
typedef struct _DEVICE_CONTROL_CONTEXT
{
NTSTATUS Status;
PDEVICE_HANDLER_OBJECT DeviceHandler;
PDEVICE_OBJECT DeviceObject;
ULONG ControlCode;
PVOID Buffer;
PULONG BufferLength;
PVOID Context;
} DEVICE_CONTROL_CONTEXT, *PDEVICE_CONTROL_CONTEXT;
typedef VOID STDCALL_FUNC
(*PDEVICE_CONTROL_COMPLETION)(IN PDEVICE_CONTROL_CONTEXT ControlContext);
typedef NTSTATUS STDCALL_FUNC
(*pHalDeviceControl)(IN PDEVICE_HANDLER_OBJECT DeviceHandler,
IN PDEVICE_OBJECT DeviceObject,
IN ULONG ControlCode,
IN OUT PVOID Buffer OPTIONAL,
IN OUT PULONG BufferLength OPTIONAL,
IN PVOID Context,
IN PDEVICE_CONTROL_COMPLETION CompletionRoutine);
typedef VOID FASTCALL
(*pHalExamineMBR)(IN PDEVICE_OBJECT DeviceObject,
IN ULONG SectorSize,
IN ULONG MBRTypeIdentifier,
OUT PVOID *Buffer);
typedef VOID FASTCALL
(*pHalIoAssignDriveLetters)(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
IN PSTRING NtDeviceName,
OUT PUCHAR NtSystemPath,
OUT PSTRING NtSystemPathString);
typedef NTSTATUS FASTCALL
(*pHalIoReadPartitionTable)(IN PDEVICE_OBJECT DeviceObject,
IN ULONG SectorSize,
IN BOOLEAN ReturnRecognizedPartitions,
OUT PDRIVE_LAYOUT_INFORMATION *PartitionBuffer);
typedef NTSTATUS FASTCALL
(*pHalIoSetPartitionInformation)(IN PDEVICE_OBJECT DeviceObject,
IN ULONG SectorSize,
IN ULONG PartitionNumber,
IN ULONG PartitionType);
typedef NTSTATUS FASTCALL
(*pHalIoWritePartitionTable)(IN PDEVICE_OBJECT DeviceObject,
IN ULONG SectorSize,
IN ULONG SectorsPerTrack,
IN ULONG NumberOfHeads,
IN PDRIVE_LAYOUT_INFORMATION PartitionBuffer);
typedef PBUS_HANDLER FASTCALL
(*pHalHandlerForBus)(IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber);
typedef VOID FASTCALL
(*pHalReferenceBusHandler)(IN PBUS_HANDLER BusHandler);
typedef struct _HAL_DISPATCH
{
ULONG Version;
pHalQuerySystemInformation HalQuerySystemInformation;
pHalSetSystemInformation HalSetSystemInformation;
pHalQueryBusSlots HalQueryBusSlots;
pHalDeviceControl HalDeviceControl;
pHalExamineMBR HalExamineMBR;
pHalIoAssignDriveLetters HalIoAssignDriveLetters;
pHalIoReadPartitionTable HalIoReadPartitionTable;
pHalIoSetPartitionInformation HalIoSetPartitionInformation;
pHalIoWritePartitionTable HalIoWritePartitionTable;
pHalHandlerForBus HalReferenceHandlerForBus;
pHalReferenceBusHandler HalReferenceBusHandler;
pHalReferenceBusHandler HalDereferenceBusHandler;
} HAL_DISPATCH, *PHAL_DISPATCH;
#ifdef __NTOSKRNL__
extern HAL_DISPATCH EXPORTED HalDispatchTable;
#define HALDISPATCH (&HalDispatchTable)
#else
extern PHAL_DISPATCH IMPORTED HalDispatchTable;
#define HALDISPATCH ((PHAL_DISPATCH)&HalDispatchTable)
#endif
#define HAL_DISPATCH_VERSION 1
#define HalDispatchTableVersion HALDISPATCH->Version
#define HalQuerySystemInformation HALDISPATCH->HalQuerySystemInformation
#define HalSetSystemInformation HALDISPATCH->HalSetSystemInformation
#define HalQueryBusSlots HALDISPATCH->HalQueryBusSlots
#define HalDeviceControl HALDISPATCH->HalDeviceControl
#define HalExamineMBR HALDISPATCH->HalExamineMBR
#define HalIoAssignDriveLetters HALDISPATCH->HalIoAssignDriveLetters
#define HalIoReadPartitionTable HALDISPATCH->HalIoReadPartitionTable
#define HalIoSetPartitionInformation HALDISPATCH->HalIoSetPartitionInformation
#define HalIoWritePartitionTable HALDISPATCH->HalIoWritePartitionTable
#define HalReferenceHandlerForBus HALDISPATCH->HalReferenceHandlerForBus
#define HalReferenceBusHandler HALDISPATCH->HalReferenceBusHandler
#define HalDereferenceBusHandler HALDISPATCH->HalDereferenceBusHandler
/* Hal private dispatch table */
typedef struct _HAL_PRIVATE_DISPATCH
{
ULONG Version;
} HAL_PRIVATE_DISPATCH, *PHAL_PRIVATE_DISPATCH;
#ifdef __NTOSKRNL__
extern HAL_PRIVATE_DISPATCH EXPORTED HalPrivateDispatchTable;
#else
extern PHAL_PRIVATE_DISPATCH IMPORTED HalPrivateDispatchTable;
#endif
#define HAL_PRIVATE_DISPATCH_VERSION 1
/*
* Kernel debugger section
*/
typedef struct _KD_PORT_INFORMATION
{
ULONG ComPort;
ULONG BaudRate;
ULONG BaseAddress;
} KD_PORT_INFORMATION, *PKD_PORT_INFORMATION;
#ifdef __NTHAL__
extern ULONG EXPORTED KdComPortInUse;
#else
extern ULONG IMPORTED KdComPortInUse;
#endif
#endif /* __INCLUDE_DDK_HALTYPES_H */
/* EOF */

View file

@ -1,57 +0,0 @@
/*
*
*/
#ifndef __INCLUDE_DDK_I386_TSS_H
#define __INCLUDE_DDK_I386_TSS_H
#define KTSS_ESP0 (0x4)
#ifndef __ASM__
typedef struct _KTSS
{
USHORT PreviousTask;
USHORT Reserved1;
ULONG Esp0;
USHORT Ss0;
USHORT Reserved2;
ULONG Esp1;
USHORT Ss1;
USHORT Reserved3;
ULONG Esp2;
USHORT Ss2;
USHORT Reserved4;
ULONG Cr3;
ULONG Eip;
ULONG Eflags;
ULONG Eax;
ULONG Ecx;
ULONG Edx;
ULONG Ebx;
ULONG Esp;
ULONG Ebp;
ULONG Esi;
ULONG Edi;
USHORT Es;
USHORT Reserved5;
USHORT Cs;
USHORT Reserved6;
USHORT Ss;
USHORT Reserved7;
USHORT Ds;
USHORT Reserved8;
USHORT Fs;
USHORT Reserved9;
USHORT Gs;
USHORT Reserved10;
USHORT Ldt;
USHORT Reserved11;
USHORT Trap;
USHORT IoMapBase;
UCHAR IoBitmap[1];
} KTSS __attribute__((packed));
#endif /* not __ASM__ */
#endif /* __INCLUDE_DDK_I386_TSS_H */

View file

@ -1,10 +1,11 @@
/* $Id: iotypes.h,v 1.47 2003/04/27 18:08:56 ekohl Exp $
/* $Id: iotypes.h,v 1.48 2003/05/28 18:09:09 chorns Exp $
*
*/
#ifndef __INCLUDE_DDK_IOTYPES_H
#define __INCLUDE_DDK_IOTYPES_H
#include <ntos/obtypes.h>
#include <ntos/disk.h>
#include <ntos/file.h>

View file

@ -3,54 +3,6 @@
#ifndef __INCLUDE_DDK_KETYPES_H
#define __INCLUDE_DDK_KETYPES_H
#define MB_FLAGS_MEM_INFO (0x1)
#define MB_FLAGS_BOOT_DEVICE (0x2)
#define MB_FLAGS_COMMAND_LINE (0x4)
#define MB_FLAGS_MODULE_INFO (0x8)
#define MB_FLAGS_AOUT_SYMS (0x10)
#define MB_FLAGS_ELF_SYMS (0x20)
#define MB_FLAGS_MMAP_INFO (0x40)
#define MB_FLAGS_DRIVES_INFO (0x80)
#define MB_FLAGS_CONFIG_TABLE (0x100)
#define MB_FLAGS_BOOT_LOADER_NAME (0x200)
#define MB_FLAGS_APM_TABLE (0x400)
#define MB_FLAGS_GRAPHICS_TABLE (0x800)
typedef struct _LOADER_MODULE
{
ULONG ModStart;
ULONG ModEnd;
ULONG String;
ULONG Reserved;
} LOADER_MODULE, *PLOADER_MODULE;
typedef struct _ADDRESS_RANGE
{
ULONG BaseAddrLow;
ULONG BaseAddrHigh;
ULONG LengthLow;
ULONG LengthHigh;
ULONG Type;
} ADDRESS_RANGE, *PADDRESS_RANGE;
typedef struct _LOADER_PARAMETER_BLOCK
{
ULONG Flags;
ULONG MemLower;
ULONG MemHigher;
ULONG BootDevice;
ULONG CommandLine;
ULONG ModsCount;
ULONG ModsAddr;
UCHAR Syms[12];
ULONG MmapLength;
ULONG MmapAddr;
ULONG DrivesCount;
ULONG DrivesAddr;
ULONG ConfigTable;
ULONG BootLoaderName;
} LOADER_PARAMETER_BLOCK, *PLOADER_PARAMETER_BLOCK;
#ifdef __NTOSKRNL__
extern CHAR EXPORTED KeNumberProcessors;
extern LOADER_PARAMETER_BLOCK EXPORTED KeLoaderBlock;

View file

@ -1,4 +1,4 @@
/* $Id: mmtypes.h,v 1.14 2002/10/01 19:27:19 chorns Exp $ */
/* $Id: mmtypes.h,v 1.15 2003/05/28 18:09:09 chorns Exp $ */
#ifndef _INCLUDE_DDK_MMTYPES_H
#define _INCLUDE_DDK_MMTYPES_H
@ -19,7 +19,9 @@
/*
* PURPOSE: Returns the byte offset of a field within a structure
*/
#ifndef FIELD_OFFSET
#define FIELD_OFFSET(Type,Field) (LONG)(&(((Type *)(0))->Field))
#endif
/*
* PURPOSE: Returns the base address structure if the caller knows the
@ -29,7 +31,9 @@
* Type = Type of the whole structure
* Field = Name of the field whose address is none
*/
#ifndef CONTAINING_RECORD
#define CONTAINING_RECORD(Address,Type,Field) (Type *)(((LONG)Address) - FIELD_OFFSET(Type,Field))
#endif
#define MDL_MAPPED_TO_SYSTEM_VA (0x1)

View file

@ -1,4 +1,4 @@
/* $Id: ntddk.h,v 1.34 2003/02/15 18:43:20 ekohl Exp $
/* $Id: ntddk.h,v 1.35 2003/05/28 18:09:09 chorns Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -9,6 +9,12 @@
* 15/05/98: Created
*/
#ifdef __USE_W32API
#include_next <ddk/ntddk.h>
#else /* __USE_W32API */
#ifndef __NTDDK_H
#define __NTDDK_H
@ -50,7 +56,6 @@ extern "C"
#include <ddk/ketypes.h>
#include <ntos/security.h>
#include <ddk/setypes.h>
#include <ddk/obtypes.h>
#include <ddk/mmtypes.h>
#include <ddk/potypes.h>
#include <ddk/pnptypes.h>
@ -61,7 +66,6 @@ extern "C"
#include <ntos/zwtypes.h>
#include <ddk/ioctrl.h>
#include <ntos/rtltypes.h>
#include <ddk/haltypes.h>
#include <napi/shared_data.h>
#include <ntos/zw.h>
@ -88,3 +92,4 @@ extern "C"
#endif /* __NTDDK_H */
#endif /* __USE_W32API */

View file

@ -1,3 +1,9 @@
#ifdef __USE_W32API
#include_next <ddk/ntifs.h>
#else /* __USE_W32API */
#ifndef __INCLUDE_DDK_NTIFS_H
#define __INCLUDE_DDK_NTIFS_H
@ -15,3 +21,5 @@ CcRosReleaseFileCache (PFILE_OBJECT FileObject);
#include <ddk/fsfuncs.h>
#endif /* __INCLUDE_DDK_NTIFS_H */
#endif /* __USE_W32API */

View file

@ -1,204 +0,0 @@
#ifndef _INCLUDE_DDK_OBTYPES_H
#define _INCLUDE_DDK_OBTYPES_H
/* $Id: obtypes.h,v 1.20 2003/02/15 18:43:20 ekohl Exp $ */
struct _DIRECTORY_OBJECT;
struct _OBJECT_ATTRIBUTES;
typedef ULONG ACCESS_STATE, *PACCESS_STATE;
typedef struct _OBJECT_HANDLE_INFORMATION {
ULONG HandleAttributes;
ACCESS_MASK GrantedAccess;
} OBJECT_HANDLE_INFORMATION, *POBJECT_HANDLE_INFORMATION;
typedef struct _OBJECT_TYPE
{
/*
* PURPOSE: Tag to be used when allocating objects of this type
*/
ULONG Tag;
/*
* PURPOSE: Name of the type
*/
UNICODE_STRING TypeName;
/*
* PURPOSE: Total number of objects of this type
*/
ULONG TotalObjects;
/*
* PURPOSE: Total number of handles of this type
*/
ULONG TotalHandles;
/*
* PURPOSE: Maximum objects of this type
*/
ULONG MaxObjects;
/*
* PURPOSE: Maximum handles of this type
*/
ULONG MaxHandles;
/*
* PURPOSE: Paged pool charge
*/
ULONG PagedPoolCharge;
/*
* PURPOSE: Nonpaged pool charge
*/
ULONG NonpagedPoolCharge;
/*
* PURPOSE: Mapping of generic access rights
*/
PGENERIC_MAPPING Mapping;
/*
* PURPOSE: Dumps the object
* NOTE: To be defined
*/
VOID STDCALL_FUNC (*Dump)(VOID);
/*
* PURPOSE: Opens the object
* NOTE: To be defined
*/
VOID STDCALL_FUNC (*Open)(VOID);
/*
* PURPOSE: Called to close an object if OkayToClose returns true
*/
VOID STDCALL_FUNC (*Close)(PVOID ObjectBody,
ULONG HandleCount);
/*
* PURPOSE: Called to delete an object when the last reference is removed
*/
VOID STDCALL_FUNC (*Delete)(PVOID ObjectBody);
/*
* PURPOSE: Called when an open attempts to open a file apparently
* residing within the object
* RETURNS
* STATUS_SUCCESS NextObject was found
* STATUS_UNSUCCESSFUL NextObject not found
* STATUS_REPARSE Path changed, restart parsing the path
*/
NTSTATUS STDCALL_FUNC (*Parse)(PVOID ParsedObject,
PVOID *NextObject,
PUNICODE_STRING FullPath,
PWSTR *Path,
ULONG Attributes);
/*
* PURPOSE: Called to set, query, delete or assign a security-descriptor
* to the object
* RETURNS
* STATUS_SUCCESS NextObject was found
*/
NTSTATUS STDCALL_FUNC (*Security)(PVOID ObjectBody,
SECURITY_OPERATION_CODE OperationCode,
SECURITY_INFORMATION SecurityInformation,
PSECURITY_DESCRIPTOR SecurityDescriptor,
PULONG BufferLength);
/*
*/
VOID STDCALL_FUNC (*QueryName)(VOID);
/*
* PURPOSE: Called when a process asks to close the object
*/
VOID STDCALL_FUNC (*OkayToClose)(VOID);
NTSTATUS STDCALL_FUNC (*Create)(PVOID ObjectBody,
PVOID Parent,
PWSTR RemainingPath,
struct _OBJECT_ATTRIBUTES* ObjectAttributes);
VOID STDCALL_FUNC (*DuplicationNotify)(PEPROCESS DuplicateTo,
PEPROCESS DuplicateFrom,
PVOID Object);
} OBJECT_TYPE, *POBJECT_TYPE;
typedef struct _OBJECT_HEADER
/*
* PURPOSE: Header for every object managed by the object manager
*/
{
UNICODE_STRING Name;
LIST_ENTRY Entry;
LONG RefCount;
LONG HandleCount;
BOOLEAN CloseInProcess;
BOOLEAN Permanent;
struct _DIRECTORY_OBJECT* Parent;
POBJECT_TYPE ObjectType;
/*
* PURPOSE: Object type
* NOTE: This overlaps the first member of the object body
*/
CSHORT Type;
/*
* PURPOSE: Object size
* NOTE: This overlaps the second member of the object body
*/
CSHORT Size;
} OBJECT_HEADER, *POBJECT_HEADER;
typedef struct _OBJECT_ATTRIBUTES
{
ULONG Length;
HANDLE RootDirectory;
PUNICODE_STRING ObjectName;
ULONG Attributes;
SECURITY_DESCRIPTOR *SecurityDescriptor;
SECURITY_QUALITY_OF_SERVICE *SecurityQualityOfService;
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
typedef struct _HANDLE_TABLE
{
LIST_ENTRY ListHead;
KSPIN_LOCK ListLock;
} HANDLE_TABLE, *PHANDLE_TABLE;
extern POBJECT_TYPE ObDirectoryType;
#if 0
#define OBJECT_TYPE_0 0
#define OBJECT_TYPE_1 1
#define OBJECT_TYPE_DIRECTORY 2
#define OBJECT_TYPE_SYMBOLICLINK 3
#define OBJECT_TYPE_TOKEN 4
#define OBJECT_TYPE_PROCESS 5
#define OBJECT_TYPE_THREAD 6
#define OBJECT_TYPE_EVENT 7
#define OBJECT_TYPE_8 8
#define OBJECT_TYPE_MUTANT 9
#define OBJECT_TYPE_SEMAPHORE 10
#define OBJECT_TYPE_TIMER 11
#define OBJECT_TYPE_12 12
#define OBJECT_TYPE_WINDOWSTATION 13
#define OBJECT_TYPE_DESKTOP 14
#define OBJECT_TYPE_SECTION 15
#define OBJECT_TYPE_KEY 16
#define OBJECT_TYPE_PORT 17
#define OBJECT_TYPE_18 18
#define OBJECT_TYPE_19 19
#define OBJECT_TYPE_20 20
#define OBJECT_TYPE_21 21
#define OBJECT_TYPE_IOCOMPLETION 22
#define OBJECT_TYPE_FILE 23
#endif
#endif /* ndef _INCLUDE_DDK_OBTYPES_H */

View file

@ -3,7 +3,7 @@
#include <ntos/ps.h>
#include <ddk/i386/tss.h>
#include <ntos/tss.h>
#include <napi/teb.h>
#ifndef TLS_MINIMUM_AVAILABLE

View file

@ -31,6 +31,12 @@
#ifndef _GNU_H_WINDOWS32_ERROR
#define _GNU_H_WINDOWS32_ERROR
#ifdef __USE_W32API
#include_next <windows.h>
#else /* !__USE_W32API */
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
@ -1165,4 +1171,6 @@ extern "C" {
}
#endif /* __cplusplus */
#endif /* !__USE_W32API */
#endif /* _GNU_H_WINDOWS32_ERROR */

View file

@ -59,6 +59,9 @@ typedef struct _KUSER_SHARED_DATA
#if defined(__NTOSKRNL__) || defined(__NTDRIVER__) || defined(__NTHAL__)
#define KI_USER_SHARED_DATA (0xFFDF0000)
#ifdef SharedUserData
#undef SharedUserData
#endif
#define SharedUserData ((KUSER_SHARED_DATA * const)KI_USER_SHARED_DATA)
#else
#ifndef __USE_W32API

View file

@ -1,6 +1,6 @@
#ifndef _NTOS_H
#define _NTOS_H
/* $Id: ntos.h,v 1.8 2002/11/24 18:24:51 robd Exp $ */
/* $Id: ntos.h,v 1.9 2003/05/28 18:09:09 chorns Exp $ */
#if defined(NTOS_MODE_USER)
// include windows.h before ntddk.h to get user mode prototype for InterlockedXxx functions
@ -80,6 +80,9 @@
#include "ntos/rtl.h"
#include "ntos/zwtypes.h"
#include "ntos/zw.h"
#include "ntos/haltypes.h"
#include "ntos/obtypes.h"
#include "ntos/tss.h"
#endif
#endif /* ndef _NTOS_H */

View file

@ -17,11 +17,6 @@
#define CONSOLE_INPUT_MODE_VALID (0x0f)
#define CONSOLE_OUTPUT_MODE_VALID (0x03)
typedef struct _CONSOLE_FONT_INFO {
DWORD nFont;
COORD dwFontSize;
} CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO;
typedef struct _CONSOLE_SELECTION_INFO {
DWORD dwFlags;
COORD dwSelectionAnchor;
@ -30,6 +25,11 @@ typedef struct _CONSOLE_SELECTION_INFO {
#ifndef __USE_W32API
typedef struct _CONSOLE_FONT_INFO {
DWORD nFont;
COORD dwFontSize;
} CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO;
/* GetConsoleMode */
#define ENABLE_LINE_INPUT (0x02)
#define ENABLE_ECHO_INPUT (0x04)

View file

@ -57,7 +57,9 @@ typedef struct _EXCEPTION_RECORD {
/* ExceptionFlags */
#ifndef _GNU_H_WINDOWS32_DEFINES
#ifdef __NTOSKRNL__
#ifndef EXCEPTION_NONCONTINUABLE
#define EXCEPTION_NONCONTINUABLE 0x01
#endif
#endif /* __NTOSKRNL__ */
#endif /* _GNU_H_WINDOWS32_DEFINES */
#define EXCEPTION_UNWINDING 0x02

View file

@ -92,8 +92,6 @@
#define FILE_FILE_COMPRESSION (0x00000010)
#define FILE_VOLUME_IS_COMPRESSED (0x00008000)
#endif /* !__USE_W32API */
#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)
#define FILE_GENERIC_READ (STANDARD_RIGHTS_READ |\
@ -110,10 +108,11 @@
FILE_APPEND_DATA |\
SYNCHRONIZE)
#define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE |\
FILE_READ_ATTRIBUTES |\
FILE_EXECUTE |\
SYNCHRONIZE)
#endif /* !__USE_W32API */
#endif /* __INCLUDE_FILE_H */

View file

@ -1,4 +1,4 @@
/* $Id: rtl.h,v 1.9 2003/05/16 17:33:51 ekohl Exp $
/* $Id: rtl.h,v 1.10 2003/05/28 18:09:09 chorns Exp $
*
*/
@ -1927,7 +1927,7 @@ NTSTATUS
STDCALL
RtlUpcaseUnicodeString (
IN OUT PUNICODE_STRING DestinationString,
IN PUNICODE_STRING SourceString,
IN PCUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString
);

View file

@ -1,4 +1,4 @@
/* $Id: rtltypes.h,v 1.7 2003/05/16 17:33:51 ekohl Exp $
/* $Id: rtltypes.h,v 1.8 2003/05/28 18:09:09 chorns Exp $
*
*/
@ -123,12 +123,6 @@ typedef struct _RTL_SPLAY_LINKS
struct _RTL_SPLAY_LINKS *RightChild;
} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;
#else /* __USE_W32API */
#include <ddk/ntifs.h>
#endif /* __USE_W32API */
typedef struct _USER_STACK
{
PVOID FixedStackBase;
@ -138,6 +132,12 @@ typedef struct _USER_STACK
PVOID ExpandableStackBottom;
} USER_STACK, *PUSER_STACK;
#else /* __USE_W32API */
#include <ddk/ntifs.h>
#endif /* __USE_W32API */
typedef struct _RTL_HEAP_DEFINITION
{
ULONG Length;

View file

@ -14,6 +14,9 @@
#ifndef __INCLUDE_TYPES_H
#define __INCLUDE_TYPES_H
#define EXPORTED __declspec(dllexport)
#define IMPORTED __declspec(dllimport)
#include <basetsd.h>
#ifdef __GNUC__
@ -193,6 +196,8 @@ typedef struct _UNICODE_STRING
PWSTR Buffer;
} UNICODE_STRING, *PUNICODE_STRING;
typedef const UNICODE_STRING* PCUNICODE_STRING;
typedef struct _FLOATING_SAVE_AREA
{
DWORD ControlWord;
@ -464,4 +469,52 @@ typedef LPTHREAD_START_ROUTINE PTHREAD_START_ROUTINE;
#endif /* __USE_W32API */
typedef struct _ADDRESS_RANGE
{
ULONG BaseAddrLow;
ULONG BaseAddrHigh;
ULONG LengthLow;
ULONG LengthHigh;
ULONG Type;
} ADDRESS_RANGE, *PADDRESS_RANGE;
#define MB_FLAGS_MEM_INFO (0x1)
#define MB_FLAGS_BOOT_DEVICE (0x2)
#define MB_FLAGS_COMMAND_LINE (0x4)
#define MB_FLAGS_MODULE_INFO (0x8)
#define MB_FLAGS_AOUT_SYMS (0x10)
#define MB_FLAGS_ELF_SYMS (0x20)
#define MB_FLAGS_MMAP_INFO (0x40)
#define MB_FLAGS_DRIVES_INFO (0x80)
#define MB_FLAGS_CONFIG_TABLE (0x100)
#define MB_FLAGS_BOOT_LOADER_NAME (0x200)
#define MB_FLAGS_APM_TABLE (0x400)
#define MB_FLAGS_GRAPHICS_TABLE (0x800)
typedef struct _LOADER_MODULE
{
ULONG ModStart;
ULONG ModEnd;
ULONG String;
ULONG Reserved;
} LOADER_MODULE, *PLOADER_MODULE;
typedef struct _LOADER_PARAMETER_BLOCK
{
ULONG Flags;
ULONG MemLower;
ULONG MemHigher;
ULONG BootDevice;
ULONG CommandLine;
ULONG ModsCount;
ULONG ModsAddr;
UCHAR Syms[12];
ULONG MmapLength;
ULONG MmapAddr;
ULONG DrivesCount;
ULONG DrivesAddr;
ULONG ConfigTable;
ULONG BootLoaderName;
} LOADER_PARAMETER_BLOCK, *PLOADER_PARAMETER_BLOCK;
#endif /* __INCLUDE_TYPES_H */

View file

@ -3,6 +3,17 @@
#ifndef __USE_W32API
typedef enum _THREAD_STATE {
StateInitialized,
StateReady,
StateRunning,
StateStandby,
StateTerminated,
StateWait,
StateTransition,
StateUnknown
} THREAD_STATE;
typedef enum _DEBUG_CONTROL_CODE
{
DebugGetTraceInformation = 1,
@ -1225,21 +1236,24 @@ struct _SYSTEM_PATH_INFORMATION
// SystemProcessInformation (5)
typedef struct _SYSTEM_THREADS
{
TIME KernelTime;
TIME UserTime;
TIME CreateTime;
ULONG WaitTime;
PVOID StartAddress;
CLIENT_ID ClientId;
KPRIORITY Priority;
KPRIORITY BasePriority;
ULONG ContextSwitchCount;
ULONG State;
KWAIT_REASON WaitReason;
#ifndef __USE_W32API
typedef struct _SYSTEM_THREADS {
LARGE_INTEGER KernelTime;
LARGE_INTEGER UserTime;
LARGE_INTEGER CreateTime;
ULONG WaitTime;
PVOID StartAddress;
CLIENT_ID ClientId;
KPRIORITY Priority;
KPRIORITY BasePriority;
ULONG ContextSwitchCount;
THREAD_STATE State;
KWAIT_REASON WaitReason;
} SYSTEM_THREADS, *PSYSTEM_THREADS;
#endif /* __USE_W32API */
typedef struct _SYSTEM_PROCESSES_NT4
{
SIZE_T NextEntryDelta;
@ -1277,9 +1291,13 @@ typedef struct _SYSTEM_PROCESSES_NT5
SYSTEM_THREADS Threads[ANYSIZE_ARRAY];
} SYSTEM_PROCESSES_NT5, *PSYSTEM_PROCESSES_NT5;
#ifndef __USE_W32API
/* Not sure. What version are we emulating? */
typedef SYSTEM_PROCESSES_NT5 SYSTEM_PROCESSES, *PSYSTEM_PROCESSES;
#endif /* __USE_W32API */
// SystemCallCountInformation (6)
typedef
struct _SYSTEM_SDT_INFORMATION

View file

@ -68,19 +68,26 @@ Cambridge, MA 02139, USA.
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
const GUID name
#endif
#ifndef DEFINE_OLEGUID
#define DEFINE_OLEGUID(name, l, w1, w2) DEFINE_GUID(name, l, w1, w2, 0xC0,0,0,0,0,0,0,0x46)
#endif
// IID section
typedef GUID IID;
typedef IID* LPIID;
#ifndef IsEqualIID
#define IsEqualIID(riid1, riid2) IsEqualGUID(riid1, riid2)
#endif
// CLSID section
typedef GUID CLSID;
typedef CLSID* LPCLSID;
#ifndef IsEqualCLSID
#define IsEqualCLSID(rclsid1, rclsid2) IsEqualGUID(rclsid1, rclsid2)
#endif
// FMTID
typedef GUID FMTID;
@ -161,8 +168,12 @@ typedef FMTID* LPFMTID;
// compare functions for IID CLSID
#ifndef IsEqualIID
#define IsEqualIID(riid1, riid2) IsEqualGUID(riid1, riid2)
#endif
#ifndef IsEqualCLSID
#define IsEqualCLSID(rclsid1, rclsid2) IsEqualGUID(rclsid1, rclsid2)
#endif
// c++ helper functions
#if !defined _SYS_GUID_OPERATOR_EQ_ && !defined _NO_SYS_GUID_OPERATOR_EQ_

View file

@ -1,7 +1,9 @@
#ifndef __WIN32K_COLOR_H
#define __WIN32K_COLOR_H
#ifndef CLR_INVALID
#define CLR_INVALID 0xffffffff
#endif
#define PC_SYS_USED 0x80 // palentry is used (both system and logical)
#define PC_SYS_RESERVED 0x40 // system palentry is not to be mapped to
#define PC_SYS_MAPPED 0x10 // logical palentry is a direct alias for system palentry

View file

@ -32,6 +32,12 @@
#ifndef _GNU_H_WINDOWS_H
#define _GNU_H_WINDOWS_H
#ifdef __USE_W32API
#include_next <windows.h>
#else /* __USE_W32API */
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
@ -165,4 +171,6 @@
#endif
#endif
#endif /* !__USE_W32API */
#endif /* _GNU_H_WINDOWS_H */

View file

@ -48,7 +48,9 @@ extern DWORD DebugTraceLevel;
#endif /* DBG */
#ifdef assert
#undef assert
#endif
#define assert(x) ASSERT(x)

View file

@ -1,4 +1,4 @@
/* $Id: unicode.c,v 1.27 2003/05/21 16:11:02 ekohl Exp $
/* $Id: unicode.c,v 1.28 2003/05/28 18:09:10 chorns Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -1451,7 +1451,7 @@ NTSTATUS
STDCALL
RtlUpcaseUnicodeString(
IN OUT PUNICODE_STRING DestinationString,
IN PUNICODE_STRING SourceString,
IN PCUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString)
{
ULONG i;

View file

@ -1,4 +1,4 @@
# $Id: Makefile,v 1.1 2003/05/27 18:56:15 hbirr Exp $
# $Id: Makefile,v 1.2 2003/05/28 18:09:10 chorns Exp $
PATH_TO_TOP = ../..
@ -8,7 +8,7 @@ TARGET_NAME = string
include $(PATH_TO_TOP)/config
include makefile.$(ARCH)
include Makefile.$(ARCH)
TARGET_CFLAGS = -Wall -Werror

View file

@ -20,6 +20,10 @@
#define DEBUG_WINDOW 0x00000400
#define DEBUG_ULTRA 0xFFFFFFFF
#ifdef ASSERT
#undef ASSERT
#endif
#ifdef DBG
extern DWORD DebugTraceLevel;
@ -31,10 +35,6 @@ extern DWORD DebugTraceLevel;
DbgPrint _x_; \
}
#ifdef ASSERT
#undef ASSERT
#endif
#ifdef NASSERT
#define ASSERT(x)
#else /* NASSERT */
@ -52,7 +52,9 @@ extern DWORD DebugTraceLevel;
#endif /* DBG */
#ifdef assert
#undef assert
#endif
#define assert(x) ASSERT(x)
#define assert_irql(x) ASSERT_IRQL(x)

View file

@ -18,6 +18,10 @@
#define DEBUG_CHECK 0x00000100
#define DEBUG_ULTRA 0xFFFFFFFF
#ifdef ASSERT
#undef ASSERT
#endif
#ifdef DBG
extern DWORD DebugTraceLevel;
@ -29,10 +33,6 @@ extern DWORD DebugTraceLevel;
DbgPrint _x_; \
}
#ifdef ASSERT
#undef ASSERT
#endif
#ifdef NASSERT
#define ASSERT(x)
#else /* NASSERT */

View file

@ -17,6 +17,10 @@
#define DEBUG_ULTRA 0xFFFFFFFF
#ifdef ASSERT
#undef ASSERT
#endif
#ifdef DBG
extern DWORD DebugTraceLevel;
@ -28,10 +32,6 @@ extern DWORD DebugTraceLevel;
DbgPrint _x_; \
}
#ifdef ASSERT
#undef ASSERT
#endif
#ifdef NASSERT
#define ASSERT(x)
#else /* NASSERT */

View file

@ -1,4 +1,4 @@
/* $Id: sysinfo.c,v 1.20 2003/03/29 12:55:48 chorns Exp $
/* $Id: sysinfo.c,v 1.21 2003/05/28 18:09:10 chorns Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -14,10 +14,8 @@
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
#include <ddk/exfuncs.h>
#include <ddk/halfuncs.h>
#include <ddk/iofuncs.h>
#define NTOS_MODE_KERNEL
#include <ntos.h>
#include <internal/ex.h>
#include <internal/ldr.h>
#include <internal/safe.h>

View file

@ -29,6 +29,9 @@
/* Assert only on "checked" version */
#ifndef NASSERT
#ifdef assert
#undef assert
#endif
#define assert(x) if (!(x)) {DbgPrint("Assertion "#x" failed at %s:%d\n", __FILE__,__LINE__); KeBugCheck(0); }
#define assertmsg(_c_, _m_) \
@ -40,6 +43,9 @@
#else
#ifdef assert
#undef assert
#endif
#define assert(x)
#define assertmsg(_c_, _m_)
@ -51,6 +57,9 @@
#else /* DBG */
#define CPRINT(args...)
#ifdef assert
#undef assert
#endif
#define assert(x)
#define assertmsg(_c_, _m_)

View file

@ -65,6 +65,8 @@ typedef struct _KPCR
struct _KTHREAD* CurrentThread; /* 124 */
} __attribute__((packed)) KPCR, *PKPCR;
#ifndef __USE_W32API
static inline PKPCR KeGetCurrentKPCR(VOID)
{
ULONG value;
@ -76,6 +78,8 @@ static inline PKPCR KeGetCurrentKPCR(VOID)
return((PKPCR)value);
}
#endif /* __USE_W32API */
VOID
Ki386ContextSwitch(struct _KTHREAD* NewThread,
struct _KTHREAD* OldThread);

View file

@ -153,10 +153,13 @@ typedef struct _MADDRESS_SPACE
} MADDRESS_SPACE, *PMADDRESS_SPACE;
#ifndef __USE_W32API
/* VARIABLES */
extern PVOID MmSystemRangeStart;
#endif /* __USE_W32API */
/* FUNCTIONS */

View file

@ -7,7 +7,8 @@
#ifndef __ASM__
#include <ddk/ntddk.h>
#define NTOS_MODE_KERNEL
#include <ntos.h>
#include <stdarg.h>

View file

@ -9,7 +9,8 @@
#ifndef __INCLUDE_INTERNAL_OBJMGR_H
#define __INCLUDE_INTERNAL_OBJMGR_H
#include <ddk/types.h>
#define NTOS_MODE_KERNEL
#include <ntos.h>
struct _EPROCESS;

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: ps.h,v 1.44 2003/03/19 23:12:41 gdalsnes Exp $
/* $Id: ps.h,v 1.45 2003/05/28 18:09:10 chorns Exp $
*
* FILE: ntoskrnl/ke/kthread.c
* PURPOSE: Process manager definitions
@ -50,6 +50,8 @@ extern HANDLE SystemProcessHandle;
extern LCID PsDefaultThreadLocaleId;
extern LCID PsDefaultSystemLocaleId;
#ifndef __USE_W32API
typedef struct _KAPC_STATE
{
LIST_ENTRY ApcListHead[2];
@ -59,6 +61,8 @@ typedef struct _KAPC_STATE
USHORT UserApcPending;
} __attribute__((packed)) KAPC_STATE, *PKAPC_STATE;
#endif /* __USE_W32API */
typedef struct _KTHREAD
{
/* For waiting on thread exit */

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: bthread.S,v 1.7 2002/09/17 23:41:44 dwelch Exp $
/* $Id: bthread.S,v 1.8 2003/05/28 18:09:10 chorns Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -34,12 +34,24 @@
/* Values for contextflags */
#define CONTEXT_i386 0x10000
#ifndef CONTEXT_CONTROL
#define CONTEXT_CONTROL (CONTEXT_i386 | 1)
#endif
#ifndef CONTEXT_INTEGER
#define CONTEXT_INTEGER (CONTEXT_i386 | 2)
#endif
#ifndef CONTEXT_SEGMENTS
#define CONTEXT_SEGMENTS (CONTEXT_i386 | 4)
#endif
#ifndef CONTEXT_FLOATING_POINT
#define CONTEXT_FLOATING_POINT (CONTEXT_i386 | 8)
#endif
#ifndef CONTEXT_DEBUG_REGISTERS
#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386 | 0x10)
#endif
#ifndef CONTEXT_FULL
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS)
#endif
/* FUNCTIONS *****************************************************************/

View file

@ -181,8 +181,9 @@ KiKernelTrapHandler(PKTRAP_FRAME Tf, ULONG ExceptionNr, PVOID Cr2)
Er.NumberParameters = 0;
}
Er.ExceptionFlags = (STATUS_SINGLE_STEP == (NTSTATUS) Er.ExceptionCode || STATUS_BREAKPOINT == (NTSTATUS) Er.ExceptionCode ?
0 : EXCEPTION_NONCONTINUABLE);
Er.ExceptionFlags = ((NTSTATUS) STATUS_SINGLE_STEP == (NTSTATUS) Er.ExceptionCode
|| (NTSTATUS) STATUS_BREAKPOINT == (NTSTATUS) Er.ExceptionCode ?
0 : EXCEPTION_NONCONTINUABLE);
KiDispatchException(&Er, 0, Tf, KernelMode, TRUE);

View file

@ -28,7 +28,7 @@
#include <internal/i386/segment.h>
#include <internal/ps.h>
#include <ddk/i386/tss.h>
#include <ntos/tss.h>
/* FUNCTIONS ****************************************************************/

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: syscall.S,v 1.9 2002/09/08 10:23:30 chorns Exp $
/* $Id: syscall.S,v 1.10 2003/05/28 18:09:10 chorns Exp $
*
* FILE: ntoskrnl/hal/x86/syscall.s
* PURPOSE: 2E trap handler
@ -28,7 +28,9 @@
#include <ddk/status.h>
#include <internal/i386/segment.h>
#include <internal/ps.h>
#include <ddk/defines.h>
#define KernelMode (0)
#define UserMode (1)
/*
*

View file

@ -28,7 +28,7 @@
#include <internal/i386/segment.h>
#include <internal/ps.h>
#include <ddk/i386/tss.h>
#include <ntos/tss.h>
#include <internal/ntoskrnl.h>
/* FUNCTIONS ****************************************************************/

View file

@ -25,7 +25,7 @@
*/
#include <internal/v86m.h>
#include <ddk/i386/tss.h>
#include <ntos/tss.h>
#include <internal/trap.h>
#include <internal/ps.h>

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: handle.c,v 1.44 2003/04/18 09:37:01 gvg Exp $
/* $Id: handle.c,v 1.45 2003/05/28 18:09:10 chorns Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -29,7 +29,8 @@
/* INCLUDES ****************************************************************/
#include <ddk/ntddk.h>
#define NTOS_MODE_KERNEL
#include <ntos.h>
#include <internal/ob.h>
#include <internal/ps.h>
#include <internal/pool.h>

View file

@ -1,4 +1,4 @@
/* $Id: error.c,v 1.7 2002/12/08 16:23:32 robd Exp $
/* $Id: error.c,v 1.8 2003/05/28 18:09:10 chorns Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -25,8 +25,12 @@
#define NDEBUG
#include <internal/debug.h>
#ifndef HIWORD
#define HIWORD(l) ((WORD)(((DWORD)(l) >> 16) & 0xFFFF))
#endif
#ifndef LOWORD
#define LOWORD(l) ((WORD)(l))
#endif
/* TYPES *******************************************************************/

View file

@ -1,4 +1,4 @@
/* $Id: unicode.c,v 1.27 2003/05/20 14:38:05 ekohl Exp $
/* $Id: unicode.c,v 1.28 2003/05/28 18:09:10 chorns Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -1295,7 +1295,7 @@ RtlUnicodeStringToOemString(IN OUT POEM_STRING DestinationString,
NTSTATUS STDCALL
RtlUpcaseUnicodeString(IN OUT PUNICODE_STRING DestinationString,
IN PUNICODE_STRING SourceString,
IN PCUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString)
{
ULONG i;