Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2008-09-13 02:32:07 +0400
committerChristopher Faylor <me@cgf.cx>2008-09-13 02:32:07 +0400
commit175742d8c818ff31b06174494a77b30e5008eb83 (patch)
treedfbf349b29de835555f6ded1db161ff2e776617c
parent7df9b8ba8e832a14084b60c3daa035bcba5c5a8d (diff)
* Makefile.in: Add -c option which is now removed from COMPILE_C*.
* cygwin.din (cfmakeraw): Export. * termios.cc (cfmakeraw): Implement. * include/sys/termios.h (cfmakeraw): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
-rw-r--r--winsup/cygwin/ChangeLog8
-rw-r--r--winsup/cygwin/Makefile.in4
-rw-r--r--winsup/cygwin/cygwin.din1
-rw-r--r--winsup/cygwin/include/cygwin/version.h3
-rw-r--r--winsup/cygwin/include/sys/termios.h1
-rw-r--r--winsup/cygwin/termios.cc11
6 files changed, 25 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 5b22e7085..8f0897f9a 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,11 @@
+2008-09-12 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * Makefile.in: Add -c option which is now removed from COMPILE_C*.
+ * cygwin.din (cfmakeraw): Export.
+ * termios.cc (cfmakeraw): Implement.
+ * include/sys/termios.h (cfmakeraw): Declare.
+ * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
+
2008-09-11 Christopher Faylor <me+cygwin@cgf.cx>
* cygwin.din (sys_sigabbrev): Add this here.
diff --git a/winsup/cygwin/Makefile.in b/winsup/cygwin/Makefile.in
index e9b96629c..d6f6bb1ce 100644
--- a/winsup/cygwin/Makefile.in
+++ b/winsup/cygwin/Makefile.in
@@ -451,7 +451,7 @@ lib%.a: %.o
winver_stamp: mkvers.sh include/cygwin/version.h winver.rc $(DLL_OFILES)
@echo "Making version.o and winver.o";\
$(SHELL) ${word 1,$^} ${word 2,$^} ${word 3,$^} $(WINDRES) && \
- $(COMPILE_CXX) -o version.o version.cc && \
+ $(COMPILE_CXX) -c -o version.o version.cc && \
touch $@
Makefile: cygwin.din
@@ -460,7 +460,7 @@ $(DEF_FILE): gendef cygwin.din $(srcdir)/tlsoffsets.h
$^ $@ sigfe.s
$(srcdir)/tlsoffsets.h: gentls_offsets cygtls.h
- $^ $@ $(COMPILE_CXX)
+ $^ $@ $(COMPILE_CXX) -c
sigfe.s: $(DEF_FILE)
@[ -s $@ ] || \
diff --git a/winsup/cygwin/cygwin.din b/winsup/cygwin/cygwin.din
index edd8442e2..3aeee879a 100644
--- a/winsup/cygwin/cygwin.din
+++ b/winsup/cygwin/cygwin.din
@@ -174,6 +174,7 @@ ceilf NOSIGFE
_ceilf = ceilf NOSIGFE
cfgetispeed NOSIGFE
cfgetospeed NOSIGFE
+cfmakeraw NOSIGFE
cfsetispeed SIGFE
cfsetospeed SIGFE
chdir SIGFE
diff --git a/winsup/cygwin/include/cygwin/version.h b/winsup/cygwin/include/cygwin/version.h
index 23836a537..268f99db7 100644
--- a/winsup/cygwin/include/cygwin/version.h
+++ b/winsup/cygwin/include/cygwin/version.h
@@ -334,12 +334,13 @@ details. */
185: Export futimens, utimensat.
186: Remove ancient V8 regexp functions. Also eliminate old crt0 interface
which provided its own user_data structure.
+ 187: Export cfmakeraw.
*/
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
#define CYGWIN_VERSION_API_MAJOR 0
-#define CYGWIN_VERSION_API_MINOR 186
+#define CYGWIN_VERSION_API_MINOR 187
/* There is also a compatibity version number associated with the
shared memory regions. It is incremented when incompatible
diff --git a/winsup/cygwin/include/sys/termios.h b/winsup/cygwin/include/sys/termios.h
index 057146966..6648bc369 100644
--- a/winsup/cygwin/include/sys/termios.h
+++ b/winsup/cygwin/include/sys/termios.h
@@ -330,6 +330,7 @@ int tcsendbreak (int, int);
int tcdrain (int);
int tcflush (int, int);
int tcflow (int, int);
+void cfmakeraw (struct termios *);
int cfsetispeed (struct termios *, speed_t);
int cfsetospeed (struct termios *, speed_t);
diff --git a/winsup/cygwin/termios.cc b/winsup/cygwin/termios.cc
index fe6a1de3c..4476be17d 100644
--- a/winsup/cygwin/termios.cc
+++ b/winsup/cygwin/termios.cc
@@ -311,3 +311,14 @@ cfsetispeed (struct termios *in_tp, speed_t speed)
__toapp_termios (in_tp, tp);
return res;
}
+
+extern "C" void
+cfmakeraw(struct termios *tp)
+{
+ tp->c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP
+ | INLCR | IGNCR | ICRNL | IXON);
+ tp->c_oflag &= ~OPOST;
+ tp->c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN);
+ tp->c_cflag &= ~(CSIZE | PARENB);
+ tp->c_cflag |= CS8;
+}