From: Nick Rosbrook <rosbrookn@ainfosec.com>
After Xen summit, we started the discussion in this[1] RFC thread
to figure out how to generate Go bindings for libxl. This series
implements that Go code generation using the existing IDL, and updates
the existing hand-written code in xenlight.go to use the generated
code.
The goal of this series is to provide a good foundation for continued
development of the Go package.
These patches can also be found on my GitHub branch[2].
[1] https://lists.xenproject.org/archives/html/xen-devel/2019-07/msg02259.html
[2] https://github.com/enr0n/xen/tree/golang-patches-v1
Nick Rosbrook (24):
golang/xenlight: fix calls to libxl_domain_unpause/pause
golang/xenlight: generate enum types from IDL
golang/xenlight: define Defbool builtin type
golang/xenlight: define Devid type as int
golang/xenlight: define KeyValueList builtin type
golang/xenlight: re-name Bitmap marshaling functions
golang/xenlight: define StringList builtin type
golang/xenlight: define Mac builtin type
golang/xenlight: define MsVmGenid builtin type
golang/xenlight: define EvLink builtin as empty struct
golang/xenlight: define CpuidPolicyList builtin type
golang/xenlight: re-factor Uuid type implementation
golang/xenlight: re-factor Hwcap type implementation
golang/xenlight: generate structs from the IDL
golang/xenlight: remove no-longer used type MemKB
golang/xenlight: begin C to Go type marshaling
golang/xenlight: implement keyed union C to Go marshaling
golang/xenlight: implement array C to Go marshaling
golang/xenlight: begin Go to C type marshaling
golang/xenlight: implement keyed union Go to C marshaling
golang/xenlight: implement array Go to C marshaling
golang/xenlight: revise use of Context type
golang/xenlight: add error return type to Context.Cpupoolinfo
golang/xenlight: add make target for generated files
tools/golang/xenlight/Makefile | 22 +-
tools/golang/xenlight/gengotypes.py | 698 +++++
tools/golang/xenlight/xenlight.go | 928 +++---
tools/golang/xenlight/xenlight_helpers.go | 3404 +++++++++++++++++++++
tools/golang/xenlight/xenlight_types.go | 1212 ++++++++
5 files changed, 5727 insertions(+), 537 deletions(-)
create mode 100644 tools/golang/xenlight/gengotypes.py
create mode 100644 tools/golang/xenlight/xenlight_helpers.go
create mode 100644 tools/golang/xenlight/xenlight_types.go
Cc: George Dunlap <george.dunlap@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Wei Liu <wl@xen.org>
--
2.19.1
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel