From a9ce859052ccb0d588173dfa11bc9cd6858ec6c3 Mon Sep 17 00:00:00 2001 From: bellard Date: Mon, 5 Feb 2007 20:20:30 +0000 Subject: [PATCH] info vnc command (Anthony Liguori) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2391 c046a42c-6fe2-441c-8c8c-71466251a162 --- monitor.c | 2 ++ vl.h | 1 + vnc.c | 22 ++++++++++++++++++++++ 3 files changed, 25 insertions(+) diff --git a/monitor.c b/monitor.c index 893040a174..33c482b090 100644 --- a/monitor.c +++ b/monitor.c @@ -1297,6 +1297,8 @@ static term_cmd_t info_cmds[] = { "", "show the currently saved VM snapshots" }, { "mice", "", do_info_mice, "", "show which guest mouse is receiving events" }, + { "vnc", "", do_info_vnc, + "", "show the vnc server status"}, { NULL, NULL, }, }; diff --git a/vl.h b/vl.h index d492f3e7b1..ff717863f5 100644 --- a/vl.h +++ b/vl.h @@ -909,6 +909,7 @@ void cocoa_display_init(DisplayState *ds, int full_screen); /* vnc.c */ void vnc_display_init(DisplayState *ds, const char *display); +void do_info_vnc(void); /* x_keymap.c */ extern uint8_t _translate_keycode(const int key); diff --git a/vnc.c b/vnc.c index 30dc516527..f729e05d8f 100644 --- a/vnc.c +++ b/vnc.c @@ -73,6 +73,8 @@ struct VncState int last_x; int last_y; + const char *display; + Buffer output; Buffer input; kbd_layout_t *kbd_layout; @@ -90,6 +92,24 @@ struct VncState uint8_t modifiers_state[256]; }; +static VncState *vnc_state; /* needed for info vnc */ + +void do_info_vnc(void) +{ + if (vnc_state == NULL) + term_printf("VNC server disabled\n"); + else { + term_printf("VNC server active on: "); + term_print_filename(vnc_state->display); + term_printf("\n"); + + if (vnc_state->csock == -1) + term_printf("No client connected\n"); + else + term_printf("Client connected\n"); + } +} + /* TODO 1) Get the queue working for IO. 2) there is some weirdness when using the -S option (the screen is grey @@ -1150,6 +1170,8 @@ void vnc_display_init(DisplayState *ds, const char *arg) exit(1); ds->opaque = vs; + vnc_state = vs; + vs->display = arg; vs->lsock = -1; vs->csock = -1;