NT4/private/ntos/nthals/halxlt/alpha/iousage.h
2020-09-30 17:12:29 +02:00

108 lines
1.5 KiB
C

/*++
Copyright (c) 1993-1995 Microsoft Corporation
Copyright (c) 1993-1995 Digital Equipment Corporation
Module Name:
iousage.h
Abstract:
This header file defines the iousage definitions
Author:
Sameer Dekate 5-3-1994
Revision History:
Chao Chen 1-25-1995
--*/
//
// Resource usage information
//
//
// Bus usage information.
//
typedef struct _HalBusUsage{
INTERFACE_TYPE BusType;
struct _HalBusUsage *Next;
} BUS_USAGE, *PBUS_USAGE;
//
// Address usage information.
//
typedef struct _HalResourceUsage {
//
// Common elements.
//
INTERFACE_TYPE BusType;
ULONG BusNumber;
CM_RESOURCE_TYPE ResourceType;
struct _HalResourceUsage *Next;
//
// Resource type specific.
//
union {
//
// Address usage.
//
struct {
ULONG Start;
ULONG Length;
};
//
// Vector type specific.
//
struct {
KINTERRUPT_MODE InterruptMode;
ULONG BusInterruptVector;
ULONG SystemInterruptVector;
KIRQL SystemIrql;
};
//
// Dma type specific.
//
struct {
ULONG DmaChannel;
ULONG DmaPort;
};
} u;
} RESOURCE_USAGE, *PRESOURCE_USAGE;
//
// Functions to report HAL's resource usage.
//
VOID
HalpRegisterHalName(
IN PUCHAR HalName
);
VOID
HalpRegisterBusUsage (
IN INTERFACE_TYPE BusType
);
VOID
HalpRegisterResourceUsage (
IN PRESOURCE_USAGE Resource
);