diff options
Diffstat (limited to 'nuttx/libc/termios')
-rw-r--r-- | nuttx/libc/termios/Make.defs | 54 | ||||
-rw-r--r-- | nuttx/libc/termios/lib_cfgetspeed.c | 93 | ||||
-rw-r--r-- | nuttx/libc/termios/lib_cfsetspeed.c | 116 | ||||
-rw-r--r-- | nuttx/libc/termios/lib_tcflush.c | 88 | ||||
-rw-r--r-- | nuttx/libc/termios/lib_tcgetattr.c | 93 | ||||
-rw-r--r-- | nuttx/libc/termios/lib_tcsetattr.c | 122 |
6 files changed, 0 insertions, 566 deletions
diff --git a/nuttx/libc/termios/Make.defs b/nuttx/libc/termios/Make.defs deleted file mode 100644 index d20a5f95c..000000000 --- a/nuttx/libc/termios/Make.defs +++ /dev/null @@ -1,54 +0,0 @@ -############################################################################ -# libc/misc/Make.defs -# -# Copyright (C) 2011-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. -# -############################################################################ - -# termios.h support requires file descriptors and that CONFIG_SERIAL_TERMIOS -# is defined - -ifneq ($(CONFIG_NFILE_DESCRIPTORS),0) -ifeq ($(CONFIG_SERIAL_TERMIOS),y) - -# Add the termios C files to the build - -CSRCS += lib_cfgetspeed.c lib_cfsetspeed.c lib_tcflush.c -CSRCS += lib_tcgetattr.c lib_tcsetattr.c - -# Add the termios directory to the build - -DEPPATH += --dep-path termios -VPATH += termios - -endif -endif - diff --git a/nuttx/libc/termios/lib_cfgetspeed.c b/nuttx/libc/termios/lib_cfgetspeed.c deleted file mode 100644 index da10daac1..000000000 --- a/nuttx/libc/termios/lib_cfgetspeed.c +++ /dev/null @@ -1,93 +0,0 @@ -/**************************************************************************** - * libc/termios/lib_cfgetspeed.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: cfgetspeed - * - * Descripton: - * The cfgetspeed() function is a non-POSIX function will extract the baud - * from the termios structure to which the termiosp argument points. - * - * This function will return exactly the value in the termios data - * structure, without interpretation. - * - * 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 - * 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 cfgetspeed(FAR const struct termios *termiosp) -{ - DEBUGASSERT(termiosp); - return termiosp->c_speed; -} diff --git a/nuttx/libc/termios/lib_cfsetspeed.c b/nuttx/libc/termios/lib_cfsetspeed.c deleted file mode 100644 index a2a9475c4..000000000 --- a/nuttx/libc/termios/lib_cfsetspeed.c +++ /dev/null @@ -1,116 +0,0 @@ -/**************************************************************************** - * libc/termios/lib_cfsetspeed.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: cfsetspeed - * - * Descripton: - * 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 set in the hardware until a subsequent - * successful call to tcsetattr() on the same termios structure. - * - * 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 3: A consequence of NOTE 1 is that you should never attempt to - * set the input and output baud to different values. - * - * Also, the following POSIX requirement cannot be supported: "If the input - * baud rate stored in the termios structure pointed to by termios_p is 0, - * the input baud rate given to the hardware will be the same as the output - * baud rate stored in the termios structure." - * - * 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! - * - * 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 - * - * Returned Value: - * Baud is not checked... OK is always returned (this is non-standard - * behavior). - * - ****************************************************************************/ - -int cfsetspeed(FAR struct termios *termiosp, speed_t speed) -{ - DEBUGASSERT(termiosp); - termiosp->c_speed = speed; - return OK; -} diff --git a/nuttx/libc/termios/lib_tcflush.c b/nuttx/libc/termios/lib_tcflush.c deleted file mode 100644 index 1a9710f6a..000000000 --- a/nuttx/libc/termios/lib_tcflush.c +++ /dev/null @@ -1,88 +0,0 @@ -/**************************************************************************** - * libc/termios/lib_tcflush.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 <nuttx/config.h> - -#include <sys/ioctl.h> - -#include <termios.h> -#include <errno.h> - -#include <nuttx/serial/tioctl.h> - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Variables - ****************************************************************************/ - -/**************************************************************************** - * Public Variables - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: tcflush - * - * Descripton: - * Function for flushing a terminal/serial device - * - * Input Parameters: - * fd - The 'fd' argument is an open file descriptor associated with a terminal. - * cmd - The TCFLSH ioctl argument. - * - * Returned Value: - * Upon successful completion, 0 is returned. Otherwise, -1 is returned and - * errno is set to indicate the error. - * - ****************************************************************************/ - -int tcflush(int fd, int cmd) -{ - return ioctl(fd, TCFLSH, (unsigned long)cmd); -} diff --git a/nuttx/libc/termios/lib_tcgetattr.c b/nuttx/libc/termios/lib_tcgetattr.c deleted file mode 100644 index e8d311260..000000000 --- a/nuttx/libc/termios/lib_tcgetattr.c +++ /dev/null @@ -1,93 +0,0 @@ -/**************************************************************************** - * libc/termios/lib_tcgetattr.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 <nuttx/config.h> - -#include <sys/ioctl.h> - -#include <termios.h> -#include <errno.h> - -#include <nuttx/serial/tioctl.h> - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Variables - ****************************************************************************/ - -/**************************************************************************** - * Public Variables - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: tcgetattr - * - * Descripton: - * The tcgetattr() function gets the parameters associated with the - * terminal referred to by 'fd' and stores them in the termios structure - * referenced by 'termiosp'. - * - * Input Parameters: - * fd - The 'fd' argument is an open file descriptor associated with a terminal. - * termiosp - The termiosp argument is a pointer to a termios structure. - * - * Returned Value: - * Upon successful completion, 0 is returned. Otherwise, -1 is returned and - * errno is set to indicate the error. The following errors may be reported: - * - * - EBADF: The 'fd' argument is not a valid file descriptor. - * - ENOTTY: The file associated with 'fd' is not a terminal. - * - ****************************************************************************/ - -int tcgetattr(int fd, FAR struct termios *termiosp) -{ - return ioctl(fd, TCGETS, (unsigned long)termiosp); -} diff --git a/nuttx/libc/termios/lib_tcsetattr.c b/nuttx/libc/termios/lib_tcsetattr.c deleted file mode 100644 index 901f2a136..000000000 --- a/nuttx/libc/termios/lib_tcsetattr.c +++ /dev/null @@ -1,122 +0,0 @@ -/**************************************************************************** - * libc/termios/lib_tcsetattr.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 <nuttx/config.h> - -#include <sys/ioctl.h> - -#include <termios.h> -#include <errno.h> - -#include <nuttx/serial/tioctl.h> - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Variables - ****************************************************************************/ - -/**************************************************************************** - * Public Variables - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: tcsetattr - * - * Descripton: - * The tcsetattr() function sets the parameters associated with the - * terminal referred to by the open file descriptor 'fd' from the termios - * structure referenced by 'termiop' as follows: - * - * If 'options' is TCSANOW, the change will occur immediately. - * - * If 'options' is TCSADRAIN, the change will occur after all output - * written to 'fd' is transmitted. This function should be used when changing - * parameters that affect output. - * - * If 'options' is TCSAFLUSH, the change will occur after all - * output written to 'fd' is transmitted, and all input so far received but - * not read will be discarded before the change is made. - * - * The tcsetattr() function will return successfully if it was able to - * perform any of the requested actions, even if some of the requested - * actions could not be performed. It will set all the attributes that - * implementation supports as requested and leave all the attributes not - * supported by the implementation unchanged. If no part of the request - * can be honoured, it will return -1 and set errno to EINVAL. - * - * The effect of tcsetattr() is undefined if the value of the termios - * structure pointed to by 'termiop' was not derived from the result of - * a call to tcgetattr() on 'fd'; an application should modify only fields - * and flags defined by this specification between the call to tcgetattr() - * and tcsetattr(), leaving all other fields and flags unmodified. - * - * Returned Value: - * - * Upon successful completion, 0 is returned. Otherwise, -1 is returned - * and errno is set to indicate the error. The following errors may be - * reported: - * - * - EBADF: The 'fd' argument is not a valid file descriptor. - * - EINTR: A signal interrupted tcsetattr(). - * - EINVAL: The 'options' argument is not a supported value, or - * an attempt was made to change an attribute represented in the - * termios structure to an unsupported value. - * - ENOTTY: The file associated with 'fd' is not a terminal. - * - ****************************************************************************/ - -int tcsetattr(int fd, int options, FAR const struct termios *termiosp) -{ - if (options == TCSANOW) - { - return ioctl(fd, TCSETS, (unsigned long)termiosp); - } - return -ENOSYS; -} |