mirror of
https://github.com/reactos/reactos.git
synced 2024-08-07 19:58:21 +00:00
- Add declarations for the PnP arbiter and resource translation interfaces (ARBITER_REQUEST_SOURCE, ARBITER_RESULT, ARBITER_ACTION, ARBITER_CONFLICT_INFO, ARBITER_PARAMETERS, ARBITER_LIST_ENTRY, PARBITER_HANDLER, ARBITER_INTERFACE, RESOURCE_TRANSLATION_DIRECTION, PTRANSLATE_RESOURCE_HANDLER, PTRANSLATE_RESOURCE_REQUIREMENTS_HANDLER, TRANSLATOR_INTERFACE).
svn path=/trunk/; revision=11396
This commit is contained in:
parent
75009fd35f
commit
b5e5b4f012
|
@ -740,7 +740,6 @@ typedef VOID DDKAPI
|
|||
IN PVOID Context);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
** System structures
|
||||
*/
|
||||
|
@ -1725,8 +1724,7 @@ typedef struct _DEVICE_OBJECT {
|
|||
USHORT Spare1;
|
||||
struct _DEVOBJ_EXTENSION *DeviceObjectExtension;
|
||||
PVOID Reserved;
|
||||
} DEVICE_OBJECT;
|
||||
typedef struct _DEVICE_OBJECT *PDEVICE_OBJECT;
|
||||
} DEVICE_OBJECT, *PDEVICE_OBJECT;
|
||||
|
||||
typedef enum _DEVICE_RELATION_TYPE {
|
||||
BusRelations,
|
||||
|
@ -1923,6 +1921,150 @@ typedef struct _DMA_ADAPTER {
|
|||
PDMA_OPERATIONS DmaOperations;
|
||||
} DMA_ADAPTER;
|
||||
|
||||
|
||||
typedef enum _ARBITER_REQUEST_SOURCE {
|
||||
ArbiterRequestUndefined = -1,
|
||||
ArbiterRequestLegacyReported,
|
||||
ArbiterRequestHalReported,
|
||||
ArbiterRequestLegacyAssigned,
|
||||
ArbiterRequestPnpDetected,
|
||||
ArbiterRequestPnpEnumerated
|
||||
} ARBITER_REQUEST_SOURCE;
|
||||
|
||||
typedef enum _ARBITER_RESULT {
|
||||
ArbiterResultUndefined = -1,
|
||||
ArbiterResultSuccess,
|
||||
ArbiterResultExternalConflict,
|
||||
ArbiterResultNullRequest
|
||||
} ARBITER_RESULT;
|
||||
|
||||
typedef enum _ARBITER_ACTION {
|
||||
ArbiterActionTestAllocation,
|
||||
ArbiterActionRetestAllocation,
|
||||
ArbiterActionCommitAllocation,
|
||||
ArbiterActionRollbackAllocation,
|
||||
ArbiterActionQueryAllocatedResources,
|
||||
ArbiterActionWriteReservedResources,
|
||||
ArbiterActionQueryConflict,
|
||||
ArbiterActionQueryArbitrate,
|
||||
ArbiterActionAddReserved,
|
||||
ArbiterActionBootAllocation
|
||||
} ARBITER_ACTION, *PARBITER_ACTION;
|
||||
|
||||
typedef struct _ARBITER_CONFLICT_INFO {
|
||||
PDEVICE_OBJECT OwningObject;
|
||||
ULONGLONG Start;
|
||||
ULONGLONG End;
|
||||
} ARBITER_CONFLICT_INFO, *PARBITER_CONFLICT_INFO;
|
||||
|
||||
typedef struct _ARBITER_PARAMETERS {
|
||||
union {
|
||||
struct {
|
||||
IN OUT PLIST_ENTRY ArbitrationList;
|
||||
IN ULONG AllocateFromCount;
|
||||
IN PCM_PARTIAL_RESOURCE_DESCRIPTOR AllocateFrom;
|
||||
} TestAllocation;
|
||||
|
||||
struct {
|
||||
IN OUT PLIST_ENTRY ArbitrationList;
|
||||
IN ULONG AllocateFromCount;
|
||||
IN PCM_PARTIAL_RESOURCE_DESCRIPTOR AllocateFrom;
|
||||
} RetestAllocation;
|
||||
|
||||
struct {
|
||||
IN OUT PLIST_ENTRY ArbitrationList;
|
||||
} BootAllocation;
|
||||
|
||||
struct {
|
||||
OUT PCM_PARTIAL_RESOURCE_LIST *AllocatedResources;
|
||||
} QueryAllocatedResources;
|
||||
|
||||
struct {
|
||||
IN PDEVICE_OBJECT PhysicalDeviceObject;
|
||||
IN PIO_RESOURCE_DESCRIPTOR ConflictingResource;
|
||||
OUT PULONG ConflictCount;
|
||||
OUT PARBITER_CONFLICT_INFO *Conflicts;
|
||||
} QueryConflict;
|
||||
|
||||
struct {
|
||||
IN PLIST_ENTRY ArbitrationList;
|
||||
} QueryArbitrate;
|
||||
|
||||
struct {
|
||||
IN PDEVICE_OBJECT ReserveDevice;
|
||||
} AddReserved;
|
||||
} Parameters;
|
||||
} ARBITER_PARAMETERS, *PARBITER_PARAMETERS;
|
||||
|
||||
#define ARBITER_FLAG_BOOT_CONFIG 0x00000001
|
||||
|
||||
typedef struct _ARBITER_LIST_ENTRY {
|
||||
LIST_ENTRY ListEntry;
|
||||
ULONG AlternativeCount;
|
||||
PIO_RESOURCE_DESCRIPTOR Alternatives;
|
||||
PDEVICE_OBJECT PhysicalDeviceObject;
|
||||
ARBITER_REQUEST_SOURCE RequestSource;
|
||||
ULONG Flags;
|
||||
LONG_PTR WorkSpace;
|
||||
INTERFACE_TYPE InterfaceType;
|
||||
ULONG SlotNumber;
|
||||
ULONG BusNumber;
|
||||
PCM_PARTIAL_RESOURCE_DESCRIPTOR Assignment;
|
||||
PIO_RESOURCE_DESCRIPTOR SelectedAlternative;
|
||||
ARBITER_RESULT Result;
|
||||
} ARBITER_LIST_ENTRY, *PARBITER_LIST_ENTRY;
|
||||
|
||||
typedef NTSTATUS
|
||||
(DDKAPI *PARBITER_HANDLER)(
|
||||
IN PVOID Context,
|
||||
IN ARBITER_ACTION Action,
|
||||
IN OUT PARBITER_PARAMETERS Parameters);
|
||||
|
||||
#define ARBITER_PARTIAL 0x00000001
|
||||
|
||||
typedef struct _ARBITER_INTERFACE {
|
||||
USHORT Size;
|
||||
USHORT Version;
|
||||
PVOID Context;
|
||||
PINTERFACE_REFERENCE InterfaceReference;
|
||||
PINTERFACE_DEREFERENCE InterfaceDereference;
|
||||
PARBITER_HANDLER ArbiterHandler;
|
||||
ULONG Flags;
|
||||
} ARBITER_INTERFACE, *PARBITER_INTERFACE;
|
||||
|
||||
typedef enum _RESOURCE_TRANSLATION_DIRECTION {
|
||||
TranslateChildToParent,
|
||||
TranslateParentToChild
|
||||
} RESOURCE_TRANSLATION_DIRECTION;
|
||||
|
||||
typedef NTSTATUS
|
||||
(DDKAPI *PTRANSLATE_RESOURCE_HANDLER)(
|
||||
IN PVOID Context,
|
||||
IN PCM_PARTIAL_RESOURCE_DESCRIPTOR Source,
|
||||
IN RESOURCE_TRANSLATION_DIRECTION Direction,
|
||||
IN ULONG AlternativesCount,
|
||||
IN IO_RESOURCE_DESCRIPTOR Alternatives[],
|
||||
IN PDEVICE_OBJECT PhysicalDeviceObject,
|
||||
OUT PCM_PARTIAL_RESOURCE_DESCRIPTOR Target);
|
||||
|
||||
typedef NTSTATUS
|
||||
(DDKAPI *PTRANSLATE_RESOURCE_REQUIREMENTS_HANDLER)(
|
||||
IN PVOID Context,
|
||||
IN PIO_RESOURCE_DESCRIPTOR Source,
|
||||
IN PDEVICE_OBJECT PhysicalDeviceObject,
|
||||
OUT PULONG TargetCount,
|
||||
OUT PIO_RESOURCE_DESCRIPTOR *Target);
|
||||
|
||||
typedef struct _TRANSLATOR_INTERFACE {
|
||||
USHORT Size;
|
||||
USHORT Version;
|
||||
PVOID Context;
|
||||
PINTERFACE_REFERENCE InterfaceReference;
|
||||
PINTERFACE_DEREFERENCE InterfaceDereference;
|
||||
PTRANSLATE_RESOURCE_HANDLER TranslateResources;
|
||||
PTRANSLATE_RESOURCE_REQUIREMENTS_HANDLER TranslateResourceRequirements;
|
||||
} TRANSLATOR_INTERFACE, *PTRANSLATOR_INTERFACE;
|
||||
|
||||
typedef enum _FILE_INFORMATION_CLASS {
|
||||
FileDirectoryInformation = 1,
|
||||
FileFullDirectoryInformation,
|
||||
|
|
Loading…
Reference in a new issue