func (c *VirConnection) NumOfNetworks() (int, error) { result := int(C.virConnectNumOfNetworks(c.ptr)) if result == -1 { return 0, GetLastError() } return result, nil }
func (h *Hypervisor) GetActiveNetworks() ([]string, error) { number := C.virConnectNumOfNetworks(h.cptr) if number == -1 { return nil, GetLastError() } names := make([]string, number) if number == 0 { return names, nil } cnames := make([]*C.char, number) result := C.virConnectListNetworks(h.cptr, &cnames[0], number) if result == -1 { return nil, GetLastError() } for i, v := range cnames { names[i] = C.GoString(v) defer C.free(unsafe.Pointer(v)) } return names, nil }
func (h *Hypervisor) GetNumberOfActiveNetworks() (int, error) { number := C.virConnectNumOfNetworks(h.cptr) if number == -1 { return 0, GetLastError() } return int(number), nil }