X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fpty.in.h;h=d237a66aa7b422a4ba8ed6f6bd010eabc99e6857;hb=a425462f784164b73297d8992075fd9aebd65a94;hp=2780d6141c3658ce66f4f2c574afd5f8af03a921;hpb=8e7bc4d9d435c2d18be77134896aa823733816a0;p=gnulib.git diff --git a/lib/pty.in.h b/lib/pty.in.h index 2780d6141..d237a66aa 100644 --- a/lib/pty.in.h +++ b/lib/pty.in.h @@ -1,5 +1,5 @@ /* Substitute for and wrapper around . - Copyright (C) 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2012 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,31 +12,44 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + along with this program; if not, see . */ -#ifndef _GL_PTY_H +#ifndef _@GUARD_PREFIX@_PTY_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif +@PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_PTY_H@ # @INCLUDE_NEXT@ @NEXT_PTY_H@ #endif -#ifndef _GL_PTY_H -#define _GL_PTY_H +#ifndef _@GUARD_PREFIX@_PTY_H +#define _@GUARD_PREFIX@_PTY_H /* Some platforms declare this in a different header than glibc. */ #if @HAVE_UTIL_H@ # include #endif #if @HAVE_LIBUTIL_H@ +/* is a prerequisite of on FreeBSD 8.0. */ +# include # include #endif +/* Get 'struct termios' and 'struct winsize'. */ +#include +#if defined _AIX +# include +#endif +/* Mingw lacks 'struct termios' and 'struct winsize', but a forward + declaration of an opaque type is sufficient to allow compilation of + a stub openpty(). */ +struct termios; +struct winsize; + /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ @@ -45,21 +58,30 @@ /* Declare overridden functions. */ #if @GNULIB_FORKPTY@ +/* Create pseudo tty master slave pair and set terminal attributes + according to TERMP and WINP. Fork a child process attached to the + slave end. Return a handle for the master end in *AMASTER, and + return the name of the slave end in NAME. */ # if @REPLACE_FORKPTY@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef forkpty # define forkpty rpl_forkpty # endif _GL_FUNCDECL_RPL (forkpty, int, - (int *, char *, struct termios const *, - struct winsize const *)); + (int *amaster, char *name, + struct termios const *termp, struct winsize const *winp)); _GL_CXXALIAS_RPL (forkpty, int, - (int *, char *, struct termios const *, - struct winsize const *)); + (int *amaster, char *name, + struct termios const *termp, struct winsize const *winp)); # else +# if !@HAVE_FORKPTY@ +_GL_FUNCDECL_SYS (forkpty, int, + (int *amaster, char *name, + struct termios const *termp, struct winsize const *winp)); +# endif _GL_CXXALIAS_SYS (forkpty, int, - (int *, char *, struct termios const *, - struct winsize const *)); + (int *amaster, char *name, + struct termios const *termp, struct winsize const *winp)); # endif _GL_CXXALIASWARN (forkpty); #elif defined GNULIB_POSIXCHECK @@ -71,21 +93,29 @@ _GL_WARN_ON_USE (forkpty, "forkpty is not declared consistently - " #endif #if @GNULIB_OPENPTY@ +/* Create pseudo tty master slave pair and set terminal attributes + according to TERMP and WINP. Return handles for both ends in + *AMASTER and *ASLAVE, and return the name of the slave end in NAME. */ # if @REPLACE_OPENPTY@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef openpty # define openpty rpl_openpty # endif _GL_FUNCDECL_RPL (openpty, int, - (int *, int *, char *, struct termios const *, - struct winsize const *)); + (int *amaster, int *aslave, char *name, + struct termios const *termp, struct winsize const *winp)); _GL_CXXALIAS_RPL (openpty, int, - (int *, int *, char *, struct termios const *, - struct winsize const *)); + (int *amaster, int *aslave, char *name, + struct termios const *termp, struct winsize const *winp)); # else +# if !@HAVE_OPENPTY@ +_GL_FUNCDECL_SYS (openpty, int, + (int *amaster, int *aslave, char *name, + struct termios const *termp, struct winsize const *winp)); +# endif _GL_CXXALIAS_SYS (openpty, int, - (int *, int *, char *, struct termios const *, - struct winsize const *)); + (int *amaster, int *aslave, char *name, + struct termios const *termp, struct winsize const *winp)); # endif _GL_CXXALIASWARN (openpty); #elif defined GNULIB_POSIXCHECK @@ -97,5 +127,5 @@ _GL_WARN_ON_USE (openpty, "openpty is not declared consistently - " #endif -#endif /* _GL_PTY_H */ -#endif /* _GL_PTY_H */ +#endif /* _@GUARD_PREFIX@_PTY_H */ +#endif /* _@GUARD_PREFIX@_PTY_H */