From 3c7026b1802c7e00d30f33c458b67126396ad10a Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Fri, 1 Jul 2011 19:49:42 +0300 Subject: server/red_{record, replay}.[ch]: introduce MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Marc-André Lureau --- server/red_record_qxl.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 server/red_record_qxl.h (limited to 'server/red_record_qxl.h') 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 . +*/ + +#ifndef RED_ABI_RECORD_H +#define RED_ABI_RECORD_H + +#include +#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 -- cgit