• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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