<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2011-12-14)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-12-14 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * libcsupport/include/rtems/termiostypes.h,
        libcsupport/src/termios_baud2num.c,
        libcsupport/src/termios_baudtable.c,
        libcsupport/src/termios_num2baud.c,
        libcsupport/src/termios_setinitialbaud.c: Added const qualifier to
        baud associations.  Fixed integer types.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/ChangeLog.diff?r1=text&tr1=1.3091&r2=text&tr2=1.3092&diff_format=h">M</a></td><td width='1%'>1.3092</td><td width='100%'>cpukit/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/include/rtems/termiostypes.h.diff?r1=text&tr1=1.15&r2=text&tr2=1.16&diff_format=h">M</a></td><td width='1%'>1.16</td><td width='100%'>cpukit/libcsupport/include/rtems/termiostypes.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/termios_baud2num.c.diff?r1=text&tr1=1.5&r2=text&tr2=1.6&diff_format=h">M</a></td><td width='1%'>1.6</td><td width='100%'>cpukit/libcsupport/src/termios_baud2num.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/termios_baudtable.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>cpukit/libcsupport/src/termios_baudtable.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/termios_num2baud.c.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>cpukit/libcsupport/src/termios_num2baud.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/termios_setinitialbaud.c.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>cpukit/libcsupport/src/termios_setinitialbaud.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.3091 rtems/cpukit/ChangeLog:1.3092
--- rtems/cpukit/ChangeLog:1.3091       Tue Dec 13 08:37:02 2011
+++ rtems/cpukit/ChangeLog      Wed Dec 14 02:50:48 2011
</font><font color='#997700'>@@ -1,3 +1,12 @@
</font><font color='#000088'>+2011-12-14    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * libcsupport/include/rtems/termiostypes.h,
+       libcsupport/src/termios_baud2num.c,
+       libcsupport/src/termios_baudtable.c,
+       libcsupport/src/termios_num2baud.c,
+       libcsupport/src/termios_setinitialbaud.c: Added const qualifier to
+       baud associations.  Fixed integer types.
+
</font> 2011-12-13        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * sapi/include/confdefs.h: Fixed workspace size estimate of tasks.

<font color='#006600'>diff -u rtems/cpukit/libcsupport/include/rtems/termiostypes.h:1.15 rtems/cpukit/libcsupport/include/rtems/termiostypes.h:1.16
--- rtems/cpukit/libcsupport/include/rtems/termiostypes.h:1.15  Tue Oct 11 02:57:46 2011
+++ rtems/cpukit/libcsupport/include/rtems/termiostypes.h       Wed Dec 14 02:50:49 2011
</font><font color='#997700'>@@ -20,7 +20,9 @@
</font> 
 #include <rtems.h>
 #include <rtems/libio.h>
