]> code.delx.au - gnu-emacs/blobdiff - src/systty.h
(CODING_CATEGORY_MASK_BINARY): New macro.
[gnu-emacs] / src / systty.h
index ef35435b479c58fa71b92ab7d3c238eeedcc937d..4b8c2262ea0a2b5079f340b37a401f9ba900aa0f 100644 (file)
@@ -15,7 +15,8 @@ GNU General Public License for more details.
 
 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
@@ -62,12 +63,12 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #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 */
@@ -115,6 +116,7 @@ static struct sensemode {
 #endif /* not HAVE_TERMIO */
 
 #ifdef __GNU_LIBRARY__
+#include <sys/ioctl.h>
 #include <termios.h>
 #endif
 
@@ -290,13 +292,26 @@ static struct sensemode {
 
 #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 (_BSD_SOURCE)
+#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()
@@ -317,11 +332,10 @@ static struct sensemode {
    of the tty on FD in *P.  Return zero if all's well, or -1 if we ran
    into an error we couldn't deal with.
 
-   EMACS_SET_TTY (int FD, struct emacs_tty *P, int waitp)
+   EMACS_SET_TTY (int FD, struct emacs_tty *P, int flushp)
    sets the parameters of the tty on FD according to the contents of
-   *P.  If waitp is non-zero, we wait for all queued output to be
-   written before making the change; otherwise, we forget any queued
-   input and make the change immediately.
+   *P.  If flushp is non-zero, we discard queued input to be
+   written before making the change.
    Return 0 if all went well, and -1 if anything failed.
 
    EMACS_TTY_TABS_OK (struct emacs_tty *P) is false iff the kernel