summaryrefslogtreecommitdiff
path: root/vendor/github.com/libvirt/libvirt-go-xml/domain.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/libvirt/libvirt-go-xml/domain.go')
-rw-r--r--vendor/github.com/libvirt/libvirt-go-xml/domain.go27
1 files changed, 18 insertions, 9 deletions
diff --git a/vendor/github.com/libvirt/libvirt-go-xml/domain.go b/vendor/github.com/libvirt/libvirt-go-xml/domain.go
index a5d32037..bead49a0 100644
--- a/vendor/github.com/libvirt/libvirt-go-xml/domain.go
+++ b/vendor/github.com/libvirt/libvirt-go-xml/domain.go
@@ -27,6 +27,7 @@ package libvirtxml
import (
"encoding/xml"
+ "strconv"
)
type DomainController struct {
@@ -281,15 +282,15 @@ type DomainAlias struct {
}
type DomainAddress struct {
- Type string `xml:"type,attr"`
- Controller *uint `xml:"controller,attr"`
- Domain *uint `xml:"domain,attr"`
- Bus *uint `xml:"bus,attr"`
- Port *uint `xml:"port,attr"`
- Slot *uint `xml:"slot,attr"`
- Function *uint `xml:"function,attr"`
- Target *uint `xml:"target,attr"`
- Unit *uint `xml:"unit,attr"`
+ Type string `xml:"type,attr"`
+ Controller *uint `xml:"controller,attr"`
+ Domain *HexUint `xml:"domain,attr"`
+ Bus *HexUint `xml:"bus,attr"`
+ Port *uint `xml:"port,attr"`
+ Slot *HexUint `xml:"slot,attr"`
+ Function *HexUint `xml:"function,attr"`
+ Target *uint `xml:"target,attr"`
+ Unit *uint `xml:"unit,attr"`
}
type DomainConsole struct {
@@ -792,3 +793,11 @@ func (d *DomainRNG) Marshal() (string, error) {
}
return string(doc), nil
}
+
+type HexUint uint
+
+func (h *HexUint) UnmarshalXMLAttr(attr xml.Attr) error {
+ val, err := strconv.ParseUint(attr.Value, 0, 32)
+ *h = HexUint(val)
+ return err
+}