[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v4 11/14] golang/xenlight: Implement get console path operations
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: xen-devel@xxxxxxxxxxxxx CC: george.dunlap@xxxxxxxxxx CC: ian.jackson@xxxxxxxxxxxxx CC: wei.liu2@xxxxxxxxxx --- --- tools/golang/xenlight/xenlight.go | 57 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/tools/golang/xenlight/xenlight.go b/tools/golang/xenlight/xenlight.go index 61d7f8f..d520f74 100644 --- a/tools/golang/xenlight/xenlight.go +++ b/tools/golang/xenlight/xenlight.go @@ -1080,3 +1080,60 @@ 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 + defer C.free(cpath) + 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 + } + + 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) + defer C.free(cpath) + + if ret != 0 { + err = Error(-ret) + return + } + + path = C.GoString(cpath) + return +} -- 2.7.3 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |