summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/include/rtems/termiostypes.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-07-09 15:44:13 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-07-09 15:56:43 +0200
commit93726e5205daaa7475cf17c8f916a8b1842affca (patch)
treedd2ca55f2d16ee1d9b5951212e7bd4d531aa66bf /cpukit/libcsupport/include/rtems/termiostypes.h
parenttermios: Add rtems_termios_get_termios() (diff)
downloadrtems-93726e5205daaa7475cf17c8f916a8b1842affca.tar.bz2
termios: Add rtems_termios_set_best_baud()
Diffstat (limited to 'cpukit/libcsupport/include/rtems/termiostypes.h')
-rw-r--r--cpukit/libcsupport/include/rtems/termiostypes.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/cpukit/libcsupport/include/rtems/termiostypes.h b/cpukit/libcsupport/include/rtems/termiostypes.h
index df3ec0c2d7..6339456b20 100644
--- a/cpukit/libcsupport/include/rtems/termiostypes.h
+++ b/cpukit/libcsupport/include/rtems/termiostypes.h
@@ -78,7 +78,8 @@ typedef struct {
* @retval true Successful operation.
* @retval false Cannot open device.
*
- * @see rtems_termios_get_device_context() and rtems_termios_get_termios().
+ * @see rtems_termios_get_device_context(), rtems_termios_set_best_baud() and
+ * rtems_termios_get_termios().
*/
bool (*first_open)(
struct rtems_termios_tty *tty,
@@ -291,7 +292,7 @@ typedef struct rtems_termios_tty {
} rtems_termios_tty;
/**
- * @brief Installes a Termios device.
+ * @brief Installs a Termios device.
*
* @param[in] device_file If not @c NULL, then a device file for the specified
* major and minor number will be created.
@@ -379,12 +380,26 @@ RTEMS_INLINE_ROUTINE void *rtems_termios_get_device_context(
* initial attributes.
*/
RTEMS_INLINE_ROUTINE struct termios *rtems_termios_get_termios(
- const rtems_termios_tty *tty
+ rtems_termios_tty *tty
)
{
return &tty->termios;
}
+/**
+ * @brief Sets the best baud value in the Termios control.
+ *
+ * The valid Termios baud values are between 0 and 460800. The Termios baud
+ * value is chosen which minimizes the difference to the value specified.
+ *
+ * @param[in] tty The Termios control.
+ * @param[in] baud The current baud setting of the device.
+ */
+void rtems_termios_set_best_baud(
+ rtems_termios_tty *tty,
+ uint32_t baud
+);
+
struct rtems_termios_linesw {
int (*l_open) (struct rtems_termios_tty *tp);
int (*l_close)(struct rtems_termios_tty *tp);