xenlight

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 9, 2017 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

* Copyright (C) 2016 George W. Dunlap, Citrix Systems UK Ltd * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; If not, see <http://www.gnu.org/licenses/>.

Index

Constants

View Source
const (
	ErrorNonspecific                  = Error(-C.ERROR_NONSPECIFIC)
	ErrorVersion                      = Error(-C.ERROR_VERSION)
	ErrorFail                         = Error(-C.ERROR_FAIL)
	ErrorNi                           = Error(-C.ERROR_NI)
	ErrorNomem                        = Error(-C.ERROR_NOMEM)
	ErrorInval                        = Error(-C.ERROR_INVAL)
	ErrorBadfail                      = Error(-C.ERROR_BADFAIL)
	ErrorGuestTimedout                = Error(-C.ERROR_GUEST_TIMEDOUT)
	ErrorTimedout                     = Error(-C.ERROR_TIMEDOUT)
	ErrorNoparavirt                   = Error(-C.ERROR_NOPARAVIRT)
	ErrorNotReady                     = Error(-C.ERROR_NOT_READY)
	ErrorOseventRegFail               = Error(-C.ERROR_OSEVENT_REG_FAIL)
	ErrorBufferfull                   = Error(-C.ERROR_BUFFERFULL)
	ErrorUnknownChild                 = Error(-C.ERROR_UNKNOWN_CHILD)
	ErrorLockFail                     = Error(-C.ERROR_LOCK_FAIL)
	ErrorJsonConfigEmpty              = Error(-C.ERROR_JSON_CONFIG_EMPTY)
	ErrorDeviceExists                 = Error(-C.ERROR_DEVICE_EXISTS)
	ErrorCheckpointDevopsDoesNotMatch = Error(-C.ERROR_CHECKPOINT_DEVOPS_DOES_NOT_MATCH)
	ErrorCheckpointDeviceNotSupported = Error(-C.ERROR_CHECKPOINT_DEVICE_NOT_SUPPORTED)
	ErrorVnumaConfigInvalid           = Error(-C.ERROR_VNUMA_CONFIG_INVALID)
	ErrorDomainNotfound               = Error(-C.ERROR_DOMAIN_NOTFOUND)
	ErrorAborted                      = Error(-C.ERROR_ABORTED)
	ErrorNotfound                     = Error(-C.ERROR_NOTFOUND)
	ErrorDomainDestroyed              = Error(-C.ERROR_DOMAIN_DESTROYED)
	ErrorFeatureRemoved               = Error(-C.ERROR_FEATURE_REMOVED)
)
View Source
const (
	DomainTypeInvalid = DomainType(C.LIBXL_DOMAIN_TYPE_INVALID)
	DomainTypeHvm     = DomainType(C.LIBXL_DOMAIN_TYPE_HVM)
	DomainTypePv      = DomainType(C.LIBXL_DOMAIN_TYPE_PV)
)
View Source
const (
	ConsoleTypeUnknown = ConsoleType(C.LIBXL_CONSOLE_TYPE_UNKNOWN)
	ConsoleTypeSerial  = ConsoleType(C.LIBXL_CONSOLE_TYPE_SERIAL)
	ConsoleTypePV      = ConsoleType(C.LIBXL_CONSOLE_TYPE_PV)
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Bitmap

type Bitmap struct {
	// contains filtered or unexported fields
}

Implement the Go bitmap type such that the underlying data can easily be copied in and out. NB that we still have to do copies both directions, because cgo runtime restrictions forbid passing to a C function a pointer to a Go-allocated structure which contains a pointer.

func (Bitmap) And

func (a Bitmap) And(b Bitmap) (c Bitmap)

func (*Bitmap) Clear

func (bm *Bitmap) Clear(bit int)

func (*Bitmap) ClearRange

func (bm *Bitmap) ClearRange(start int, end int)

func (*Bitmap) IsEmpty

func (bm *Bitmap) IsEmpty() bool

func (*Bitmap) Max

func (bm *Bitmap) Max() int

func (*Bitmap) Set

func (bm *Bitmap) Set(bit int)

func (*Bitmap) SetRange

func (bm *Bitmap) SetRange(start int, end int)

func (Bitmap) String

func (bm Bitmap) String() (s string)

func (*Bitmap) Test

func (bm *Bitmap) Test(bit int) bool

type ConsoleType

type ConsoleType int

func (ConsoleType) String

func (ct ConsoleType) String() (str string)

type Context

type Context struct {
	// contains filtered or unexported fields
}
var Ctx Context

* Context

func (*Context) CheckOpen

func (Ctx *Context) CheckOpen() (err error)

func (*Context) Close

func (Ctx *Context) Close() (err error)

func (*Context) ConsoleGetTty

func (Ctx *Context) ConsoleGetTty(id Domid, consNum int, conType ConsoleType) (path string, err error)

int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type, char **path);

func (*Context) CpupoolCpuadd

