mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
2003-05-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
* subsys/system/usetup/progress.c (ProgressNextStep): Check if NewPos is odd. svn path=/trunk/; revision=4790
This commit is contained in:
parent
2d947f6f92
commit
a255631bec
5 changed files with 741 additions and 2 deletions
|
@ -1,6 +1,11 @@
|
||||||
2003-05-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
|
2003-05-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
|
||||||
|
|
||||||
Changes for compiling with w32api
|
* subsys/system/usetup/progress.c (ProgressNextStep): Check if NewPos
|
||||||
|
is odd.
|
||||||
|
|
||||||
|
2003-05-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
|
||||||
|
|
||||||
|
Changes for compiling with w32api
|
||||||
|
|
||||||
* include/ddk/haltypes.h: Move ...
|
* include/ddk/haltypes.h: Move ...
|
||||||
* include/ntos/haltypes.h: ... here.
|
* include/ntos/haltypes.h: ... here.
|
||||||
|
|
492
reactos/include/ntos/haltypes.h
Executable file
492
reactos/include/ntos/haltypes.h
Executable file
|
@ -0,0 +1,492 @@
|
||||||
|
/* $Id: haltypes.h,v 1.1 2003/05/28 18:35:35 chorns 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
|
||||||
|
|
||||||
|
#ifndef __USE_W32API
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
#endif /* __USE_W32API */
|
||||||
|
|
||||||
|
/* 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;
|
||||||
|
|
||||||
|
#ifndef __USE_W32API
|
||||||
|
|
||||||
|
#ifdef __NTOSKRNL__
|
||||||
|
extern HAL_DISPATCH EXPORTED HalDispatchTable;
|
||||||
|
#define HALDISPATCH (&HalDispatchTable)
|
||||||
|
#else
|
||||||
|
extern PHAL_DISPATCH IMPORTED HalDispatchTable;
|
||||||
|
#define HALDISPATCH ((PHAL_DISPATCH)&HalDispatchTable)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* !__USE_W32API */
|
||||||
|
|
||||||
|
#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;
|
||||||
|
|
||||||
|
#ifndef __USE_W32API
|
||||||
|
|
||||||
|
#ifdef __NTOSKRNL__
|
||||||
|
extern HAL_PRIVATE_DISPATCH EXPORTED HalPrivateDispatchTable;
|
||||||
|
#else
|
||||||
|
extern PHAL_PRIVATE_DISPATCH IMPORTED HalPrivateDispatchTable;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* !__USE_W32API */
|
||||||
|
|
||||||
|
#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 */
|
185
reactos/include/ntos/obtypes.h
Executable file
185
reactos/include/ntos/obtypes.h
Executable file
|
@ -0,0 +1,185 @@
|
||||||
|
#ifndef _INCLUDE_DDK_OBTYPES_H
|
||||||
|
#define _INCLUDE_DDK_OBTYPES_H
|
||||||
|
/* $Id: obtypes.h,v 1.1 2003/05/28 18:35:35 chorns Exp $ */
|
||||||
|
struct _DIRECTORY_OBJECT;
|
||||||
|
struct _OBJECT_ATTRIBUTES;
|
||||||
|
|
||||||
|
#ifndef __USE_W32API
|
||||||
|
|
||||||
|
typedef ULONG ACCESS_STATE, *PACCESS_STATE;
|
||||||
|
|
||||||
|
typedef struct _OBJECT_HANDLE_INFORMATION {
|
||||||
|
ULONG HandleAttributes;
|
||||||
|
ACCESS_MASK GrantedAccess;
|
||||||
|
} OBJECT_HANDLE_INFORMATION, *POBJECT_HANDLE_INFORMATION;
|
||||||
|
|
||||||
|
#endif /* __USE_W32API */
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
#ifndef __USE_W32API
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
#endif /* __USE_W32API */
|
||||||
|
|
||||||
|
typedef struct _HANDLE_TABLE
|
||||||
|
{
|
||||||
|
LIST_ENTRY ListHead;
|
||||||
|
KSPIN_LOCK ListLock;
|
||||||
|
} HANDLE_TABLE, *PHANDLE_TABLE;
|
||||||
|
|
||||||
|
extern POBJECT_TYPE ObDirectoryType;
|
||||||
|
|
||||||
|
#endif /* ndef _INCLUDE_DDK_OBTYPES_H */
|
57
reactos/include/ntos/tss.h
Executable file
57
reactos/include/ntos/tss.h
Executable file
|
@ -0,0 +1,57 @@
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#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 */
|
|
@ -223,7 +223,7 @@ ProgressNextStep(PPROGRESS Bar)
|
||||||
&Written);
|
&Written);
|
||||||
coPos.X += Bar->Pos/2;
|
coPos.X += Bar->Pos/2;
|
||||||
|
|
||||||
if (Pos & 1)
|
if (NewPos & 1)
|
||||||
{
|
{
|
||||||
FillConsoleOutputCharacter(0xDD,
|
FillConsoleOutputCharacter(0xDD,
|
||||||
1,
|
1,
|
||||||
|
|
Loading…
Reference in a new issue