They will be useful to do more checks in the GVirDomainDeviceHostdev
unit test.
---
.../libvirt-gconfig-domain-address-pci.c | 45 ++++++++++++++++++++++
.../libvirt-gconfig-domain-address-pci.h | 5 +++
libvirt-gconfig/libvirt-gconfig.sym | 6 +++
3 files changed, 56 insertions(+)
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-address-pci.c
b/libvirt-gconfig/libvirt-gconfig-domain-address-pci.c
index 4bf94cc..0105402 100644
--- a/libvirt-gconfig/libvirt-gconfig-domain-address-pci.c
+++ b/libvirt-gconfig/libvirt-gconfig-domain-address-pci.c
@@ -92,30 +92,75 @@ static void set_attribute_hex(GVirConfigDomainAddressPci *address,
g_free(format);
}
+int gvir_config_domain_address_pci_get_domain(GVirConfigDomainAddressPci *address)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_ADDRESS_PCI(address), -1);
+
+ return gvir_config_object_get_attribute_uint64(GVIR_CONFIG_OBJECT(address),
+ NULL, "domain",
+ -1);
+}
+
void gvir_config_domain_address_pci_set_domain(GVirConfigDomainAddressPci *address,
guint16 pci_domain)
{
set_attribute_hex(address, "domain", pci_domain, 0, G_MAXUINT16, 4);
}
+int gvir_config_domain_address_pci_get_bus(GVirConfigDomainAddressPci *address)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_ADDRESS_PCI(address), -1);
+
+ return gvir_config_object_get_attribute_uint64(GVIR_CONFIG_OBJECT(address),
+ NULL, "bus",
+ -1);
+}
+
void gvir_config_domain_address_pci_set_bus(GVirConfigDomainAddressPci *address,
guchar bus)
{
set_attribute_hex(address, "bus", bus, 0, G_MAXUINT8, 2);
}
+int gvir_config_domain_address_pci_get_slot(GVirConfigDomainAddressPci *address)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_ADDRESS_PCI(address), -1);
+
+ return gvir_config_object_get_attribute_uint64(GVIR_CONFIG_OBJECT(address),
+ NULL, "slot",
+ -1);
+}
+
void gvir_config_domain_address_pci_set_slot(GVirConfigDomainAddressPci *address,
guchar slot)
{
set_attribute_hex(address, "slot", slot, 0, 0x1f, 2);
}
+int gvir_config_domain_address_pci_get_function(GVirConfigDomainAddressPci *address)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_ADDRESS_PCI(address), -1);
+
+ return gvir_config_object_get_attribute_uint64(GVIR_CONFIG_OBJECT(address),
+ NULL, "function",
+ -1);
+}
+
void gvir_config_domain_address_pci_set_function(GVirConfigDomainAddressPci *address,
guchar function)
{
set_attribute_hex(address, "function", function, 0, 7, 1);
}
+gboolean gvir_config_domain_address_pci_get_multifunction(GVirConfigDomainAddressPci
*address)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_ADDRESS_PCI(address), FALSE);
+
+ return gvir_config_object_get_attribute_boolean(GVIR_CONFIG_OBJECT(address),
+ NULL, "multifunction",
+ FALSE);
+}
+
void gvir_config_domain_address_pci_set_multifunction(GVirConfigDomainAddressPci
*address,
gboolean multifunction)
{
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-address-pci.h
b/libvirt-gconfig/libvirt-gconfig-domain-address-pci.h
index 3b82624..cdef4a8 100644
--- a/libvirt-gconfig/libvirt-gconfig-domain-address-pci.h
+++ b/libvirt-gconfig/libvirt-gconfig-domain-address-pci.h
@@ -62,14 +62,19 @@ GVirConfigDomainAddressPci *gvir_config_domain_address_pci_new(void);
GVirConfigDomainAddressPci *gvir_config_domain_address_pci_new_from_xml(const gchar
*xml,
GError **error);
+int gvir_config_domain_address_pci_get_domain(GVirConfigDomainAddressPci *address);
void gvir_config_domain_address_pci_set_domain(GVirConfigDomainAddressPci *address,
guint16 pci_domain);
+int gvir_config_domain_address_pci_get_bus(GVirConfigDomainAddressPci *address);
void gvir_config_domain_address_pci_set_bus(GVirConfigDomainAddressPci *address,
guchar bus);
+int gvir_config_domain_address_pci_get_slot(GVirConfigDomainAddressPci *address);
void gvir_config_domain_address_pci_set_slot(GVirConfigDomainAddressPci *address,
guchar slot);
+int gvir_config_domain_address_pci_get_function(GVirConfigDomainAddressPci *address);
void gvir_config_domain_address_pci_set_function(GVirConfigDomainAddressPci *address,
guchar function);
+gboolean gvir_config_domain_address_pci_get_multifunction(GVirConfigDomainAddressPci
*address);
void gvir_config_domain_address_pci_set_multifunction(GVirConfigDomainAddressPci
*address,
gboolean multifunction);
diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym
index d51c78e..c7f79b2 100644
--- a/libvirt-gconfig/libvirt-gconfig.sym
+++ b/libvirt-gconfig/libvirt-gconfig.sym
@@ -742,6 +742,12 @@ global:
LIBVIRT_GCONFIG_0.2.3 {
global:
+ gvir_config_domain_address_pci_get_bus;
+ gvir_config_domain_address_pci_get_domain;
+ gvir_config_domain_address_pci_get_function;
+ gvir_config_domain_address_pci_get_multifunction;
+ gvir_config_domain_address_pci_get_slot;
+
gvir_config_domain_hostdev_get_boot_order;
gvir_config_domain_hostdev_get_readonly;
gvir_config_domain_hostdev_get_shareable;
--
2.5.0