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
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
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
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
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
vnc-auth-sasl.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
vnc-auth-vencrypt.c
vnc-auth-vencrypt.h
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-enc-zlib.c
vnc-enc-zrle-template.c
vnc-enc-zrle.c pixman/vnc: use pixman images in vnc. 2012-11-01 14:00:04 +01:00
vnc-enc-zrle.h
vnc-enc-zywrle-template.c
vnc-enc-zywrle.h
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
x_keymap.h