func (Ctx *Context) CpupoolCpuadd(Poolid uint32, Cpu int) (err error)

int libxl_cpupool_cpuadd(libxl_ctx *ctx, uint32_t poolid, int cpu);

func (*Context) CpupoolCpuaddCpumap

func (Ctx *Context) CpupoolCpuaddCpumap(Poolid uint32, Cpumap Bitmap) (err error)

int libxl_cpupool_cpuadd_cpumap(libxl_ctx *ctx, uint32_t poolid,

const libxl_bitmap *cpumap);

func (*Context) CpupoolCpuaddNode

func (Ctx *Context) CpupoolCpuaddNode(Poolid uint32, Node int) (Cpus int, err error)

int libxl_cpupool_cpuadd_node(libxl_ctx *ctx, uint32_t poolid, int node, int *cpus);

func (*Context) CpupoolCpuremove

func (Ctx *Context) CpupoolCpuremove(Poolid uint32, Cpu int) (err error)

int libxl_cpupool_cpuremove(libxl_ctx *ctx, uint32_t poolid, int cpu);

func (*Context) CpupoolCpuremoveCpumap

func (Ctx *Context) CpupoolCpuremoveCpumap(Poolid uint32, Cpumap Bitmap) (err error)

int libxl_cpupool_cpuremove_cpumap(libxl_ctx *ctx, uint32_t poolid,

const libxl_bitmap *cpumap);

func (*Context) CpupoolCpuremoveNode

func (Ctx *Context) CpupoolCpuremoveNode(Poolid uint32, Node int) (Cpus int, err error)

int libxl_cpupool_cpuremove_node(libxl_ctx *ctx, uint32_t poolid, int node, int *cpus);

func (*Context) CpupoolCreate

func (Ctx *Context) CpupoolCreate(Name string, Scheduler Scheduler, Cpumap Bitmap) (err error, Poolid uint32)

int libxl_cpupool_create(libxl_ctx *ctx, const char *name,

libxl_scheduler sched,
libxl_bitmap cpumap, libxl_uuid *uuid,
uint32_t *poolid);

FIXME: uuid FIXME: Setting poolid

func (*Context) CpupoolDestroy

func (Ctx *Context) CpupoolDestroy(Poolid uint32) (err error)

int libxl_cpupool_destroy(libxl_ctx *ctx, uint32_t poolid);

func (*Context) CpupoolFindByName

func (Ctx *Context) CpupoolFindByName(name string) (info CpupoolInfo, found bool)

Utility functions

func (*Context) CpupoolInfo

func (Ctx *Context) CpupoolInfo(Poolid uint32) (pool CpupoolInfo)

int libxl_cpupool_info(libxl_ctx *ctx, libxl_cpupoolinfo *info, uint32_t poolid);

func (*Context) CpupoolMakeFree

func (Ctx *Context) CpupoolMakeFree(Cpumap Bitmap) (err error)

func (*Context) CpupoolMovedomain

func (Ctx *Context) CpupoolMovedomain(Poolid uint32, Id Domid) (err error)

int libxl_cpupool_movedomain(libxl_ctx *ctx, uint32_t poolid, uint32_t domid);

func (*Context) CpupoolRename

func (Ctx *Context) CpupoolRename(Name string, Poolid uint32) (err error)

int libxl_cpupool_rename(libxl_ctx *ctx, const char *name, uint32_t poolid);

func (*Context) DomainInfo

func (Ctx *Context) DomainInfo(Id Domid) (di *Dominfo, err error)

func (*Context) DomainPause

func (Ctx *Context) DomainPause(id Domid) (err error)

int libxl_domain_pause(libxl_ctx *ctx, uint32_t domain);

func (*Context) DomainReboot

func (Ctx *Context) DomainReboot(id Domid) (err error)

int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);

func (*Context) DomainShutdown

func (Ctx *Context) DomainShutdown(id Domid) (err error)

int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);

func (*Context) DomainUnpause

func (Ctx *Context) DomainUnpause(Id Domid) (err error)

func (*Context) GetFreeMemory

func (Ctx *Context) GetFreeMemory() (memkb uint64, err error)

int libxl_get_free_memory(libxl_ctx *ctx, uint64_t *memkb);

func (*Context) GetMaxCpus

func (Ctx *Context) GetMaxCpus() (maxCpus int, err error)

int libxl_get_max_cpus(libxl_ctx *ctx);

func (*Context) GetMaxNodes

func (Ctx *Context) GetMaxNodes() (maxNodes int, err error)

int libxl_get_max_nodes(libxl_ctx *ctx);

func (*Context) GetOnlineCpus

func (Ctx *Context) GetOnlineCpus() (onCpus int, err error)

int libxl_get_online_cpus(libxl_ctx *ctx);

func (*Context) GetPhysinfo

func (Ctx *Context) GetPhysinfo() (physinfo *Physinfo, err error)

int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo *physinfo)

func (*Context) GetVersionInfo

