• Michael Tokarev's avatar
    create qemu_openpty_raw() helper function and move it to a separate file · 4efeabbb
    Michael Tokarev authored
    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: default avatarMichael Tokarev <mjt@tls.msk.ru>
    Tested-by: default avatarAndreas Färber <andreas.faerber@web.de>
    4efeabbb
qemu-openpty.c 3.78 KB