<font color='#000088'>+#include <rtems/assoc.h>
</font> #include <stdint.h>
<font color='#000088'>+#include <termios.h>
</font> 
 #ifdef __cplusplus
 extern "C" {
<font color='#997700'>@@ -181,26 +183,42 @@
</font> #define MAXLDISC  8
 
 /* baudrate xxx integer type */
<font color='#880000'>-typedef int32_t rtems_termios_baud_t;
</font><font color='#000088'>+typedef uint32_t rtems_termios_baud_t;
</font> 
<font color='#880000'>-/* convert xxx integer to equivalent Bxxx constant */
-int  rtems_termios_number_to_baud(rtems_termios_baud_t baud);
</font><font color='#000088'>+extern const rtems_assoc_t rtems_termios_baud_table [];
</font> 
<font color='#880000'>-/* convert Bxxx constant to xxx integer */
-rtems_termios_baud_t rtems_termios_baud_to_number(int termios_baud);
</font><font color='#000088'>+/**
+ * @brief Converts the integral baud value @a baud to the Termios control flag
+ * representation.
+ *
+ * @retval B0 Invalid baud value or a baud value of 0.
+ * @retval other Baud constant according to @a baud.
+ */
+tcflag_t rtems_termios_number_to_baud(rtems_termios_baud_t baud);
+
+/**
+ * @brief Converts the baud part of the Termios control flags @a c_cflag to an
+ * integral baud value.
+ *
+ * There is no need to mask the @a c_cflag with @c CBAUD.
+ *
+ * @retval 0 Invalid baud value or a baud value of @c B0.
+ * @retval other Integral baud value.
+ */
+rtems_termios_baud_t rtems_termios_baud_to_number(tcflag_t c_cflag);
</font> 
 /* convert Bxxx constant to index */
 int  rtems_termios_baud_to_index(rtems_termios_baud_t termios_baud);
 
<font color='#880000'>-/*
- *  This method is used by a driver to tell termios its
- *  initial baud rate.  This is especially important when
- *  the device driver does not set the baud to the default
- *  of B9600.
- */
-int  rtems_termios_set_initial_baud(
-  struct rtems_termios_tty *ttyp,
-  rtems_termios_baud_t      baud
</font><font color='#000088'>+/**
+ * @brief Sets the initial @a baud in the Termios context @a tty.
+ *
+ * @retval 0 Successful operation.
+ * @retval -1 Invalid baud value.
+ */
+int rtems_termios_set_initial_baud(
+  struct rtems_termios_tty *tty,
+  rtems_termios_baud_t baud
</font> );
 
 #ifdef __cplusplus

<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/termios_baud2num.c:1.5 rtems/cpukit/libcsupport/src/termios_baud2num.c:1.6
--- rtems/cpukit/libcsupport/src/termios_baud2num.c:1.5 Sat Jul 24 11:12:49 2010
+++ rtems/cpukit/libcsupport/src/termios_baud2num.c     Wed Dec 14 02:50:49 2011
</font><font color='#997700'>@@ -10,24 +10,14 @@
</font>  */
 
 #ifdef HAVE_CONFIG_H
<font color='#880000'>-#include "config.h"
</font><font color='#000088'>+  #include "config.h"
</font> #endif
 
<font color='#880000'>-#include <sys/termios.h>
</font> #include <rtems/termiostypes.h>
<font color='#880000'>-#include <rtems/assoc.h>
</font> 
<font color='#880000'>-extern rtems_assoc_t termios_assoc_table[];
-
-int32_t rtems_termios_baud_to_number(
-  int termios_baud
-)
</font><font color='#000088'>+rtems_termios_baud_t rtems_termios_baud_to_number(tcflag_t c_cflag)
</font> {
<font color='#880000'>-  int baud;
-
-  baud = rtems_assoc_local_by_remote( termios_assoc_table, termios_baud );
-  if ( baud == 0 && termios_baud != 0 )
-    return -1;
</font><font color='#000088'>+  uint32_t remote_value = (uint32_t) (c_cflag & CBAUD);
</font> 
<font color='#880000'>-  return baud;
</font><font color='#000088'>+  return rtems_assoc_local_by_remote(rtems_termios_baud_table, remote_value);
</font> }

<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/termios_baudtable.c:1.1 rtems/cpukit/libcsupport/src/termios_baudtable.c:1.2
--- rtems/cpukit/libcsupport/src/termios_baudtable.c:1.1        Sat Jul 24 11:12:49 2010
+++ rtems/cpukit/libcsupport/src/termios_baudtable.c    Wed Dec 14 02:50:49 2011
</font><font color='#997700'>@@ -10,14 +10,12 @@
</font>  */
 
 #ifdef HAVE_CONFIG_H
<font color='#880000'>-#include "config.h"
</font><font color='#000088'>+  #include "config.h"
</font> #endif
 
<font color='#880000'>-#include <sys/termios.h>
</font> #include <rtems/termiostypes.h>
<font color='#880000'>-#include <rtems/assoc.h>
</font> 
<font color='#880000'>-rtems_assoc_t termios_assoc_table[] = {
</font><font color='#000088'>+const rtems_assoc_t rtems_termios_baud_table [] = {
</font>   { "B0",      0,      B0 },
   { "B50",     50,     B50 },
   { "B75",     75,     B75 },

<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/termios_num2baud.c:1.4 rtems/cpukit/libcsupport/src/termios_num2baud.c:1.5
--- rtems/cpukit/libcsupport/src/termios_num2baud.c:1.4 Sat Jul 24 11:12:49 2010
+++ rtems/cpukit/libcsupport/src/termios_num2baud.c     Wed Dec 14 02:50:49 2011
</font><font color='#997700'>@@ -10,23 +10,21 @@
</font>  */
 
 #ifdef HAVE_CONFIG_H
<font color='#880000'>-#include "config.h"
</font><font color='#000088'>+  #include "config.h"
</font> #endif
 
<font color='#880000'>-#include <sys/termios.h>
</font> #include <rtems/termiostypes.h>
<font color='#880000'>-#include <rtems/assoc.h>
</font> 
<font color='#880000'>-extern rtems_assoc_t termios_assoc_table[];
-
-int rtems_termios_number_to_baud(
-  int32_t baud
-)
</font><font color='#000088'>+tcflag_t rtems_termios_number_to_baud(rtems_termios_baud_t baud)
</font> {
<font color='#880000'>-  int termios_baud;
</font><font color='#000088'>+  uint32_t remote_value = rtems_assoc_remote_by_local(
+    rtems_termios_baud_table,
+    baud
+  );
+
+  if (remote_value == 0) {
+    remote_value = B0;
+  }
</font> 
<font color='#880000'>-  termios_baud = rtems_assoc_remote_by_local( termios_assoc_table, baud );
-  if ( termios_baud == 0 && baud != 0 )
-    return -1;
-  return termios_baud;
</font><font color='#000088'>+  return (tcflag_t) remote_value;
</font> }

<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/termios_setinitialbaud.c:1.4 rtems/cpukit/libcsupport/src/termios_setinitialbaud.c:1.5
--- rtems/cpukit/libcsupport/src/termios_setinitialbaud.c:1.4   Sat Mar 27 00:36:47 2010
+++ rtems/cpukit/libcsupport/src/termios_setinitialbaud.c       Wed Dec 14 02:50:49 2011
</font><font color='#997700'>@@ -10,24 +10,26 @@
</font>  */
 
 #ifdef HAVE_CONFIG_H
<font color='#880000'>-#include "config.h"
</font><font color='#000088'>+  #include "config.h"
</font> #endif
 
<font color='#880000'>-#include <sys/termios.h>
</font> #include <rtems/termiostypes.h>
 
<font color='#880000'>-int  rtems_termios_set_initial_baud(
-  struct rtems_termios_tty *ttyp,
-  int32_t                   baud
</font><font color='#000088'>+int rtems_termios_set_initial_baud(
+  struct rtems_termios_tty *tty,
+  rtems_termios_baud_t baud
</font> )
 {
<font color='#880000'>-  int cflags_baud;
</font><font color='#000088'>+  int rv = 0;
+  tcflag_t c_cflag_baud = rtems_termios_number_to_baud(baud);
</font> 
<font color='#880000'>-  cflags_baud = rtems_termios_number_to_baud(baud);
-  if ( cflags_baud == -1 )
-    return -1;
</font><font color='#000088'>+  if ( c_cflag_baud == 0 ) {
+    tcflag_t cbaud = CBAUD;
</font> 
<font color='#880000'>-  ttyp->termios.c_cflag = (ttyp->termios.c_cflag & ~CBAUD) | cflags_baud;
</font><font color='#000088'>+    tty->termios.c_cflag = (tty->termios.c_cflag & ~cbaud) | c_cflag_baud;
+  } else {
+    rv = -1;
+  }
</font> 
<font color='#880000'>-  return 0;
</font><font color='#000088'>+  return rv;
</font> }
</pre>
<p> </p>

<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>