diff --git a/reactos/ChangeLog b/reactos/ChangeLog index c99eb04a1e5..ecd46f1ad8e 100644 --- a/reactos/ChangeLog +++ b/reactos/ChangeLog @@ -1,3 +1,44 @@ +2003-05-28 Casper S. Hornstrup + + 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 . + * 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 . + * include/ddk/iotypes.h: Include . + * 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 . + * include/ddk/ntifs.h: #include_next . + * 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 . + * ntoskrnl/ke/i386/syscall.S: Don't include . + (KernelMode, UserMode): Define. + * ntoskrnl/ke/i386/stkswitch.S, ntoskrnl/ke/i386/tskswitch.S, + ntoskrnl/ke/i386/v86m_sup.S: Include + 2003-05-25 Casper S. Hornstrup * Makefile: Fix typo. diff --git a/reactos/apps/tests/icontest/icontest.rc b/reactos/apps/tests/icontest/icontest.rc index d5642bb4249..5003913f534 100644 --- a/reactos/apps/tests/icontest/icontest.rc +++ b/reactos/apps/tests/icontest/icontest.rc @@ -2,4 +2,4 @@ #include #include "resource.h" -IDI_ICON ICON DISCARDABLE "ICON.ICO" +IDI_ICON ICON DISCARDABLE "icon.ico" diff --git a/reactos/include/ddk/defines.h b/reactos/include/ddk/defines.h index de9e1865f51..de64b724a3c 100644 --- a/reactos/include/ddk/defines.h +++ b/reactos/include/ddk/defines.h @@ -5,14 +5,13 @@ #ifndef __ASM__ +#ifndef _WIN32_WINNT #define _WIN32_WINNT 0x0400 +#endif #include #include -#define EXPORTED __declspec(dllexport) -#define IMPORTED __declspec(dllimport) - /* * PURPOSE: Number of a thread priority levels */ diff --git a/reactos/include/ddk/exfuncs.h b/reactos/include/ddk/exfuncs.h index 026f90c801a..78872207bca 100644 --- a/reactos/include/ddk/exfuncs.h +++ b/reactos/include/ddk/exfuncs.h @@ -801,8 +801,10 @@ InterlockedIncrement ( PLONG Addend ); +#ifndef InterlockedExchangePointer #define InterlockedExchangePointer(__T__, __V__) \ (PVOID)InterlockedExchange((PLONG)(__T__), (LONG)(__V__)) +#endif /*---*/ diff --git a/reactos/include/ddk/halfuncs.h b/reactos/include/ddk/halfuncs.h index e9e274a1d85..0d53dfeef75 100644 --- a/reactos/include/ddk/halfuncs.h +++ b/reactos/include/ddk/halfuncs.h @@ -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 VOID STDCALL HalAcquireDisplayOwnership(IN PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters); diff --git a/reactos/include/ddk/haltypes.h b/reactos/include/ddk/haltypes.h deleted file mode 100644 index b13069f0f99..00000000000 --- a/reactos/include/ddk/haltypes.h +++ /dev/null @@ -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 */ diff --git a/reactos/include/ddk/i386/tss.h b/reactos/include/ddk/i386/tss.h deleted file mode 100644 index 361086a48c1..00000000000 --- a/reactos/include/ddk/i386/tss.h +++ /dev/null @@ -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 */ diff --git a/reactos/include/ddk/iotypes.h b/reactos/include/ddk/iotypes.h index 56c6977f4dc..c9dc22a471a 100644 --- a/reactos/include/ddk/iotypes.h +++ b/reactos/include/ddk/iotypes.h @@ -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 #include #include diff --git a/reactos/include/ddk/ketypes.h b/reactos/include/ddk/ketypes.h index 7851386c2c6..4b5921d1fc1 100644 --- a/reactos/include/ddk/ketypes.h +++ b/reactos/include/ddk/ketypes.h @@ -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; diff --git a/reactos/include/ddk/mmtypes.h b/reactos/include/ddk/mmtypes.h index b9c8b8f9cbe..05dd05e2655 100644 --- a/reactos/include/ddk/mmtypes.h +++ b/reactos/include/ddk/mmtypes.h @@ -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) diff --git a/reactos/include/ddk/ntddk.h b/reactos/include/ddk/ntddk.h index 0aee2311040..4910490246e 100644 --- a/reactos/include/ddk/ntddk.h +++ b/reactos/include/ddk/ntddk.h @@ -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 + +#else /* __USE_W32API */ + #ifndef __NTDDK_H #define __NTDDK_H @@ -50,7 +56,6 @@ extern "C" #include #include #include -#include #include #include #include @@ -61,7 +66,6 @@ extern "C" #include #include #include -#include #include #include @@ -88,3 +92,4 @@ extern "C" #endif /* __NTDDK_H */ +#endif /* __USE_W32API */ diff --git a/reactos/include/ddk/ntifs.h b/reactos/include/ddk/ntifs.h index 82632f7a88f..4cda7db60e5 100644 --- a/reactos/include/ddk/ntifs.h +++ b/reactos/include/ddk/ntifs.h @@ -1,3 +1,9 @@ +#ifdef __USE_W32API + +#include_next + +#else /* __USE_W32API */ + #ifndef __INCLUDE_DDK_NTIFS_H #define __INCLUDE_DDK_NTIFS_H @@ -15,3 +21,5 @@ CcRosReleaseFileCache (PFILE_OBJECT FileObject); #include #endif /* __INCLUDE_DDK_NTIFS_H */ + +#endif /* __USE_W32API */ diff --git a/reactos/include/ddk/obtypes.h b/reactos/include/ddk/obtypes.h deleted file mode 100644 index d6627b4e6c8..00000000000 --- a/reactos/include/ddk/obtypes.h +++ /dev/null @@ -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 */ diff --git a/reactos/include/ddk/pstypes.h b/reactos/include/ddk/pstypes.h index 9925904cbba..b34c67d1cb5 100644 --- a/reactos/include/ddk/pstypes.h +++ b/reactos/include/ddk/pstypes.h @@ -3,7 +3,7 @@ #include -#include +#include #include #ifndef TLS_MINIMUM_AVAILABLE diff --git a/reactos/include/errors.h b/reactos/include/errors.h index 30a219bcaf3..24745db7cd6 100644 --- a/reactos/include/errors.h +++ b/reactos/include/errors.h @@ -31,6 +31,12 @@ #ifndef _GNU_H_WINDOWS32_ERROR #define _GNU_H_WINDOWS32_ERROR +#ifdef __USE_W32API + +#include_next + +#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 */ diff --git a/reactos/include/napi/shared_data.h b/reactos/include/napi/shared_data.h index a44b154678c..f8c809d358b 100644 --- a/reactos/include/napi/shared_data.h +++ b/reactos/include/napi/shared_data.h @@ -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 diff --git a/reactos/include/ntos.h b/reactos/include/ntos.h index 4af8fed208a..a93d19a5c70 100644 --- a/reactos/include/ntos.h +++ b/reactos/include/ntos.h @@ -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 */ diff --git a/reactos/include/ntos/console.h b/reactos/include/ntos/console.h index fde2458fcf6..e9a83df30e0 100644 --- a/reactos/include/ntos/console.h +++ b/reactos/include/ntos/console.h @@ -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) diff --git a/reactos/include/ntos/except.h b/reactos/include/ntos/except.h index d464c5601ba..a24004c18cc 100644 --- a/reactos/include/ntos/except.h +++ b/reactos/include/ntos/except.h @@ -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 diff --git a/reactos/include/ntos/file.h b/reactos/include/ntos/file.h index 3899f8bd3f5..fd2d983ce02 100644 --- a/reactos/include/ntos/file.h +++ b/reactos/include/ntos/file.h @@ -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 */ diff --git a/reactos/include/ntos/rtl.h b/reactos/include/ntos/rtl.h index 0933529892b..bddd9dcfc24 100755 --- a/reactos/include/ntos/rtl.h +++ b/reactos/include/ntos/rtl.h @@ -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 ); diff --git a/reactos/include/ntos/rtltypes.h b/reactos/include/ntos/rtltypes.h index 6d540063123..44a48adda82 100755 --- a/reactos/include/ntos/rtltypes.h +++ b/reactos/include/ntos/rtltypes.h @@ -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 - -#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 + +#endif /* __USE_W32API */ + typedef struct _RTL_HEAP_DEFINITION { ULONG Length; diff --git a/reactos/include/ntos/types.h b/reactos/include/ntos/types.h index e7739afe63f..3d917b6aa99 100644 --- a/reactos/include/ntos/types.h +++ b/reactos/include/ntos/types.h @@ -14,6 +14,9 @@ #ifndef __INCLUDE_TYPES_H #define __INCLUDE_TYPES_H +#define EXPORTED __declspec(dllexport) +#define IMPORTED __declspec(dllimport) + #include #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 */ diff --git a/reactos/include/ntos/zwtypes.h b/reactos/include/ntos/zwtypes.h index 9bd7d743a1f..d179589f16c 100755 --- a/reactos/include/ntos/zwtypes.h +++ b/reactos/include/ntos/zwtypes.h @@ -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 diff --git a/reactos/include/ole32/guiddef.h b/reactos/include/ole32/guiddef.h index 9e10326bf63..81a827bce42 100644 --- a/reactos/include/ole32/guiddef.h +++ b/reactos/include/ole32/guiddef.h @@ -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_ diff --git a/reactos/include/win32k/color.h b/reactos/include/win32k/color.h index 2b68d196ac6..70b639ec35e 100644 --- a/reactos/include/win32k/color.h +++ b/reactos/include/win32k/color.h @@ -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 diff --git a/reactos/include/windows.h b/reactos/include/windows.h index 640481966f0..27dfb01bf91 100644 --- a/reactos/include/windows.h +++ b/reactos/include/windows.h @@ -32,6 +32,12 @@ #ifndef _GNU_H_WINDOWS_H #define _GNU_H_WINDOWS_H +#ifdef __USE_W32API + +#include_next + +#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 */ diff --git a/reactos/lib/msafd/include/debug.h b/reactos/lib/msafd/include/debug.h index 0430c329532..aff92db2c8d 100644 --- a/reactos/lib/msafd/include/debug.h +++ b/reactos/lib/msafd/include/debug.h @@ -48,7 +48,9 @@ extern DWORD DebugTraceLevel; #endif /* DBG */ - +#ifdef assert +#undef assert +#endif #define assert(x) ASSERT(x) diff --git a/reactos/lib/ntdll/rtl/unicode.c b/reactos/lib/ntdll/rtl/unicode.c index 8de9c81c62f..c422f773044 100644 --- a/reactos/lib/ntdll/rtl/unicode.c +++ b/reactos/lib/ntdll/rtl/unicode.c @@ -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; diff --git a/reactos/lib/string/Makefile b/reactos/lib/string/Makefile index 00e3b1471c3..39245ad33b3 100644 --- a/reactos/lib/string/Makefile +++ b/reactos/lib/string/Makefile @@ -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 diff --git a/reactos/lib/user32/include/debug.h b/reactos/lib/user32/include/debug.h index dc957fcbcce..c86cfac42b1 100644 --- a/reactos/lib/user32/include/debug.h +++ b/reactos/lib/user32/include/debug.h @@ -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) diff --git a/reactos/lib/ws2_32/include/debug.h b/reactos/lib/ws2_32/include/debug.h index c0ee7d95fe5..6ed0a126fae 100644 --- a/reactos/lib/ws2_32/include/debug.h +++ b/reactos/lib/ws2_32/include/debug.h @@ -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 */ diff --git a/reactos/lib/ws2help/debug.h b/reactos/lib/ws2help/debug.h index 13a623f8fb3..714354b5b37 100644 --- a/reactos/lib/ws2help/debug.h +++ b/reactos/lib/ws2help/debug.h @@ -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 */ diff --git a/reactos/ntoskrnl/ex/sysinfo.c b/reactos/ntoskrnl/ex/sysinfo.c index 178ffb91d5f..6522987b300 100644 --- a/reactos/ntoskrnl/ex/sysinfo.c +++ b/reactos/ntoskrnl/ex/sysinfo.c @@ -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 -#include -#include -#include +#define NTOS_MODE_KERNEL +#include #include #include #include diff --git a/reactos/ntoskrnl/include/internal/debug.h b/reactos/ntoskrnl/include/internal/debug.h index 148da1b3005..6cd638dee8b 100644 --- a/reactos/ntoskrnl/include/internal/debug.h +++ b/reactos/ntoskrnl/include/internal/debug.h @@ -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_) diff --git a/reactos/ntoskrnl/include/internal/i386/ps.h b/reactos/ntoskrnl/include/internal/i386/ps.h index f7eac43517b..85de865efde 100644 --- a/reactos/ntoskrnl/include/internal/i386/ps.h +++ b/reactos/ntoskrnl/include/internal/i386/ps.h @@ -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); diff --git a/reactos/ntoskrnl/include/internal/mm.h b/reactos/ntoskrnl/include/internal/mm.h index e47028964fd..69d54177691 100644 --- a/reactos/ntoskrnl/include/internal/mm.h +++ b/reactos/ntoskrnl/include/internal/mm.h @@ -153,10 +153,13 @@ typedef struct _MADDRESS_SPACE } MADDRESS_SPACE, *PMADDRESS_SPACE; +#ifndef __USE_W32API /* VARIABLES */ extern PVOID MmSystemRangeStart; +#endif /* __USE_W32API */ + /* FUNCTIONS */ diff --git a/reactos/ntoskrnl/include/internal/ntoskrnl.h b/reactos/ntoskrnl/include/internal/ntoskrnl.h index 9f5bc50f087..25d3e31b3c8 100644 --- a/reactos/ntoskrnl/include/internal/ntoskrnl.h +++ b/reactos/ntoskrnl/include/internal/ntoskrnl.h @@ -7,7 +7,8 @@ #ifndef __ASM__ -#include +#define NTOS_MODE_KERNEL +#include #include diff --git a/reactos/ntoskrnl/include/internal/ob.h b/reactos/ntoskrnl/include/internal/ob.h index 697277c49b7..23d67938295 100644 --- a/reactos/ntoskrnl/include/internal/ob.h +++ b/reactos/ntoskrnl/include/internal/ob.h @@ -9,7 +9,8 @@ #ifndef __INCLUDE_INTERNAL_OBJMGR_H #define __INCLUDE_INTERNAL_OBJMGR_H -#include +#define NTOS_MODE_KERNEL +#include struct _EPROCESS; diff --git a/reactos/ntoskrnl/include/internal/ps.h b/reactos/ntoskrnl/include/internal/ps.h index 1db9c10cdc8..80d4ddcdce8 100644 --- a/reactos/ntoskrnl/include/internal/ps.h +++ b/reactos/ntoskrnl/include/internal/ps.h @@ -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 */ diff --git a/reactos/ntoskrnl/ke/i386/bthread.S b/reactos/ntoskrnl/ke/i386/bthread.S index 9c671b5c4bc..63d6fabbeba 100644 --- a/reactos/ntoskrnl/ke/i386/bthread.S +++ b/reactos/ntoskrnl/ke/i386/bthread.S @@ -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 *****************************************************************/ diff --git a/reactos/ntoskrnl/ke/i386/exp.c b/reactos/ntoskrnl/ke/i386/exp.c index ccf8d7dfaee..cb3ceda8fd8 100644 --- a/reactos/ntoskrnl/ke/i386/exp.c +++ b/reactos/ntoskrnl/ke/i386/exp.c @@ -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); diff --git a/reactos/ntoskrnl/ke/i386/stkswitch.S b/reactos/ntoskrnl/ke/i386/stkswitch.S index 440b84813cf..73f22f6e4b4 100644 --- a/reactos/ntoskrnl/ke/i386/stkswitch.S +++ b/reactos/ntoskrnl/ke/i386/stkswitch.S @@ -28,7 +28,7 @@ #include #include -#include +#include /* FUNCTIONS ****************************************************************/ diff --git a/reactos/ntoskrnl/ke/i386/syscall.S b/reactos/ntoskrnl/ke/i386/syscall.S index 672da456f5b..1d98653fbd3 100644 --- a/reactos/ntoskrnl/ke/i386/syscall.S +++ b/reactos/ntoskrnl/ke/i386/syscall.S @@ -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 #include #include -#include + +#define KernelMode (0) +#define UserMode (1) /* * diff --git a/reactos/ntoskrnl/ke/i386/tskswitch.S b/reactos/ntoskrnl/ke/i386/tskswitch.S index 74099482a4c..b09efa67ba4 100644 --- a/reactos/ntoskrnl/ke/i386/tskswitch.S +++ b/reactos/ntoskrnl/ke/i386/tskswitch.S @@ -28,7 +28,7 @@ #include #include -#include +#include #include /* FUNCTIONS ****************************************************************/ diff --git a/reactos/ntoskrnl/ke/i386/v86m_sup.S b/reactos/ntoskrnl/ke/i386/v86m_sup.S index 0ee36633812..16a417cbe39 100644 --- a/reactos/ntoskrnl/ke/i386/v86m_sup.S +++ b/reactos/ntoskrnl/ke/i386/v86m_sup.S @@ -25,7 +25,7 @@ */ #include -#include +#include #include #include diff --git a/reactos/ntoskrnl/ob/handle.c b/reactos/ntoskrnl/ob/handle.c index 93d033e7757..8a38a1f322e 100644 --- a/reactos/ntoskrnl/ob/handle.c +++ b/reactos/ntoskrnl/ob/handle.c @@ -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 +#define NTOS_MODE_KERNEL +#include #include #include #include diff --git a/reactos/ntoskrnl/rtl/error.c b/reactos/ntoskrnl/rtl/error.c index 8e90792de8a..464ab7fd932 100644 --- a/reactos/ntoskrnl/rtl/error.c +++ b/reactos/ntoskrnl/rtl/error.c @@ -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 +#ifndef HIWORD #define HIWORD(l) ((WORD)(((DWORD)(l) >> 16) & 0xFFFF)) +#endif +#ifndef LOWORD #define LOWORD(l) ((WORD)(l)) +#endif /* TYPES *******************************************************************/ diff --git a/reactos/ntoskrnl/rtl/unicode.c b/reactos/ntoskrnl/rtl/unicode.c index d4350828f0a..9aa5348f5cd 100644 --- a/reactos/ntoskrnl/rtl/unicode.c +++ b/reactos/ntoskrnl/rtl/unicode.c @@ -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;