1 /** @file
2   Map positions of extra PCI root buses to bus numbers.
3 
4   Copyright (C) 2015, Red Hat, Inc.
5 
6   This program and the accompanying materials are licensed and made available
7   under the terms and conditions of the BSD License which accompanies this
8   distribution.  The full text of the license may be found at
9   http://opensource.org/licenses/bsd-license.php
10 
11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
12   WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 **/
14 
15 #ifndef __EXTRA_ROOT_BUS_MAP_H__
16 #define __EXTRA_ROOT_BUS_MAP_H__
17 
18 /**
19   Incomplete ("opaque") data type implementing the map.
20 **/
21 typedef struct EXTRA_ROOT_BUS_MAP_STRUCT EXTRA_ROOT_BUS_MAP;
22 
23 EFI_STATUS
24 CreateExtraRootBusMap (
25   OUT EXTRA_ROOT_BUS_MAP **ExtraRootBusMap
26   );
27 
28 VOID
29 DestroyExtraRootBusMap (
30   IN EXTRA_ROOT_BUS_MAP *ExtraRootBusMap
31   );
32 
33 EFI_STATUS
34 MapRootBusPosToBusNr (
35   IN  CONST EXTRA_ROOT_BUS_MAP *ExtraRootBusMap,
36   IN  UINT64                   RootBusPos,
37   OUT UINT32                   *RootBusNr
38   );
39 
40 #endif
41