[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v5 09/10] golang/xenlight: Implement get console path operations
From: Ronald Rojas <ronladred@xxxxxxxxx> Implement Golang enumeration of libxl_console_type as ConsoleType Implement the following libxl functions: - libxl_console_get_tty - libxl_primary_console_get_tty Signed-off-by: Ronald Rojas <ronladred@xxxxxxxxx> --- CC: Ian Jackson <ian.jackson@xxxxxxxxxx> CC: Wei Liu <wei.liu2@xxxxxxxxxx> Changes since v4: - Moved defer C.free() until after the error check --- tools/golang/xenlight/xenlight.go | 55 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/tools/golang/xenlight/xenlight.go b/tools/golang/xenlight/xenlight.go index a8ade4f..82aeb22 100644 --- a/tools/golang/xenlight/xenlight.go +++ b/tools/golang/xenlight/xenlight.go @@ -835,3 +835,58 @@ func (Ctx *Context) ListVcpu(id Domid) (glist []Vcpuinfo) { return } + +type ConsoleType int + +const ( + ConsoleTypeUnknown = ConsoleType(C.LIBXL_CONSOLE_TYPE_UNKNOWN) + ConsoleTypeSerial = ConsoleType(C.LIBXL_CONSOLE_TYPE_SERIAL) + ConsoleTypePV = ConsoleType(C.LIBXL_CONSOLE_TYPE_PV) +) + +func (ct ConsoleType) String() (str string) { + cstr := C.libxl_console_type_to_string(C.libxl_console_type(ct)) + str = C.GoString(cstr) + + return +} + +//int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, +//libxl_console_type type, char **path); +func (Ctx *Context) ConsoleGetTty(id Domid, consNum int, conType ConsoleType) (path string, err error) { + err = Ctx.CheckOpen() + if err != nil { + return + } + + var cpath *C.char + ret := C.libxl_console_get_tty(Ctx.ctx, C.uint32_t(id), C.int(consNum), C.libxl_console_type(conType), &cpath) + if ret != 0 { + err = Error(-ret) + return + } + defer C.free(cpath) + + path = C.GoString(cpath) + return +} + +//int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, +// char **path); +func (Ctx *Context) PrimaryConsoleGetTty(domid uint32) (path string, err error) { + err = Ctx.CheckOpen() + if err != nil { + return + } + + var cpath *C.char + ret := C.libxl_primary_console_get_tty(Ctx.ctx, C.uint32_t(domid), &cpath) + if ret != 0 { + err = Error(-ret) + return + } + defer C.free(cpath) + + path = C.GoString(cpath) + return +} -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |