1 /* 2 * Copyright (C) 2010 Red Hat, Inc. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License as 6 * published by the Free Software Foundation; either version 2 or 7 * (at your option) version 3 of the License. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 #ifndef QEMU_SPICE_MODULE_H 19 #define QEMU_SPICE_MODULE_H 20 21 #ifdef CONFIG_SPICE 22 #include <spice.h> 23 #endif 24 25 typedef struct SpiceInfo SpiceInfo; 26 27 struct QemuSpiceOps { 28 void (*init)(void); 29 void (*display_init)(void); 30 int (*migrate_info)(const char *h, int p, int t, const char *s); 31 int (*set_passwd)(const char *passwd, 32 bool fail_if_connected, bool disconnect_if_connected); 33 int (*set_pw_expire)(time_t expires); 34 int (*display_add_client)(int csock, int skipauth, int tls); 35 #ifdef CONFIG_SPICE 36 int (*add_interface)(SpiceBaseInstance *sin); 37 SpiceInfo* (*qmp_query)(Error **errp); 38 #endif 39 }; 40 41 extern int using_spice; 42 extern struct QemuSpiceOps qemu_spice; 43 44 #endif 45