summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>1999-06-01 15:43:56 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>1999-06-01 15:43:56 +0000
commitf40367b32a89d21781b36682cae49ef0571ba94e (patch)
treedb23b4bd8a3bdc94082b13f5a54474d631823bad
parent1e0bc2c3cccefec6b9a661694e8f6ff45a67ebfb (diff)
downloadATCD-f40367b32a89d21781b36682cae49ef0571ba94e.tar.gz
.
-rw-r--r--ChangeLog-99b6
-rw-r--r--TAO/ChangeLog-99c14
-rw-r--r--ace/TTY_IO.cpp48
-rw-r--r--ace/config-freebsd-pthread.h6
-rw-r--r--ace/config-freebsd.h6
5 files changed, 54 insertions, 26 deletions
diff --git a/ChangeLog-99b b/ChangeLog-99b
index 96e0b0a4c19..9ecf78f1bfa 100644
--- a/ChangeLog-99b
+++ b/ChangeLog-99b
@@ -1,5 +1,11 @@
Tue Jun 1 09:57:42 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+ * ace/TTY_IO.cpp (control),
+ * ace/config-freebsd.h,
+ ace/config-freebsd-pthread.h: Attached is a patch that will
+ allow the ACE_TTY_IO class to work with FreeBSD tty devices.
+ Thanks to John Aughey <jha@FreeBSD.ORG> for contributing these.
+
* ACE-INSTALL.html: Updated the list of platforms that ACE is
supported on.
diff --git a/TAO/ChangeLog-99c b/TAO/ChangeLog-99c
index d1f412cae99..b6e1c9f721b 100644
--- a/TAO/ChangeLog-99c
+++ b/TAO/ChangeLog-99c
@@ -3,6 +3,12 @@ Tue Jun 1 09:57:42 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* TAO-INSTALL.html: Updated the list of platforms that TAO is
supported on.
+ * tao/Policy.pidl: Removed a stray '_' at the end of the file.
+ Thanks to David Levine for reporting this.
+
+ * examples/Simple/Simple_util: Fixed more inconsistent programming
+ style. Thanks to David Levine for reporting this.
+
Tue Jun 1 09:37:20 1999 Fred Kuhns <fredk@cs.wustl.edu>
* removed the explicit instantiation of ACE_Node<ACE_CString>,
@@ -11,14 +17,6 @@ Tue Jun 1 09:37:20 1999 Fred Kuhns <fredk@cs.wustl.edu>
are already instantiated in Service_Config.cpp. Thanks to David
Levine for reporting this.
-Tue Jun 1 06:51:08 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * tao/Policy.pidl: Removed a stray '_' at the end of the file.
- Thanks to David Levine for reporting this.
-
- * examples/Simple/Simple_util: Fixed more inconsistent programming
- style. Thanks to David Levine for reporting this.
-
Mon May 31 20:34:26 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* tests/InterOp-Naming/: Fixed NT project files.
diff --git a/ace/TTY_IO.cpp b/ace/TTY_IO.cpp
index a18aec92f2f..e23da75550e 100644
--- a/ace/TTY_IO.cpp
+++ b/ace/TTY_IO.cpp
@@ -36,64 +36,76 @@ ACE_TTY_IO::control (Control_Mode cmd,
// Get default device parameters.
-#if defined(TCGETS)
+#if defined (TCGETS)
if (this->ACE_IO_SAP::control (TCGETS, (void *) &devpar) == -1)
-#elif defined(TCGETA)
+#elif defined (TCGETA)
if (this->ACE_IO_SAP::control (TCGETA, (void *) &devpar) == -1)
#else
errno = ENOSYS;
-#endif
+#endif /* TCGETS */
return -1;
+ u_int newbaudrate = 0;
+
switch (cmd)
{
case SETPARAMS:
switch (arg->baudrate)
{
case 300:
- c_cflag |= B300;
+ newbaudrate = B300;
break;
case 600:
- c_cflag |= B600;
+ newbaudrate = B600;
break;
case 1200:
- c_cflag |= B1200;
+ newbaudrate = B1200;
break;
case 2400:
- c_cflag |= B2400;
+ newbaudrate = B2400;
break;
case 4800:
- c_cflag |= B4800;
+ newbaudrate = B4800;
break;
case 9600:
- c_cflag |= B9600;
+ newbaudrate = B9600;
break;
case 19200:
- c_cflag |= B19200;
+ newbaudrate = B19200;
break;
case 38400:
- c_cflag |= B38400;
+ newbaudrate = B38400;
break;
-#if 0
+#if defined (ACE_USES_HIGH_BAUD_RATES)
case 56000:
- c_cflag |= B56000;
+ newbaudrate = B56000;
break;
case 57600:
- c_cflag |= B57600;
+ newbaudrate = B57600;
break;
case 115200:
- c_cflag |= B115200;
+ newbaudrate = B115200;
break;
case 128000:
- c_cflag |= B128000;
+ newbaudrate = B128000;
break;
case 256000:
- c_cflag |= B256000;
+ newbaudrate = B256000;
break;
-#endif /* 0 */
+#endif /* ACE_USES_HIGH_BAUD_RATES */
default:
return -1;
}
+
+#if defined(ACE_USES_OLD_TERMIOS_STRUCT)
+ // @@ Can you really have different input and output baud
+ // rates?!
+ devpar.c_ispeed = newbaudrate;
+ devpar.c_ospeed = newbaudrate;
+#else
+ c_cflag |= newbaudrate;
+#endif /* ACE_USES_OLD_TERMIOS_STRUCT */
+
switch (arg->databits)
{
case 5:
diff --git a/ace/config-freebsd-pthread.h b/ace/config-freebsd-pthread.h
index 57e4cd77fd2..6758aee1db5 100644
--- a/ace/config-freebsd-pthread.h
+++ b/ace/config-freebsd-pthread.h
@@ -174,4 +174,10 @@ extern "C" { char * cuserid (char *s); }
#define ACE_HAS_SIGWAIT
+#define ACE_HAS_TERM_IOCTLS
+#define ACE_USES_OLD_TERMIOS_STRUCT
+#define ACE_USES_HIGH_BAUD_RATES
+#define TCGETS TIOCGETA
+#define TCSETS TIOCSETA
+
#endif /* ACE_CONFIG_H */
diff --git a/ace/config-freebsd.h b/ace/config-freebsd.h
index c860efd7b55..1c82991a098 100644
--- a/ace/config-freebsd.h
+++ b/ace/config-freebsd.h
@@ -183,4 +183,10 @@ ange */
#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
#define ACE_HAS_NONCONST_SELECT_TIMEVAL
+#define ACE_HAS_TERM_IOCTLS
+#define ACE_USES_OLD_TERMIOS_STRUCT
+#define ACE_USES_HIGH_BAUD_RATES
+#define TCGETS TIOCGETA
+#define TCSETS TIOCSETA
+
#endif /* ACE_CONFIG_FREEBSD_H */