diff options
author | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2012-07-24 22:56:36 +0000 |
---|---|---|
committer | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2012-07-24 22:56:36 +0000 |
commit | d7280d43821c750e6d8aa35ac6f26f811cc6890b (patch) | |
tree | f9293a2385b426204e0e8b9125660c6b22885755 /nuttx/lib/termios | |
parent | ac6f7a722bd9bdb35e738b7fbbd1cd32d68b2373 (diff) | |
download | px4-firmware-d7280d43821c750e6d8aa35ac6f26f811cc6890b.tar.gz px4-firmware-d7280d43821c750e6d8aa35ac6f26f811cc6890b.tar.bz2 px4-firmware-d7280d43821c750e6d8aa35ac6f26f811cc6890b.zip |
Combine cfset[o|i]speed to cfsetspeed; combine cfget[o|i]speed for cfgetspeed
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4975 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'nuttx/lib/termios')
-rw-r--r-- | nuttx/lib/termios/Make.defs | 5 | ||||
-rw-r--r-- | nuttx/lib/termios/lib_cfgetospeed.c | 92 | ||||
-rw-r--r-- | nuttx/lib/termios/lib_cfgetspeed.c (renamed from nuttx/lib/termios/lib_cfgetispeed.c) | 17 | ||||
-rw-r--r-- | nuttx/lib/termios/lib_cfsetospeed.c | 103 | ||||
-rw-r--r-- | nuttx/lib/termios/lib_cfsetspeed.c (renamed from nuttx/lib/termios/lib_cfsetispeed.c) | 27 |
5 files changed, 29 insertions, 215 deletions
diff --git a/nuttx/lib/termios/Make.defs b/nuttx/lib/termios/Make.defs index 194482a55..c0a090bd5 100644 --- a/nuttx/lib/termios/Make.defs +++ b/nuttx/lib/termios/Make.defs @@ -37,8 +37,7 @@ TERMIOS_SRCS = ifneq ($(CONFIG_NFILE_DESCRIPTORS),0) -TERMIOS_SRCS += lib_cfgetispeed.c lib_cfgetospeed.c lib_cfsetispeed.c -TERMIOS_SRCS += lib_cfsetospeed.c lib_tcflush.c lib_tcgetattr.c -TERMIOS_SRCS += lib_tcsetattr.c +TERMIOS_SRCS += lib_cfgetspeed.c lib_cfsetspeed.c lib_tcflush.c +TERMIOS_SRCS += lib_tcgetattr.c lib_tcsetattr.c endif diff --git a/nuttx/lib/termios/lib_cfgetospeed.c b/nuttx/lib/termios/lib_cfgetospeed.c deleted file mode 100644 index b45c1b721..000000000 --- a/nuttx/lib/termios/lib_cfgetospeed.c +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** - * lib/termios/lib_cfgetospeed.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <termios.h> -#include <assert.h> - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Variables - ****************************************************************************/ - -/**************************************************************************** - * Public Variables - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: cfgetospeed - * - * Descripton: - * The cfgetospeed() function shall extract the output baud rate from the - * termios structure to which the termiosp argument points. - * - * This function shall return exactly the value in the termios data - * structure, without interpretation. - * - * NOTE 1: NuttX does not not control input/output baud rates independently - * Hense, this function is *identical* to cfgetispeed. - * NOTE 2. In Nuttx, the speed_t is defined to be uint32_t and the baud - * encodings of termios.h are the actual baud values themselves. Therefore, - * any baud value may be returned here... not just those enumerated in - * termios.h - * - * Input Parameters: - * termiosp - The termiosp argument is a pointer to a termios structure. - * - * Returned Value: - * Encoded baud value from the termios structure. - * - ****************************************************************************/ - -speed_t cfgetospeed(FAR const struct termios *termiosp) -{ - DEBUGASSERT(termiosp); - return termiosp->c_speed; -} diff --git a/nuttx/lib/termios/lib_cfgetispeed.c b/nuttx/lib/termios/lib_cfgetspeed.c index ebb52106d..d7f0dc473 100644 --- a/nuttx/lib/termios/lib_cfgetispeed.c +++ b/nuttx/lib/termios/lib_cfgetspeed.c @@ -1,5 +1,5 @@ /**************************************************************************** - * lib/termios/lib_cfgetispeed.c + * lib/termios/lib_cfgetspeed.c * * Copyright (C) 2012 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> @@ -61,17 +61,18 @@ ****************************************************************************/ /**************************************************************************** - * Name: cfgetispeed + * Name: cfgetspeed * * Descripton: - * The cfgetispeed() function shall extract the input baud rate from the - * termios structure to which the termiosp argument points. + * The cfgetspeed() function is a non-POSIX function will extract the baud + * from the termios structure to which the termiosp argument points. * - * This function shall return exactly the value in the termios data + * This function will return exactly the value in the termios data * structure, without interpretation. * - * NOTE 1: NuttX does not not control input/output baud rates independently - * Hense, this function is *identical* to cfgetospeed. + * NOTE 1: NuttX does not control input/output baud independently. Both + * must be the same. The POSIX standard interfaces, cfisetispeed() and + * cfisetospeed() are defined to be cfgetspeed() in termios.h. * NOTE 2. In Nuttx, the speed_t is defined to be uint32_t and the baud * encodings of termios.h are the actual baud values themselves. Therefore, * any baud value may be returned here... not just those enumerated in @@ -85,7 +86,7 @@ * ****************************************************************************/ -speed_t cfgetispeed(FAR const struct termios *termiosp) +speed_t cfgetspeed(FAR const struct termios *termiosp) { DEBUGASSERT(termiosp); return termiosp->c_speed; diff --git a/nuttx/lib/termios/lib_cfsetospeed.c b/nuttx/lib/termios/lib_cfsetospeed.c deleted file mode 100644 index e6d8fa3ad..000000000 --- a/nuttx/lib/termios/lib_cfsetospeed.c +++ /dev/null @@ -1,103 +0,0 @@ -/**************************************************************************** - * lib/termios/lib_cfsetospeed.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <sys/types.h> -#include <termios.h> -#include <assert.h> - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Variables - ****************************************************************************/ - -/**************************************************************************** - * Public Variables - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: cfsetospeed - * - * Descripton: - * The cfsetospeed() function sets the output baud rate stored in the - * structure pointed to by termiosp to speed. - * - * There is no effect on the baud rates set in the hardware until a - * subsequent successful call to tcsetattr() on the same termios structure. - * - * NOTE 1: NuttX does not not control input/output baud rates independently - * Hense, this function is *identical* to cfsetispeed. - * NOTE 2. In Nuttx, the speed_t is defined to be uint32_t and the baud - * encodings of termios.h are the actual baud values themselves. Therefore, - * any baud value can be provided as the speed argument here. However, if - * you do so, your code will *NOT* be portable to other environments where - * speed_t is smaller and where the termios.h baud values are encoded! To - * avoid portability issues, use the baud definitions in termios.h! - * - * Input Parameters: - * termiosp - The termiosp argument is a pointer to a termios structure. - * speed - The new output speed - * - * Returned Value: - * Baud is not checked... OK is always returned (this is non-standard - * behavior). - * - ****************************************************************************/ - -int cfsetospeed(struct termios *termiosp, speed_t speed) -{ - FAR speed_t *speedp; - - DEBUGASSERT(termiosp); - - speedp = (FAR speed_t *)&termiosp->c_speed; - *speedp = speed; - - return OK; -} diff --git a/nuttx/lib/termios/lib_cfsetispeed.c b/nuttx/lib/termios/lib_cfsetspeed.c index 9a4dfaef1..f2e11f577 100644 --- a/nuttx/lib/termios/lib_cfsetispeed.c +++ b/nuttx/lib/termios/lib_cfsetspeed.c @@ -1,5 +1,5 @@ /**************************************************************************** - * lib/termios/lib_cfsetispeed.c + * lib/termios/lib_cfsetspeed.c * * Copyright (C) 2012 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> @@ -62,17 +62,18 @@ ****************************************************************************/ /**************************************************************************** - * Name: cfsetispeed + * Name: cfsetspeed * * Descripton: - * The cfsetispeed() function sets the input baud rate stored in the - * structure pointed to by termiosp to speed. + * The cfsetspeed() function is a non-POSIX function that sets the baud + * stored in the structure pointed to by termiosp to speed. * - * There is no effect on the baud rates set in the hardware until a - * subsequent successful call to tcsetattr() on the same termios structure. + * There is no effect on the baud set in the hardware until a subsequent + * successful call to tcsetattr() on the same termios structure. * - * NOTE 1: NuttX does not not control input/output baud rates independently - * Hense, this function is *identical* to cfsetospeed. + * NOTE 1: NuttX does not control input/output baud independently. Both + * must be the same. The POSIX standard interfaces, cfisetispeed() and + * cfisetospeed() are defined to be cfsetspeed() in termios.h. * NOTE 2. In Nuttx, the speed_t is defined to be uint32_t and the baud * encodings of termios.h are the actual baud values themselves. Therefore, * any baud value can be provided as the speed argument here. However, if @@ -80,6 +81,14 @@ * speed_t is smaller and where the termios.h baud values are encoded! To * avoid portability issues, use the baud definitions in termios.h! * + * Linux, for example, would require this (also non-portable) sequence: + * + * cfsetispeed(termiosp, BOTHER); + * termiosp->c_ispeed = baud; + * + * cfsetospeed(termiosp, BOTHER); + * termiosp->c_ospeed = baud; + * * Input Parameters: * termiosp - The termiosp argument is a pointer to a termios structure. * speed - The new input speed @@ -90,7 +99,7 @@ * ****************************************************************************/ -int cfsetispeed(FAR struct termios *termiosp, speed_t speed) +int cfsetspeed(FAR struct termios *termiosp, speed_t speed) { FAR speed_t *speedp; |