summaryrefslogtreecommitdiffstats
path: root/server/red_record_qxl.h
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2011-07-01 19:49:42 +0300
committerFrediano Ziglio <fziglio@redhat.com>2015-08-21 09:38:44 +0100
commit3c7026b1802c7e00d30f33c458b67126396ad10a (patch)
tree1b85ceee41b14f719697e80f500910bde68c46fd /server/red_record_qxl.h
parent865455cf321ba7a1d2a7d32065bf40c601cfd494 (diff)
downloadspice-3c7026b1802c7e00d30f33c458b67126396ad10a.tar.gz
spice-3c7026b1802c7e00d30f33c458b67126396ad10a.tar.xz
spice-3c7026b1802c7e00d30f33c458b67126396ad10a.zip
server/red_{record, replay}.[ch]: introduce
Currently hand crafted with some sed scripts and alot of vim macros from red_parse_qxl after considering the logger in qemu/hw/qxl-logger.c and seeing it was incomplete. The only problem with logging from the server and not from qemu is that it requires coordinated shutdown to avoid half a message. Should be automatically generated from a declarative syntax, i.e. qxl.proto. Note: zlib compression is introduced in a disabled state, see ZLIB define Now with a simple versioned header and generated ids by the server instead of based on the recorded file, and doesn't use more then 1024 surfaces (configurable). Signed-off-by: Alon Levy <alon@pobox.com> Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Diffstat (limited to 'server/red_record_qxl.h')
-rw-r--r--server/red_record_qxl.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/server/red_record_qxl.h b/server/red_record_qxl.h
new file mode 100644
index 00000000..b737db89
--- /dev/null
+++ b/server/red_record_qxl.h
@@ -0,0 +1,34 @@
+/* -*- Mode: C; c-basic-offset: 4; indent-tabs-mode: nil -*- */
+/*
+ Copyright (C) 2009,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 of
+ the License, or (at your option) any later version.
+
+ 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 RED_ABI_RECORD_H
+#define RED_ABI_RECORD_H
+
+#include <spice/qxl_dev.h>
+#include "red_common.h"
+#include "red_memslots.h"
+
+void red_record_dev_input_primary_surface_create(
+ FILE *fd, QXLDevSurfaceCreate *surface, uint8_t *line_0);
+
+void red_record_event(FILE *fd, int what, uint32_t type, unsigned long ts);
+
+void red_record_qxl_command(FILE *fd, RedMemSlotInfo *slots,
+ QXLCommandExt ext_cmd, unsigned long ts);
+
+#endif