You should have received a copy of the GNU General Public License
along with GNU Emacs; see the file COPYING. If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
#ifdef HAVE_TERMIOS
#define HAVE_TCATTR
#if defined(_AIX) && defined(_I386)
#include <termios.h> /* termios.h needs to be before termio.h */
#include <termio.h>
-#else /* not HAVE_TERMIOS */
+#else /* not (_AIX && _I386) */
#ifndef NO_TERMIO
#include <termio.h>
#endif
#include <termios.h>
-#endif /* _AIX && _I386 */
+#endif /* not (_AIX && _I386) */
#define INCLUDED_FCNTL
#include <fcntl.h>
#else /* neither HAVE_TERMIO nor HAVE_TERMIOS */
#endif /* not HAVE_TERMIO */
#ifdef __GNU_LIBRARY__
+#include <sys/ioctl.h>
#include <termios.h>
#endif
#endif
-/* EMACS_GETPGRP (arg) returns the process group of the terminal. */
+/* EMACS_GETPGRP (arg) returns the process group of the process. */
+#ifdef __GNU_LIBRARY__
+/* GNU libc by default defines getpgrp with no args on all systems. */
+#if __GLIBC__ >= 2
+/* glibc-2.1 adds the BSD compatibility getpgrp function
+ if you use _BSD_SOURCE, which Emacs does on GNU/Linux systems. */
+#if __GLIBC_MINOR__ < 1 || ! defined (__FAVOR_BSD)
+#define GETPGRP_NO_ARG
+#endif
+#else /* __GLIBC__ < 2 */
+#define GETPGRP_NO_ARG
+#endif /* __GLIBC__ < 2 */
+#else /* not __GNU_LIBRARY__ */
#if defined (USG) && !defined (GETPGRP_NEEDS_ARG)
# if !defined (GETPGRP_NO_ARG)
# define GETPGRP_NO_ARG
# endif
#endif
+#endif /* not __GNU_LIBRARY__ */
#if defined (GETPGRP_NO_ARG)
# define EMACS_GETPGRP(x) getpgrp()
expression, so we moved them out to their own functions in sysdep.c. */
#define EMACS_GET_TTY(fd, p) (emacs_get_tty ((fd), (p)))
#define EMACS_SET_TTY(fd, p, waitp) (emacs_set_tty ((fd), (p), (waitp)))
+#ifdef P_ /* Unfortunately this file is sometimes included before lisp.h */
+extern int emacs_get_tty P_ ((int, struct emacs_tty *));
+extern int emacs_set_tty P_ ((int, struct emacs_tty *, int));
+#endif
\f
/* Define EMACS_TTY_TABS_OK. */