]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/Library/BasePciCapPciSegmentLib/BasePciCapPciSegmentLib.h
OvmfPkg: Apply uncrustify changes
[mirror_edk2.git] / OvmfPkg / Library / BasePciCapPciSegmentLib / BasePciCapPciSegmentLib.h
CommitLineData
6a744d40
LE
1/** @file\r
2 Plug a PciSegmentLib backend into PciCapLib, for config space access --\r
3 internal macro and type definitions.\r
4\r
5 Copyright (C) 2018, Red Hat, Inc.\r
6\r
b26f0cf9 7 SPDX-License-Identifier: BSD-2-Clause-Patent\r
6a744d40
LE
8**/\r
9\r
10#ifndef __BASE_PCI_CAP_PCI_SEGMENT_LIB_H__\r
11#define __BASE_PCI_CAP_PCI_SEGMENT_LIB_H__\r
12\r
13#include <Library/DebugLib.h>\r
14\r
15#include <Library/PciCapPciSegmentLib.h>\r
16\r
ac0a286f 17#define SEGMENT_DEV_SIG SIGNATURE_64 ('P', 'C', 'P', 'S', 'G', 'M', 'N', 'T')\r
6a744d40
LE
18\r
19typedef struct {\r
20 //\r
21 // Signature identifying the derived class.\r
22 //\r
ac0a286f 23 UINT64 Signature;\r
6a744d40
LE
24 //\r
25 // Members added by the derived class, specific to the use of PciSegmentLib.\r
26 //\r
ac0a286f
MK
27 PCI_CAP_DOMAIN MaxDomain;\r
28 UINT16 SegmentNr;\r
29 UINT8 BusNr;\r
30 UINT8 DeviceNr;\r
31 UINT8 FunctionNr;\r
6a744d40
LE
32 //\r
33 // Base class.\r
34 //\r
ac0a286f 35 PCI_CAP_DEV BaseDevice;\r
6a744d40
LE
36} SEGMENT_DEV;\r
37\r
38#define SEGMENT_DEV_FROM_PCI_CAP_DEV(PciDevice) \\r
39 CR (PciDevice, SEGMENT_DEV, BaseDevice, SEGMENT_DEV_SIG)\r
40\r
41#endif // __BASE_PCI_CAP_PCI_SEGMENT_LIB_H__\r