qemu/ui
Michael Tokarev 4efeabbbe8 create qemu_openpty_raw() helper function and move it to a separate file
In two places qemu uses openpty() which is very system-dependent,
and in both places the pty is switched to raw mode as well.
Make a wrapper function which does both steps, and move all the
system-dependent complexity into a separate file, together
with static/local implementations of openpty() and cfmakeraw()
from qemu-char.c.

It is in a separate file, not part of oslib-posix.c, because
openpty() often resides in -lutil which is not linked to
every program qemu builds.

This change removes #including of <pty.h>, <termios.h>
and other rather specific system headers out of qemu-common.h,
which isn't a place for such specific headers really.

This version has been verified to build correctly on Linux,
OpenBSD, FreeBSD and OpenIndiana.  On the latter it lets qemu
to be built with gtk gui which were not possible there due to
missing openpty() and cfmakeraw().

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Tested-by: Andreas Färber <andreas.faerber@web.de>
2013-06-14 14:28:43 +04:00
..
cocoa.m cocoa: Avoid deprecated NSOpenPanel beginSheetForDirectory 2013-05-29 01:28:31 +02:00
console.c qemu-char: don't issue CHR_EVENT_OPEN in a BH 2013-06-10 11:38:37 -05:00
curses_keys.h janitor: add guards to headers 2012-12-19 08:31:31 +01:00
curses.c console: zap ds arg from register_displaychangelistener 2013-04-25 14:45:46 -05:00
cursor_hidden.xpm ui: move files to ui/ and include/ui/ 2012-12-19 08:31:30 +01:00
cursor_left_ptr.xpm ui: move files to ui/ and include/ui/ 2012-12-19 08:31:30 +01:00
cursor.c ui: move files to ui/ and include/ui/ 2012-12-19 08:31:30 +01:00
d3des.c ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
d3des.h janitor: add guards to headers 2012-12-19 08:31:31 +01:00
gtk.c create qemu_openpty_raw() helper function and move it to a separate file 2013-06-14 14:28:43 +04:00
input.c ui/input.c: replace magic numbers with macros 2013-05-23 09:58:45 -04:00
keymaps.c ui: Drop useless null tests in parse_keyboard_layout() 2013-01-16 12:02:47 -06:00
keymaps.h ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
Makefile.objs Ensure x_keymap.o is built when GTK is enabled 2013-02-26 13:29:53 -06:00
qemu-pixman.c pixman: render vgafont glyphs into pixman images 2013-04-16 09:03:47 +02:00
qemu-x509.h ui: move files to ui/ and include/ui/ 2012-12-19 08:31:30 +01:00
sdl_keysym.h ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
sdl_zoom_template.h sdl: Fix heap smash in sdl_zoom_rgb{16,32} for int > 32 bits 2013-01-15 18:25:30 -06:00
sdl_zoom.c sdl: Fix heap smash in sdl_zoom_rgb{16,32} for int > 32 bits 2013-01-15 18:25:30 -06:00
sdl_zoom.h ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
sdl.c console: zap ds arg from register_displaychangelistener 2013-04-25 14:45:46 -05:00
spice-core.c spice: Fix unchecked strdup() by converting to g_strdup() 2013-01-30 11:14:46 +01:00
spice-display.c console: zap ds arg from register_displaychangelistener 2013-04-25 14:45:46 -05:00
spice-input.c ui: move files to ui/ and include/ui/ 2012-12-19 08:31:30 +01:00
vgafont.h ui: move files to ui/ and include/ui/ 2012-12-19 08:31:30 +01:00
vnc_keysym.h vnc: recognize Hungarian doubleacutes 2013-02-06 08:29:58 -06:00
vnc-auth-sasl.c Merge branch 'trivial-patches' of git://github.com/stefanha/qemu 2012-10-06 18:54:14 +02:00
vnc-auth-sasl.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
vnc-auth-vencrypt.c Avoid returning void 2012-07-28 09:23:11 +00:00
vnc-auth-vencrypt.h ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
vnc-enc-hextile-template.h pixman/vnc: use pixman images in vnc. 2012-11-01 14:00:04 +01:00
vnc-enc-hextile.c pixman/vnc: remove dead code. 2012-11-01 14:00:05 +01:00
vnc-enc-tight.c vnc: stop using DisplayState 2013-03-18 10:21:58 +01:00
vnc-enc-tight.h vnc: tight add PNG encoding 2010-07-26 17:36:14 -05:00
vnc-enc-zlib.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
vnc-enc-zrle-template.c vnc: Add ZRLE and ZYWRLE encodings. 2011-02-23 16:28:28 -06:00
vnc-enc-zrle.c pixman/vnc: use pixman images in vnc. 2012-11-01 14:00:04 +01:00
vnc-enc-zrle.h vnc: Add ZRLE and ZYWRLE encodings. 2011-02-23 16:28:28 -06:00
vnc-enc-zywrle-template.c Fix spelling in comments, documentation and messages 2011-12-14 11:09:44 +00:00
vnc-enc-zywrle.h Fix spelling in comments, documentation and messages 2011-12-14 11:09:44 +00:00
vnc-jobs.c vnc: stop using DisplayState 2013-03-18 10:21:58 +01:00
vnc-jobs.h vnc: add missing static 2012-11-01 19:49:45 +01:00
vnc-palette.c ui/vnc-palette.c: Include headers it needs 2012-12-06 09:17:05 +01:00
vnc-palette.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
vnc-tls.c TLS support for VNC Websockets 2013-05-03 12:04:57 -05:00
vnc-tls.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
vnc-ws.c TLS support for VNC Websockets 2013-05-03 12:04:57 -05:00
vnc-ws.h TLS support for VNC Websockets 2013-05-03 12:04:57 -05:00
vnc.c vnc: Make ledstate comparison before modifiers updated 2013-05-15 08:48:43 -05:00
vnc.h TLS support for VNC Websockets 2013-05-03 12:04:57 -05:00
x_keymap.c ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
x_keymap.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00