コード例 #1
0
ファイル: domain.go プロジェクト: josephglanville/libvirt-go
func (d *VirDomain) GetInfo() (VirDomainInfo, error) {
	di := VirDomainInfo{}
	var ptr C.virDomainInfo
	result := C.virDomainGetInfo(d.ptr, (*C.virDomainInfo)(unsafe.Pointer(&ptr)))
	if result == -1 {
		return di, errors.New(GetLastError())
	}
	di.ptr = ptr
	return di, nil
}
コード例 #2
0
ファイル: domain.go プロジェクト: firebitsbr/libvirt-golang
// InfoMemory extracts the memory in KBytes used by the domain.
func (dom Domain) InfoMemory() (uint64, error) {
	var cInfo C.virDomainInfo
	cRet := C.virDomainGetInfo(dom.virDomain, &cInfo)
	ret := int32(cRet)

	if ret == -1 {
		return 0, LastError()
	}

	return uint64(cInfo.memory), nil
}
コード例 #3
0
ファイル: domain.go プロジェクト: firebitsbr/libvirt-golang
// InfoVCPUs extracts the number of virtual CPUs for the domain.
func (dom Domain) InfoVCPUs() (uint16, error) {
	var cInfo C.virDomainInfo
	cRet := C.virDomainGetInfo(dom.virDomain, &cInfo)
	ret := int32(cRet)

	if ret == -1 {
		return 0, LastError()
	}

	return uint16(cInfo.nrVirtCpu), nil
}
コード例 #4
0
ファイル: domain.go プロジェクト: firebitsbr/libvirt-golang
// InfoState extracts the state of the domain.
func (dom Domain) InfoState() (DomainState, error) {
	var cInfo C.virDomainInfo
	cRet := C.virDomainGetInfo(dom.virDomain, &cInfo)
	ret := int32(cRet)

	if ret == -1 {
		return 0, LastError()
	}

	return DomainState(cInfo.state), nil
}
コード例 #5
0
ファイル: domain.go プロジェクト: hooklift/golibvirt
func (d *Domain) GetInfo() (DomainInfo, error) {
	var cDomainInfo C.virDomainInfo
	result := C.virDomainGetInfo(d.cptr, &cDomainInfo)
	if result == -1 {
		return DomainInfo{}, GetLastError()
	}

	return DomainInfo{
		State:     uint(cDomainInfo.state),
		MaxMemory: uint64(cDomainInfo.maxMem),
		Memory:    uint64(cDomainInfo.memory),
		Vcpus:     uint8(cDomainInfo.nrVirtCpu),
		CpuTime:   uint64(cDomainInfo.cpuTime),
	}, nil
}