Home | History | Annotate | Download | only in IsaBusDxe
      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