From d18147940f8e330881681c7ef68505ac4463e652 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Fri, 21 Dec 2012 13:15:19 +0000 Subject: Introduce an LXC specific public API & library This patch introduces support for LXC specific public APIs. In common with what was done for QEMU, this creates a libvirt_lxc.so library and libvirt/libvirt-lxc.h header file. The actual APIs are int virDomainLxcOpenNamespace(virDomainPtr domain, int **fdlist, unsigned int flags); int virDomainLxcEnterNamespace(virDomainPtr domain, unsigned int nfdlist, int *fdlist, unsigned int *noldfdlist, int **oldfdlist, unsigned int flags); which provide a way to use the setns() system call to move the calling process into the container's namespace. It is not practical to write in a generically applicable manner. The nearest that we could get to such an API would be an API which allows to pass a command + argv to be executed inside a container. Even if we had such a generic API, this LXC specific API is still useful, because it allows the caller to maintain the current process context, in particular any I/O streams they have open. NB the virDomainLxcEnterNamespace() API is special in that it runs client side, so does not involve the internal driver API. Signed-off-by: Daniel P. Berrange --- libvirt-lxc-override-api.xml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 libvirt-lxc-override-api.xml (limited to 'libvirt-lxc-override-api.xml') diff --git a/libvirt-lxc-override-api.xml b/libvirt-lxc-override-api.xml new file mode 100644 index 0000000..db0d45d --- /dev/null +++ b/libvirt-lxc-override-api.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + -- cgit