diff options
author | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2009-03-06 20:27:13 +0000 |
---|---|---|
committer | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2009-03-06 20:27:13 +0000 |
commit | 19a490bfca85165de1acd2d5c3964fb44615746d (patch) | |
tree | 2891ba9a6430cdb0cca8c0697eafc4944673cc00 /vnc.c | |
parent | 0483755a4d1fd61fe9c284166f67ae08af8d858b (diff) | |
download | qemu-19a490bfca85165de1acd2d5c3964fb44615746d.zip qemu-19a490bfca85165de1acd2d5c3964fb44615746d.tar.gz qemu-19a490bfca85165de1acd2d5c3964fb44615746d.tar.bz2 |
Move VNC structs into header file ("Daniel P. Berrange")
This patch moves the definitions of VncState and VncDisplay structs
out into a vnc.h header file. This is to allow the code for TLS
and SASL auth mechanisms to be moved out of the main vnc.c file.
vnc.c | 109 ------------------------------------------------
vnc.h | 149 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 148 insertions(+), 110 deletions(-)
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6722 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'vnc.c')
-rw-r--r-- | vnc.c | 110 |
1 files changed, 2 insertions, 108 deletions
@@ -3,6 +3,7 @@ * * Copyright (C) 2006 Anthony Liguori <anthony@codemonkey.ws> * Copyright (C) 2006 Fabrice Bellard + * Copyright (C) 2009 Red Hat, Inc * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -23,26 +24,16 @@ * THE SOFTWARE. */ -#include "qemu-common.h" -#include "monitor.h" -#include "console.h" +#include "vnc.h" #include "sysemu.h" #include "qemu_socket.h" #include "qemu-timer.h" -#include "audio/audio.h" -#include <zlib.h> #define VNC_REFRESH_INTERVAL (1000 / 30) -#include "vnc.h" #include "vnc_keysym.h" #include "d3des.h" -#ifdef CONFIG_VNC_TLS -#include <gnutls/gnutls.h> -#include <gnutls/x509.h> -#endif /* CONFIG_VNC_TLS */ - // #define _VNC_DEBUG 1 #ifdef _VNC_DEBUG @@ -65,103 +56,6 @@ static void vnc_debug_gnutls_log(int level, const char* str) { } \ } -typedef struct Buffer -{ - size_t capacity; - size_t offset; - uint8_t *buffer; -} Buffer; - -typedef struct VncState VncState; - -typedef int VncReadEvent(VncState *vs, uint8_t *data, size_t len); - -typedef void VncWritePixels(VncState *vs, void *data, int size); - -typedef void VncSendHextileTile(VncState *vs, - int x, int y, int w, int h, - void *last_bg, - void *last_fg, - int *has_bg, int *has_fg); - -#define VNC_MAX_WIDTH 2048 -#define VNC_MAX_HEIGHT 2048 -#define VNC_DIRTY_WORDS (VNC_MAX_WIDTH / (16 * 32)) - -#define VNC_AUTH_CHALLENGE_SIZE 16 - -typedef struct VncDisplay VncDisplay; - -struct VncDisplay -{ - int lsock; - DisplayState *ds; - VncState *clients; - kbd_layout_t *kbd_layout; - - char *display; - char *password; - int auth; -#ifdef CONFIG_VNC_TLS - int subauth; - int x509verify; - - char *x509cacert; - char *x509cacrl; - char *x509cert; - char *x509key; -#endif -}; - -struct VncState -{ - QEMUTimer *timer; - int csock; - DisplayState *ds; - VncDisplay *vd; - int need_update; - uint32_t dirty_row[VNC_MAX_HEIGHT][VNC_DIRTY_WORDS]; - char *old_data; - uint32_t features; - int absolute; - int last_x; - int last_y; - - uint32_t vnc_encoding; - uint8_t tight_quality; - uint8_t tight_compression; - - int major; - int minor; - - char challenge[VNC_AUTH_CHALLENGE_SIZE]; - -#ifdef CONFIG_VNC_TLS - int wiremode; - gnutls_session_t tls_session; -#endif - - Buffer output; - Buffer input; - /* current output mode information */ - VncWritePixels *write_pixels; - VncSendHextileTile *send_hextile_tile; - DisplaySurface clientds, serverds; - - CaptureVoiceOut *audio_cap; - struct audsettings as; - - VncReadEvent *read_handler; - size_t read_handler_expect; - /* input */ - uint8_t modifiers_state[256]; - - Buffer zlib; - Buffer zlib_tmp; - z_stream zlib_stream[4]; - - VncState *next; -}; static VncDisplay *vnc_display; /* needed for info vnc */ static DisplayChangeListener *dcl; |