Commit a9ce859052ccb0d588173dfa11bc9cd6858ec6c3

Authored by bellard
1 parent 564c337e

info vnc command (Anthony Liguori)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2391 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 3 changed files with 25 additions and 0 deletions
monitor.c
... ... @@ -1297,6 +1297,8 @@ static term_cmd_t info_cmds[] = {
1297 1297 "", "show the currently saved VM snapshots" },
1298 1298 { "mice", "", do_info_mice,
1299 1299 "", "show which guest mouse is receiving events" },
  1300 + { "vnc", "", do_info_vnc,
  1301 + "", "show the vnc server status"},
1300 1302 { NULL, NULL, },
1301 1303 };
1302 1304  
... ...
... ... @@ -909,6 +909,7 @@ void cocoa_display_init(DisplayState *ds, int full_screen);
909 909  
910 910 /* vnc.c */
911 911 void vnc_display_init(DisplayState *ds, const char *display);
  912 +void do_info_vnc(void);
912 913  
913 914 /* x_keymap.c */
914 915 extern uint8_t _translate_keycode(const int key);
... ...
... ... @@ -73,6 +73,8 @@ struct VncState
73 73 int last_x;
74 74 int last_y;
75 75  
  76 + const char *display;
  77 +
76 78 Buffer output;
77 79 Buffer input;
78 80 kbd_layout_t *kbd_layout;
... ... @@ -90,6 +92,24 @@ struct VncState
90 92 uint8_t modifiers_state[256];
91 93 };
92 94  
  95 +static VncState *vnc_state; /* needed for info vnc */
  96 +
  97 +void do_info_vnc(void)
  98 +{
  99 + if (vnc_state == NULL)
  100 + term_printf("VNC server disabled\n");
  101 + else {
  102 + term_printf("VNC server active on: ");
  103 + term_print_filename(vnc_state->display);
  104 + term_printf("\n");
  105 +
  106 + if (vnc_state->csock == -1)
  107 + term_printf("No client connected\n");
  108 + else
  109 + term_printf("Client connected\n");
  110 + }
  111 +}
  112 +
93 113 /* TODO
94 114 1) Get the queue working for IO.
95 115 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)
1150 1170 exit(1);
1151 1171  
1152 1172 ds->opaque = vs;
  1173 + vnc_state = vs;
  1174 + vs->display = arg;
1153 1175  
1154 1176 vs->lsock = -1;
1155 1177 vs->csock = -1;
... ...