nuttx/include/cxx/cunistd
ligd 57dfb98713 include: add dependence to setvbuf & isatty, undefine symbols when !CONFIG_SERIAL_TERMIOS
Change-Id: I053504fcfc90d926e6f529bfd7badedc71596313
Signed-off-by: ligd <liguiding1@xiaomi.com>
2020-09-15 10:28:21 -03:00

130 lines
3.3 KiB
Plaintext

//***************************************************************************
// include/cxx/cunistd
//
// Copyright (C) 2012, 2017 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.
//
//***************************************************************************
#ifndef __INCLUDE_CXX_CUNISTD
#define __INCLUDE_CXX_CUNISTD
//***************************************************************************
// Included Files
//***************************************************************************
#include <unistd.h>
//***************************************************************************
// Namespace
//***************************************************************************
namespace std
{
// Task control interfaces
using ::vfork;
using ::getpid;
using ::_exit;
using ::sleep;
using ::usleep;
using ::pause;
// File descriptor operations
using ::close;
using ::dup;
using ::dup2;
using ::fsync;
using ::lseek;
using ::read;
using ::write;
using ::pread;
using ::pwrite;
// Terminal I/O
#ifdef CONFIG_SERIAL_TERMIOS
using ::isatty;
#endif
// Memory management
#if defined(CONFIG_ARCH_ADDRENV) && defined(CONFIG_MM_PGALLOC) && \
defined(CONFIG_ARCH_USE_MMU)
using sbrk;
#endif
// Special devices
using ::pipe;
// Operations on working directories
using ::chdir;
using ::getcwd;
// Operations on file paths
using ::access;
using ::rmdir;
using ::unlink;
using ::symlink;
using ::readlink;
// Execution of program files
#ifdef CONFIG_LIBC_EXECFUNCS
using ::execl;
using ::execv;
#endif
// Byte operations
using ::swab;
// getopt and friends
using ::getopt;
// Non-standard accessor functions
using ::getoptargp;
using ::getoptindp;
using ::getoptoptp;
// Networking
using ::gethostname;
using ::sethostname;
}
#endif // __INCLUDE_CXX_CUNISTD