On 20.05.2015 07:19, Martin Kletzander wrote: > For now there are only CONNECT_OPEN and CONNECT_CLOSE procedures. > > Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> > --- > .gitignore | 1 + > src/Makefile.am | 13 +++++++++- > src/admin/admin_protocol.x | 65 ++++++++++++++++++++++++++++++++++++++++++++++ > src/admin_protocol-structs | 9 +++++++ > 4 files changed, 87 insertions(+), 1 deletion(-) > create mode 100644 src/admin/admin_protocol.x > create mode 100644 src/admin_protocol-structs > > diff --git a/.gitignore b/.gitignore > index 1a5cf8e..b60c162 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -111,6 +111,7 @@ > /src/access/viraccessapichecklxc.h > /src/access/viraccessapicheckqemu.c > /src/access/viraccessapicheckqemu.h > +/src/admin/admin_protocol.[ch] > /src/esx/*.generated.* > /src/hyperv/*.generated.* > /src/libvirt*.def > diff --git a/src/Makefile.am b/src/Makefile.am > index 7e95cf1..d625874 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -392,6 +392,16 @@ REMOTE_DRIVER_SOURCES = \ > EXTRA_DIST += $(REMOTE_DRIVER_PROTOCOL) \ > $(REMOTE_DRIVER_GENERATED) > > +ADMIN_PROTOCOL = $(srcdir)/admin/admin_protocol.x > + > +ADMIN_PROTOCOL_GENERATED = \ > + admin/admin_protocol.c \ > + admin/admin_protocol.h > + > +EXTRA_DIST += $(ADMIN_PROTOCOL) $(ADMIN_PROTOCOL_GENERATED) > +BUILT_SOURCES += $(ADMIN_PROTOCOL_GENERATED) > +MAINTAINERCLEANFILES += $(ADMIN_PROTOCOL_GENERATED) > + > # Ensure that we don't change the struct or member names or member ordering > # in remote_protocol.x The embedded perl below needs a few comments, and > # presumes you know what pdwtags output looks like: > @@ -2093,7 +2103,8 @@ RPC_PROBE_FILES = $(srcdir)/rpc/virnetprotocol.x \ > $(srcdir)/remote/lxc_protocol.x \ > $(srcdir)/remote/qemu_protocol.x \ > $(srcdir)/lxc/lxc_monitor_protocol.x \ > - $(srcdir)/locking/lock_protocol.x > + $(srcdir)/locking/lock_protocol.x \ > + $(srcdir)/admin/admin_protocol.x > > libvirt_functions.stp: $(RPC_PROBE_FILES) $(srcdir)/rpc/gensystemtap.pl > $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gensystemtap.pl $(RPC_PROBE_FILES) > $@ > diff --git a/src/admin/admin_protocol.x b/src/admin/admin_protocol.x > new file mode 100644 > index 0000000..63f6a53 > --- /dev/null > +++ b/src/admin/admin_protocol.x > @@ -0,0 +1,65 @@ > +/* -*- c -*- > + * admin_protocol.x: private protocol for communicating between > + * remote_internal driver and libvirtd. This protocol is > + * internal and may change at any time. > + * > + * Copyright (C) 2014-2015 Red Hat, Inc. 2014? > + * > + * This library is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; either > + * version 2.1 of the License, or (at your option) any later version. > + * > + * This library is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with this library. If not, see > + * <http://www.gnu.org/licenses/>. > + * > + * Author: Martin Kletzander <mkletzan@xxxxxxxxxx> > + */ > + > +%#include "remote_protocol.h" > + > + > +/*----- Protocol. -----*/ > +struct admin_connect_open_args { > + unsigned int flags; > +}; > + > + > +/* Define the program number, protocol version and procedure numbers here. */ > +const ADMIN_PROGRAM = 0x06900690; > +const ADMIN_PROTOCOL_VERSION = 1; > + > +enum admin_procedure { > + /* Each function must be preceded by a comment providing one or > + * more annotations: > + * > + * - @generate: none|client|server|both > + * > + * Whether to generate the dispatch stubs for the server > + * and/or client code. > + * > + * - @readstream: paramnumber > + * - @writestream: paramnumber > + * > + * The @readstream or @writestream annotations let daemon and src/remote > + * create a stream. The direction is defined from the src/remote point > + * of view. A readstream transfers data from daemon to src/remote. The > + * <paramnumber> specifies at which offset the stream parameter is inserted > + * in the function parameter list. > + */ > + /** > + * @generate: client > + */ > + ADMIN_PROC_CONNECT_OPEN = 1, > + > + /** > + * @generate: client > + */ > + ADMIN_PROC_CONNECT_CLOSE = 2 > +}; > diff --git a/src/admin_protocol-structs b/src/admin_protocol-structs > new file mode 100644 > index 0000000..bc1d489 > --- /dev/null > +++ b/src/admin_protocol-structs > @@ -0,0 +1,9 @@ > +/* -*- c -*- */ > +struct admin_connect_open_args { > + unsigned int flags; > +}; > + > +enum admin_procedure { > + ADMIN_PROC_CONNECT_OPEN = 1, > + ADMIN_PROC_CONNECT_CLOSE = 2, > +}; > ACK Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list