|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [RFC PATCH 2/2] libxl: prototype libxl_device_nic_add/remove with IDL
Add a DeviceFunction class and describe prototypes for
libxl_device_nic_add/remove in libxl_types.idl.
Signed-off-by: Nick Rosbrook <rosbrookn@xxxxxxxxxxxx>
--
This is mostly to serve as an example of how the first patch would be
used for function support in the IDL.
---
tools/libxl/idl.py | 8 ++++++++
tools/libxl/libxl_types.idl | 6 ++++++
2 files changed, 14 insertions(+)
diff --git a/tools/libxl/idl.py b/tools/libxl/idl.py
index 1839871f86..15085af8c7 100644
--- a/tools/libxl/idl.py
+++ b/tools/libxl/idl.py
@@ -386,6 +386,14 @@ class CtxFunction(Function):
Function.__init__(self, name, params, return_type, return_is_status)
+class DeviceFunction(CtxFunction):
+ """ A function that modifies a device. """
+ def __init__(self, name=None, device_param=None):
+ params = [ ("domid", uint32), device_param ]
+
+ CtxFunction.__init__(self, name=name, params=params,
return_type=integer,
+ return_is_status=True, is_asyncop=True)
+
def parse(f):
print("Parsing %s" % f, file=sys.stderr)
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 9d3f05f399..22ba93ee4b 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -769,6 +769,12 @@ libxl_device_nic = Struct("device_nic", [
("colo_checkpoint_port", string)
])
+libxl_device_nic_add = DeviceFunction("device_nic_add",
+ ("nic", libxl_device_nic))
+
+libxl_device_nic_remove = DeviceFunction("device_nic_remove",
+ ("nic", libxl_device_nic))
+
libxl_device_pci = Struct("device_pci", [
("func", uint8),
("dev", uint8),
--
2.17.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |