Commit a9ce859052ccb0d588173dfa11bc9cd6858ec6c3
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,6 +1297,8 @@ static term_cmd_t info_cmds[] = { | ||
1297 | "", "show the currently saved VM snapshots" }, | 1297 | "", "show the currently saved VM snapshots" }, |
1298 | { "mice", "", do_info_mice, | 1298 | { "mice", "", do_info_mice, |
1299 | "", "show which guest mouse is receiving events" }, | 1299 | "", "show which guest mouse is receiving events" }, |
1300 | + { "vnc", "", do_info_vnc, | ||
1301 | + "", "show the vnc server status"}, | ||
1300 | { NULL, NULL, }, | 1302 | { NULL, NULL, }, |
1301 | }; | 1303 | }; |
1302 | 1304 |
vl.h
@@ -909,6 +909,7 @@ void cocoa_display_init(DisplayState *ds, int full_screen); | @@ -909,6 +909,7 @@ void cocoa_display_init(DisplayState *ds, int full_screen); | ||
909 | 909 | ||
910 | /* vnc.c */ | 910 | /* vnc.c */ |
911 | void vnc_display_init(DisplayState *ds, const char *display); | 911 | void vnc_display_init(DisplayState *ds, const char *display); |
912 | +void do_info_vnc(void); | ||
912 | 913 | ||
913 | /* x_keymap.c */ | 914 | /* x_keymap.c */ |
914 | extern uint8_t _translate_keycode(const int key); | 915 | extern uint8_t _translate_keycode(const int key); |
vnc.c
@@ -73,6 +73,8 @@ struct VncState | @@ -73,6 +73,8 @@ struct VncState | ||
73 | int last_x; | 73 | int last_x; |
74 | int last_y; | 74 | int last_y; |
75 | 75 | ||
76 | + const char *display; | ||
77 | + | ||
76 | Buffer output; | 78 | Buffer output; |
77 | Buffer input; | 79 | Buffer input; |
78 | kbd_layout_t *kbd_layout; | 80 | kbd_layout_t *kbd_layout; |
@@ -90,6 +92,24 @@ struct VncState | @@ -90,6 +92,24 @@ struct VncState | ||
90 | uint8_t modifiers_state[256]; | 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 | /* TODO | 113 | /* TODO |
94 | 1) Get the queue working for IO. | 114 | 1) Get the queue working for IO. |
95 | 2) there is some weirdness when using the -S option (the screen is grey | 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,6 +1170,8 @@ void vnc_display_init(DisplayState *ds, const char *arg) | ||
1150 | exit(1); | 1170 | exit(1); |
1151 | 1171 | ||
1152 | ds->opaque = vs; | 1172 | ds->opaque = vs; |
1173 | + vnc_state = vs; | ||
1174 | + vs->display = arg; | ||
1153 | 1175 | ||
1154 | vs->lsock = -1; | 1176 | vs->lsock = -1; |
1155 | vs->csock = -1; | 1177 | vs->csock = -1; |