Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Device ¶
type Device struct { // The PCI address of the device Address string `json:"address"` Vendor *pcidb.Vendor `json:"vendor"` Product *pcidb.Product `json:"product"` Revision string `json:"revision"` Subsystem *pcidb.Product `json:"subsystem"` // optional subvendor/sub-device information Class *pcidb.Class `json:"class"` // optional sub-class for the device Subclass *pcidb.Subclass `json:"subclass"` // optional programming interface ProgrammingInterface *pcidb.ProgrammingInterface `json:"programming_interface"` // Topology node that the PCI device is affined to. Will be nil if the // architecture is not NUMA. Node *topology.Node `json:"node,omitempty"` Driver string `json:"driver"` }
func (*Device) MarshalJSON ¶
NOTE(jaypipes) Device has a custom JSON marshaller because we don't want to serialize the entire PCIDB information for the Vendor (which includes all of the vendor's products, etc). Instead, we simply serialize the ID and human-readable name of the vendor, product, class, etc.
type Info ¶
type Info struct { // All PCI devices on the host system Devices []*Device // contains filtered or unexported fields }
func New ¶
New returns a pointer to an Info struct that contains information about the PCI devices on the host system
func (*Info) GetDevice ¶
GetDevice returns a pointer to a Device struct that describes the PCI device at the requested address. If no such device could be found, returns nil.
func (*Info) JSONString ¶
JSONString returns a string with the PCI information formatted as JSON under a top-level "pci:" key
func (*Info) ParseDevice ¶
ParseDevice returns a pointer to a Device given its describing data. The PCI device obtained this way may not exist in the system; use GetDevice to get a *Device which is found in the system
func (*Info) YAMLString ¶
YAMLString returns a string with the PCI information formatted as YAML under a top-level "pci:" key