info vnc command (Anthony Liguori)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2391 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
bellard 2007-02-05 20:20:30 +00:00
parent 564c337efd
commit a9ce859052
3 changed files with 25 additions and 0 deletions

View File

@ -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, },
};

1
vl.h
View File

@ -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);

22
vnc.c
View File

@ -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;