|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v4 14/14] golang/xenlight: Implement domain create/destroy operations
Implemented DomainCreateNew and DomainDestroy methods
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 | 43 +++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/tools/golang/xenlight/xenlight.go
b/tools/golang/xenlight/xenlight.go
index ed76fec..c9774cf 100644
--- a/tools/golang/xenlight/xenlight.go
+++ b/tools/golang/xenlight/xenlight.go
@@ -1360,3 +1360,46 @@ func (gdc DomainConfig) toC() (cdc
C.libxl_domain_config) {
cdc.on_soft_reset = gdc.OnSoftReset.toC()
return
}
+
+//int libxl_domain_create_new(libxl_ctx *ctx, libxl_domain_config *d_config,
+// uint32_t *domid,
+// const libxl_asyncop_how *ao_how,
+// const libxl_asyncprogress_how *aop_console_how)
+// LIBXL_EXTERNAL_CALLERS_ONLY;
+func (Ctx *Context) DomainCreateNew(dconfig DomainConfig) (id Domid, err
error) {
+ err = Ctx.CheckOpen()
+ if err != nil {
+ return
+ }
+ cconfig := dconfig.toC()
+
+ var cid C.uint32_t
+ //FIXME: create async caller
+ ret := C.libxl_domain_create_new(Ctx.ctx, &cconfig, &cid, nil, nil)
+ if ret != 0 {
+ err = Error(-ret)
+ return
+ }
+ id = Domid(cid)
+
+ return
+}
+
+//int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+// const libxl_asyncop_how *ao_how)
+// LIBXL_EXTERNAL_CALLERS_ONLY;
+func (Ctx *Context) DomainDestroy(id Domid) (err error) {
+ err = Ctx.CheckOpen()
+ if err != nil {
+ return
+ }
+
+ //FIXME: create async caller
+ ret := C.libxl_domain_destroy(Ctx.ctx, C.uint32_t(id), nil)
+ if ret != 0 {
+ err = Error(-ret)
+ return
+ }
+ 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 |