| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library zircon.syscalls.pci; |
| |
| [repr = "C"] |
| union PciField { |
| usize addr; |
| handle<vmo> @handle; |
| }; |
| |
| [repr = "C"] |
| struct ZxPciBar { |
| uint32 id; |
| uint32 type; |
| usize size; |
| PciField u; |
| }; |
| |
| [repr = "C"] |
| enum ZxPciIrqMode : uint8 { |
| DISABLED = 0; |
| LEGACY = 1; |
| MSI = 2; |
| MSI_X = 3; |
| }; |
| |
| [repr = "C"] |
| struct ZxPcieDeviceInfo { |
| uint16 vendor_id; |
| uint16 device_id; |
| |
| uint8 base_class; |
| uint8 sub_class; |
| uint8 program_interface; |
| uint8 revision_id; |
| |
| uint8 bus_id; |
| uint8 dev_id; |
| uint8 func_id; |
| }; |