func (Ctx *Context) GetVersionInfo() (info *VersionInfo, err error)

const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx);

func (*Context) IsOpen

func (Ctx *Context) IsOpen() bool

func (*Context) ListCpupool

func (Ctx *Context) ListCpupool() (list []CpupoolInfo)

libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx*, int *nb_pool_out); void libxl_cpupoolinfo_list_free(libxl_cpupoolinfo *list, int nb_pool);

func (*Context) ListDomain

func (Ctx *Context) ListDomain() (glist []Dominfo)

libxl_dominfo * libxl_list_domain(libxl_ctx*, int *nb_domain_out); void libxl_dominfo_list_free(libxl_dominfo *list, int nb_domain);

func (*Context) ListVcpu

func (Ctx *Context) ListVcpu(id Domid) (glist []Vcpuinfo)

libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,

int *nb_vcpu, int *nr_cpus_out);

void libxl_vcpuinfo_list_free(libxl_vcpuinfo *, int nr_vcpus);

func (*Context) Open

func (Ctx *Context) Open() (err error)

func (*Context) PrimaryConsoleGetTty

func (Ctx *Context) PrimaryConsoleGetTty(domid uint32) (path string, err error)

int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm,

char **path);

type CpupoolInfo

type CpupoolInfo struct {
	Poolid      uint32
	PoolName    string
	Scheduler   Scheduler
	DomainCount int
	Cpumap      Bitmap
}

type DomainType

type DomainType int32

func (DomainType) String

func (dt DomainType) String() (str string)

type Domid

type Domid uint32

type Dominfo

type Dominfo struct {
	Uuid      Uuid
	Domid     Domid
	Ssidref   uint32
	SsidLabel string
	Running   bool
	Blocked   bool
	Paused    bool
	Shutdown  bool
	Dying     bool
	NeverStop bool

	ShutdownReason   int32
	OutstandingMemkb MemKB
	CurrentMemkb     MemKB
	SharedMemkb      MemKB
	PagedMemkb       MemKB
	MaxMemkb         MemKB
	CpuTime          time.Duration
	VcpuMaxId        uint32
	VcpuOnline       uint32
	Cpupool          uint32
	DomainType       int32
}

type Error

type Error int

func (Error) Error

func (e Error) Error() string

type Hwcap

type Hwcap []C.uint32_t

type MemKB

type MemKB uint64

type Physinfo

type Physinfo struct {
	ThreadsPerCore    uint32
	CoresPerSocket    uint32
	MaxCpuId          uint32
	NrCpus            uint32
	CpuKhz            uint32
	TotalPages        uint64
	FreePages         uint64
	ScrubPages        uint64
	OutstandingPages  uint64
	SharingFreedPages uint64
	SharingUsedFrames uint64
	NrNodes           uint32
	HwCap             Hwcap
	CapHvm            bool
	CapHvmDirectio    bool
}

type Scheduler

type Scheduler int

# Consistent with values defined in domctl.h # Except unknown which we have made up libxl_scheduler = Enumeration("scheduler", [

(0, "unknown"),
(4, "sedf"),
(5, "credit"),
(6, "credit2"),
(7, "arinc653"),
(8, "rtds"),
])
var (
	SchedulerUnknown  Scheduler = C.LIBXL_SCHEDULER_UNKNOWN
	SchedulerSedf     Scheduler = C.LIBXL_SCHEDULER_SEDF
	SchedulerCredit   Scheduler = C.LIBXL_SCHEDULER_CREDIT
	SchedulerCredit2  Scheduler = C.LIBXL_SCHEDULER_CREDIT2
	SchedulerArinc653 Scheduler = C.LIBXL_SCHEDULER_ARINC653
	SchedulerRTDS     Scheduler = C.LIBXL_SCHEDULER_RTDS
)

func SchedulerFromString

func SchedulerFromString(name string) (s Scheduler, err error)

func (*Scheduler) FromString

func (s *Scheduler) FromString(gstr string) (err error)

int libxl_scheduler_from_string(const char *s, libxl_scheduler *e);

func (Scheduler) String

func (s Scheduler) String() string

const char *libxl_scheduler_to_string(libxl_scheduler p);

type ShutdownReason

type ShutdownReason int32

func (ShutdownReason) String

func (sr ShutdownReason) String() (str string)

type Uuid

type Uuid C.libxl_uuid

type Vcpuinfo

type Vcpuinfo struct {
	Vcpuid     uint32
	Cpu        uint32
	Online     bool
	Blocked    bool
	Running    bool
	VCpuTime   time.Duration
	Cpumap     Bitmap
	CpumapSoft Bitmap
}

type VersionInfo

type VersionInfo struct {
	XenVersionMajor int
	XenVersionMinor int
	XenVersionExtra string
	Compiler        string
	CompileBy       string
	CompileDomain   string
	CompileDate     string
	Capabilities    string
	Changeset       string
	VirtStart       uint64
	Pagesize        int
	Commandline     string
	BuildId         string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL