diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2020-10-22 12:33:20 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2020-10-22 12:33:21 +0100 |
commit | 4c5b97bfd0dd54dc27717ae8d1cd10e14eef1430 (patch) | |
tree | 4e9be650849bb9cced28c5712eecb3416486f3df /include | |
parent | eec4682e9977ea4e57d7238fba2782e6f2f3b0d0 (diff) | |
parent | c8263659f1268a0f3502568d7663f722b2461935 (diff) | |
download | qemu-4c5b97bfd0dd54dc27717ae8d1cd10e14eef1430.zip qemu-4c5b97bfd0dd54dc27717ae8d1cd10e14eef1430.tar.gz qemu-4c5b97bfd0dd54dc27717ae8d1cd10e14eef1430.tar.bz2 |
Merge remote-tracking branch 'remotes/kraxel/tags/modules-20201022-pull-request' into staging
modules: build spice and opengl as module.
# gpg: Signature made Thu 22 Oct 2020 06:12:03 BST
# gpg: using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138
* remotes/kraxel/tags/modules-20201022-pull-request:
opengl: build opengl helper code modular
opengl: build egl-headless display modular
spice: flip modules switch
modules: add spice dependencies
modules: dependencies infrastructure
spice: load module when enabled on the cmdline
spice: wire up monitor in QemuSpiceOps.
spice: move display_add_client() to QemuSpiceOps.
spice: move auth functions to QemuSpiceOps.
spice: move add_interface() to QemuSpiceOps.
spice: move display_init() to QemuSpiceOps.
spice: move qemu_spice_init() to QemuSpiceOps.
spice: add QemuSpiceOps, move migrate_info
spice: add module helpers
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/ui/qemu-spice-module.h | 44 | ||||
-rw-r--r-- | include/ui/qemu-spice.h | 42 |
2 files changed, 45 insertions, 41 deletions
diff --git a/include/ui/qemu-spice-module.h b/include/ui/qemu-spice-module.h new file mode 100644 index 0000000..1f22d55 --- /dev/null +++ b/include/ui/qemu-spice-module.h @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2010 Red Hat, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 or + * (at your option) version 3 of the License. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef QEMU_SPICE_MODULE_H +#define QEMU_SPICE_MODULE_H + +#ifdef CONFIG_SPICE +#include <spice.h> +#endif + +typedef struct SpiceInfo SpiceInfo; + +struct QemuSpiceOps { + void (*init)(void); + void (*display_init)(void); + int (*migrate_info)(const char *h, int p, int t, const char *s); + int (*set_passwd)(const char *passwd, + bool fail_if_connected, bool disconnect_if_connected); + int (*set_pw_expire)(time_t expires); + int (*display_add_client)(int csock, int skipauth, int tls); +#ifdef CONFIG_SPICE + int (*add_interface)(SpiceBaseInstance *sin); + SpiceInfo* (*qmp_query)(Error **errp); +#endif +}; + +extern int using_spice; +extern struct QemuSpiceOps qemu_spice; + +#endif diff --git a/include/ui/qemu-spice.h b/include/ui/qemu-spice.h index 0e8ec3f..2beb792 100644 --- a/include/ui/qemu-spice.h +++ b/include/ui/qemu-spice.h @@ -19,24 +19,17 @@ #define QEMU_SPICE_H #include "qapi/error.h" +#include "ui/qemu-spice-module.h" #ifdef CONFIG_SPICE #include <spice.h> #include "qemu/config-file.h" -extern int using_spice; - -void qemu_spice_init(void); void qemu_spice_input_init(void); void qemu_spice_display_init(void); -int qemu_spice_display_add_client(int csock, int skipauth, int tls); -int qemu_spice_add_interface(SpiceBaseInstance *sin); bool qemu_spice_have_display_interface(QemuConsole *con); int qemu_spice_add_display_interface(QXLInstance *qxlin, QemuConsole *con); -int qemu_spice_set_passwd(const char *passwd, - bool fail_if_connected, bool disconnect_if_connected); -int qemu_spice_set_pw_expire(time_t expires); int qemu_spice_migrate_info(const char *hostname, int port, int tls_port, const char *subject); @@ -50,40 +43,7 @@ int qemu_spice_migrate_info(const char *hostname, int port, int tls_port, #include "qemu/error-report.h" -#define using_spice 0 #define spice_displays 0 -static inline int qemu_spice_set_passwd(const char *passwd, - bool fail_if_connected, - bool disconnect_if_connected) -{ - return -1; -} -static inline int qemu_spice_set_pw_expire(time_t expires) -{ - return -1; -} -static inline int qemu_spice_migrate_info(const char *h, int p, int t, - const char *s) -{ - return -1; -} - -static inline int qemu_spice_display_add_client(int csock, int skipauth, - int tls) -{ - return -1; -} - -static inline void qemu_spice_display_init(void) -{ - /* This must never be called if CONFIG_SPICE is disabled */ - error_report("spice support is disabled"); - abort(); -} - -static inline void qemu_spice_init(void) -{ -} #endif /* CONFIG_SPICE */ |