This is the mail archive of the
cygwin-patches@cygwin.com
mailing list for the Cygwin project.
Implement TIOCSBRK / TIOCCBRK serial ioctl
- From: Jaakko Hyvätti <jaakko at hyvatti dot iki dot fi>
- To: cygwin-patches at cygwin dot com
- Date: Wed, 3 Mar 2004 12:57:18 +0200 (EET)
- Subject: Implement TIOCSBRK / TIOCCBRK serial ioctl
Hi!
This implementation is compatible with Linux, BSD and most unixes I know
of.
This ioctl is necessary for devices connected to serial ports that need
the break condition on TxD line to be set permanently on. This includes
popular electronics hobbyist devices like PIC microcontroller programmer
http://www.iki.fi/hyvatti/pic/picprog.html .
Index: winsup/cygwin/ChangeLog
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/ChangeLog,v
retrieving revision 1.2338
diff -u -r1.2338 ChangeLog
--- winsup/cygwin/ChangeLog 2 Mar 2004 13:07:47 -0000 1.2338
+++ winsup/cygwin/ChangeLog 3 Mar 2004 10:52:02 -0000
@@ -1,3 +1,8 @@
+2004-03-03 Jaakko Hyvatti <jaakko.hyvatti@iki.fi>
+
+ * fhandler_serial.cc (fhandler_serial::ioctl): Implement TIOCSBRK
+ and TIOCCBRK which set and clear break condition on serial TxD.
+
2004-03-02 Corinna Vinschen <corinna@vinschen.de>
* fhandler_raw.cc (fhandler_dev_raw::raw_read): When reading with
Index: winsup/cygwin/fhandler_serial.cc
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/fhandler_serial.cc,v
retrieving revision 1.50
diff -u -r1.50 fhandler_serial.cc
--- winsup/cygwin/fhandler_serial.cc 9 Feb 2004 04:04:23 -0000 1.50
+++ winsup/cygwin/fhandler_serial.cc 3 Mar 2004 10:52:02 -0000
@@ -476,6 +476,20 @@
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)
Index: winsup/cygwin/include/sys/termios.h
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/include/sys/termios.h,v
retrieving revision 1.8
diff -u -r1.8 termios.h
--- winsup/cygwin/include/sys/termios.h 27 Sep 2003 02:36:50 -0000 1.8
+++ winsup/cygwin/include/sys/termios.h 3 Mar 2004 10:52:02 -0000
@@ -23,6 +23,8 @@
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
--
Jaakko.Hyvatti@iki.fi http://www.iki.fi/hyvatti/ +358 40 5011222
echo 'movl $36,%eax;int $128;movl $0,%ebx;movl $1,%eax;int $128'|as -o/bin/sync
--
Foreca Ltd Jaakko.Hyvatti@foreca.com
Pursimiehenkatu 29-31 B, FIN-00150 Helsinki, Finland http://www.foreca.com