qemu/util
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
..
acl.c acl: Free memory allocated with g_malloc() with g_free() 2013-01-15 18:25:41 -06:00
aes.c aes: make Td[0-5] and Te[0-5] tables non static 2013-04-13 13:51:57 +02:00
bitmap.c build: move libqemuutil.a components to util/ 2013-01-12 18:42:50 +01:00
bitops.c bitops: unroll while loop in find_next_bit() 2013-03-26 13:32:32 +01:00
cache-utils.c build: move libqemuutil.a components to util/ 2013-01-12 18:42:50 +01:00
compatfd.c build: move libqemuutil.a components to util/ 2013-01-12 18:42:50 +01:00
crc32c.c qemu: add castagnoli crc32c checksum algorithm 2013-05-03 10:31:58 +02:00
cutils.c qemu-io: Move qemu_strsep() to cutils.c 2013-06-06 11:27:04 +02:00
envlist.c util: Fix compilation of envlist.c for MinGW 2013-02-02 20:13:19 +00:00
error.c build: move libqemuutil.a components to util/ 2013-01-12 18:42:50 +01:00
event_notifier-posix.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
event_notifier-win32.c build: move libqemuutil.a components to util/ 2013-01-12 18:42:50 +01:00
fifo8.c hw: move fifo.[ch] to libqemuutil 2013-03-01 13:53:10 +01:00
hbitmap.c hbitmap: Use non-bitops ctzl 2013-02-16 11:11:34 +00:00
hexdump.c Rename hexdump to avoid FreeBSD libutil conflict 2013-05-20 08:20:08 -05:00
host-utils.c host-utils: Improve mulu64 and muls64 2013-02-17 14:28:58 +00:00
iov.c Rename hexdump to avoid FreeBSD libutil conflict 2013-05-20 08:20:08 -05:00
Makefile.objs create qemu_openpty_raw() helper function and move it to a separate file 2013-06-14 14:28:43 +04:00
module.c build: move libqemuutil.a components to util/ 2013-01-12 18:42:50 +01:00
notify.c build: move libqemuutil.a components to util/ 2013-01-12 18:42:50 +01:00
osdep.c win32: add readv/writev emulation 2013-04-29 10:52:36 +02:00
oslib-posix.c osdep: add qemu_get_local_state_pathname() 2013-05-30 11:37:37 -05:00
oslib-win32.c osdep: add qemu_get_local_state_pathname() 2013-05-30 11:37:37 -05:00
path.c Replace non-portable asprintf by g_strdup_printf 2013-01-19 10:24:43 +00:00
qemu-config.c monitor: introduce query-command-line-options 2013-04-25 10:07:06 -04:00
qemu-error.c build: move libqemuutil.a components to util/ 2013-01-12 18:42:50 +01:00
qemu-openpty.c create qemu_openpty_raw() helper function and move it to a separate file 2013-06-14 14:28:43 +04:00
qemu-option.c qemu-option: Add qemu_opts_absorb_qdict() 2013-03-15 16:07:49 +01:00
qemu-progress.c build: move libqemuutil.a components to util/ 2013-01-12 18:42:50 +01:00
qemu-sockets.c util: move socket_init() to osdep.c 2013-04-24 11:47:37 +03:00
qemu-thread-posix.c build: move libqemuutil.a components to util/ 2013-01-12 18:42:50 +01:00
qemu-thread-win32.c build: move libqemuutil.a components to util/ 2013-01-12 18:42:50 +01:00
qemu-timer-common.c Allow clock_gettime() monotonic clock to be utilized on more OS's 2013-04-04 20:22:45 -05:00
unicode.c unicode: New mod_utf8_codepoint() 2013-04-13 19:39:59 +00:00
uri.c clean unnecessary code: don't check g_strdup arg for NULL 2013-05-12 13:25:55 +04:00