1 /** @file 2 Header file for the ISA BUS driver. 3 4 Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 14 **/ 15 16 #ifndef _ISA_BUS_H_ 17 #define _ISA_BUS_H_ 18 19 #include <Uefi.h> 20 #include <Protocol/IsaHc.h> 21 #include <Library/UefiLib.h> 22 #include <Library/UefiBootServicesTableLib.h> 23 #include <Library/DebugLib.h> 24 #include <Library/DevicePathLib.h> 25 #include <Library/MemoryAllocationLib.h> 26 #include <Protocol/DevicePath.h> 27 #include <Protocol/ServiceBinding.h> 28 29 typedef struct { 30 UINT32 Signature; 31 EFI_SERVICE_BINDING_PROTOCOL ServiceBinding; 32 EFI_ISA_HC_PROTOCOL *IsaHc; ///< ISA HC protocol produced by the ISA Host Controller driver 33 EFI_HANDLE IsaHcHandle; ///< ISA HC handle created by the ISA Host Controller driver 34 } ISA_BUS_PRIVATE_DATA; 35 #define ISA_BUS_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('_', 'i', 's', 'b') 36 #define ISA_BUS_PRIVATE_DATA_FROM_THIS(a) CR (a, ISA_BUS_PRIVATE_DATA, ServiceBinding, ISA_BUS_PRIVATE_DATA_SIGNATURE) 37 38 typedef struct { 39 UINT32 Signature; 40 BOOLEAN InDestroying; ///< Flag to avoid DestroyChild() re-entry. 41 } ISA_BUS_CHILD_PRIVATE_DATA; 42 #define ISA_BUS_CHILD_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('_', 'i', 's', 'c') 43 44 extern EFI_DRIVER_BINDING_PROTOCOL gIsaBusDriverBinding; 45 46 #endif 47