Define DEV_TTY_P.
authorUlrich Drepper <drepper@redhat.com>
Wed, 18 Jul 2001 20:31:08 +0000 (20:31 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 18 Jul 2001 20:31:08 +0000 (20:31 +0000)
sysdeps/generic/device-nrs.h
sysdeps/unix/sysv/linux/device-nrs.h

index 3ff5c39..b0ce668 100644 (file)
@@ -1,5 +1,5 @@
 /* Device numbers of devices used in the implementation.  Generic version.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -22,4 +22,7 @@
 
 /* By default we know no device numbers.  */
 
+/* We cannot check whether a given device is a tty.  */
+#define DEV_TTY_P(dev) (0)
+
 #endif /* device-nrs.h */
index cef929b..d08d81c 100644 (file)
@@ -1,5 +1,5 @@
 /* Device numbers of devices used in the implementation.  Linux version.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
 #ifndef _DEVICE_NRS_H
 #define _DEVICE_NRS_H  1
 
+#include <sys/sysmacros.h>
+
 /* /dev/null is (1,3).  */
 #define DEV_NULL_MAJOR 1
 #define DEV_NULL_MINOR 3
 
+/* Pseudo tty slaves.  For Linux we use the Unix98 ttys.  We could
+   also include the old BSD-style tty buts they should not be used and
+   the extra test would only slow down correctly set up systems.  If a
+   system still uses those device the slower tests performed (using
+   isatty) will catch it.  */
+#define DEV_TTY_LOW_MAJOR      136
+#define DEV_TTY_HIGH_MAJOR     143
+
+/* Test whether given device is a tty.  */
+#define DEV_TTY_P(dev) \
+  ({ int __dev_major = major (dev);                                          \
+     __dev_major >= DEV_TTY_LOW_MAJOR && __dev_major <= DEV_TTY_HIGH_MAJOR; })
+
 #endif /* device-nrs.h */