From 95ff8bb501057d9ff98991731f62ef37a1ed93c2 Mon Sep 17 00:00:00 2001 From: cgf Date: Tue, 9 Mar 2004 02:51:25 +0000 Subject: [PATCH] * fhandler_serial.cc (fhandler_serial::ioctl): Implement TIOCSBRK and TIOCCBRK. * include/sys/termios.h: Define TIOCSBRK and TIOCCBRK. --- winsup/cygwin/ChangeLog | 6 ++++++ winsup/cygwin/fhandler_serial.cc | 14 ++++++++++++++ winsup/cygwin/include/sys/termios.h | 2 ++ 3 files changed, 22 insertions(+) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 57a04aa4dd..3d67914b6a 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2004-03-08 Jaakko Hyvatti + + * fhandler_serial.cc (fhandler_serial::ioctl): Implement TIOCSBRK and + TIOCCBRK. + * include/sys/termios.h: Define TIOCSBRK and TIOCCBRK. + 2004-03-08 Christopher Faylor * exceptions.cc (setup_handler): Avoid suspending a thread if it in a diff --git a/winsup/cygwin/fhandler_serial.cc b/winsup/cygwin/fhandler_serial.cc index b52befa3da..fa5fef53a4 100644 --- a/winsup/cygwin/fhandler_serial.cc +++ b/winsup/cygwin/fhandler_serial.cc @@ -476,6 +476,20 @@ fhandler_serial::ioctl (unsigned int cmd, void *buffer) res = -1; } break; + case TIOCCBRK: + if (ClearCommBreak (get_handle ()) == 0) + { + __seterrno (); + res = -1; + } + break; + case TIOCSBRK: + if (SetCommBreak (get_handle ()) == 0) + { + __seterrno (); + res = -1; + } + break; case TIOCINQ: if (ev & CE_FRAME || ev & CE_IOE || ev & CE_OVERRUN || ev & CE_RXOVER || ev & CE_RXPARITY) diff --git a/winsup/cygwin/include/sys/termios.h b/winsup/cygwin/include/sys/termios.h index 0d381270e6..6704454d0a 100644 --- a/winsup/cygwin/include/sys/termios.h +++ b/winsup/cygwin/include/sys/termios.h @@ -23,6 +23,8 @@ Other UNIX ioctl requests has been omited because effects of their work one can achive by standard POSIX commands */ +#define TIOCSBRK 0x5427 +#define TIOCCBRK 0x5428 #define TIOCM_DTR 0x002 #define TIOCM_RTS 0x004 -- 2.11.0