@node openpty
@subsection @code{openpty}
@findex openpty

Gnulib module: openpty

Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on some platforms:
AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11.3, Android 5.1.
@item
One some systems (at least including Cygwin, Interix, OSF/1 4 and 5,
and Mac OS X) linking with @code{-lutil} is not required.
@item
On glibc, OpenBSD, NetBSD and FreeBSD linking with @code{-lutil} is
required.
@item
The function is declared in pty.h on Cygwin, Interix, OSF/1 4 and 5,
and glibc.  It is declared in util.h on Mac OS X, OpenBSD and NetBSD.
It is declared in libutil.h on FreeBSD.
@item
Some platforms declare the function without marking the last two
parameters @code{const}.
FreeBSD, Cygwin 1.7.1.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
This function is missing on some platforms:
mingw, MSVC 14.
@item
After a successful call to @code{openpty}, the application needs to close
the master's file descriptor before closing the slave's file descriptor,
otherwise the process may hang in a state where it cannot be killed, on
some platforms: Mac OS X 10.4.11.
@end itemize
