This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Move sysdeps/unix/common/tcsendbrk.c to sysdeps/unix/sysv/linux/
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: libc-alpha at sourceware dot org
- Cc: Thomas Schwinge <thomas at codesourcery dot com>
- Date: Thu, 26 Apr 2012 15:01:23 +0000 (UTC)
- Subject: Move sysdeps/unix/common/tcsendbrk.c to sysdeps/unix/sysv/linux/
The file sysdeps/unix/common/tcsendbrk.c is used with Linux. As I
understand sysdeps directory ordering, Hurd will instead use the
sysdeps/unix/bsd/ version (although I don't have an actual complete
ordered list of sysdeps directories from an actual build for Hurd).
The file actually has a comment referring to Linux and I think it's
reasonable to treat it as Linux-specific and put it in
sysdeps/unix/sysv/linux alongside the other tc*.c sysdeps files used
for Linux.
I propose this patch to move this file to sysdeps/unix/sysv/linux/.
Tested x86_64.
2012-04-26 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/common/tcsendbrk.c: Move to ...
* sysdeps/unix/sysv/linux/tcsendbrk.c: ... here.
diff --git a/sysdeps/unix/common/tcsendbrk.c b/sysdeps/unix/common/tcsendbrk.c
deleted file mode 100644
index c8fbcbb..0000000
--- a/sysdeps/unix/common/tcsendbrk.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Send break to terminal.
- Copyright (C) 1996, 1997 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <stddef.h>
-#include <termios.h>
-#include <sys/ioctl.h>
-
-/* Send zero bits on FD. */
-int
-tcsendbreak (int fd, int duration)
-{
- /* The break lasts 0.25 to 0.5 seconds if DURATION is zero,
- and an implementation-defined period if DURATION is nonzero.
- We define a positive DURATION to be number of milliseconds to break. */
- if (duration <= 0)
- return __ioctl (fd, TCSBRK, 0);
-
-#ifdef TCSBRKP
- /* Probably Linux-specific: a positive third TCSBRKP ioctl argument is
- defined to be the number of 100ms units to break. */
- return __ioctl (fd, TCSBRKP, (duration + 99) / 100);
-#else
- /* ioctl can't send a break of any other duration for us.
- This could be changed to use trickery (e.g. lower speed and
- send a '\0') to send the break, but for now just return an error. */
- __set_errno (EINVAL);
- return -1;
-#endif
-}
diff --git a/sysdeps/unix/sysv/linux/tcsendbrk.c b/sysdeps/unix/sysv/linux/tcsendbrk.c
new file mode 100644
index 0000000..c8fbcbb
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/tcsendbrk.c
@@ -0,0 +1,45 @@
+/* Send break to terminal.
+ Copyright (C) 1996, 1997 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
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include <stddef.h>
+#include <termios.h>
+#include <sys/ioctl.h>
+
+/* Send zero bits on FD. */
+int
+tcsendbreak (int fd, int duration)
+{
+ /* The break lasts 0.25 to 0.5 seconds if DURATION is zero,
+ and an implementation-defined period if DURATION is nonzero.
+ We define a positive DURATION to be number of milliseconds to break. */
+ if (duration <= 0)
+ return __ioctl (fd, TCSBRK, 0);
+
+#ifdef TCSBRKP
+ /* Probably Linux-specific: a positive third TCSBRKP ioctl argument is
+ defined to be the number of 100ms units to break. */
+ return __ioctl (fd, TCSBRKP, (duration + 99) / 100);
+#else
+ /* ioctl can't send a break of any other duration for us.
+ This could be changed to use trickery (e.g. lower speed and
+ send a '\0') to send the break, but for now just return an error. */
+ __set_errno (EINVAL);
+ return -1;
+#endif
+}
--
Joseph S. Myers
joseph@codesourcery.com