2012-05-02 04:36:19 +08:00
|
|
|
//***************************************************************************
|
|
|
|
// include/cxx/cunistd
|
|
|
|
//
|
2017-02-14 21:48:54 +08:00
|
|
|
// Copyright (C) 2012, 2017 Gregory Nutt. All rights reserved.
|
2012-05-02 04:36:19 +08:00
|
|
|
// 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>
|
2012-05-04 03:46:37 +08:00
|
|
|
|
2012-05-02 04:36:19 +08:00
|
|
|
//***************************************************************************
|
|
|
|
// Namespace
|
|
|
|
//***************************************************************************
|
|
|
|
|
|
|
|
namespace std
|
|
|
|
{
|
2017-02-14 21:48:54 +08:00
|
|
|
// Task control interfaces
|
|
|
|
|
|
|
|
using ::vfork;
|
2012-05-02 04:36:19 +08:00
|
|
|
using ::getpid;
|
|
|
|
using ::_exit;
|
2012-05-04 03:46:37 +08:00
|
|
|
using ::sleep;
|
|
|
|
using ::usleep;
|
2017-02-14 21:48:54 +08:00
|
|
|
using ::pause;
|
|
|
|
|
|
|
|
// File descriptor opertions
|
2017-02-17 01:22:02 +08:00
|
|
|
|
2012-05-02 04:36:19 +08:00
|
|
|
using ::close;
|
|
|
|
using ::dup;
|
|
|
|
using ::dup2;
|
|
|
|
using ::fsync;
|
|
|
|
using ::lseek;
|
|
|
|
using ::read;
|
|
|
|
using ::write;
|
2014-10-11 22:40:19 +08:00
|
|
|
using ::pread;
|
|
|
|
using ::pwrite;
|
2017-02-14 21:48:54 +08:00
|
|
|
|
|
|
|
// Terminal I/O
|
|
|
|
|
|
|
|
using ::isatty;
|
|
|
|
|
|
|
|
// Memory management
|
|
|
|
|
|
|
|
#if defined(CONFIG_ARCH_ADDRENV) && defined(CONFIG_MM_PGALLOC) && \
|
|
|
|
defined(CONFIG_ARCH_USE_MMU)
|
|
|
|
using sbrk;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Special devices
|
|
|
|
|
2012-05-02 04:36:19 +08:00
|
|
|
using ::pipe;
|
2017-02-14 21:48:54 +08:00
|
|
|
|
|
|
|
// Operations on working directories
|
|
|
|
|
2012-05-02 04:36:19 +08:00
|
|
|
using ::chdir;
|
|
|
|
using ::getcwd;
|
2017-02-14 21:48:54 +08:00
|
|
|
|
|
|
|
// Operations on file paths
|
|
|
|
|
|
|
|
using ::access;
|
2012-05-02 04:36:19 +08:00
|
|
|
using ::rmdir;
|
2017-02-18 00:06:30 +08:00
|
|
|
using ::unlink;
|
2017-02-14 21:48:54 +08:00
|
|
|
#ifdef CONFIG_PSEUDOFS_SOFTLINKS
|
|
|
|
using ::link;
|
|
|
|
using ::readlink;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Execution of program files
|
|
|
|
|
|
|
|
#ifdef CONFIG_LIBC_EXECFUNCS
|
|
|
|
using ::execl;
|
|
|
|
using ::execv;
|
|
|
|
#endif
|
|
|
|
|
2017-02-17 04:42:27 +08:00
|
|
|
// Byte operations
|
|
|
|
|
|
|
|
using ::swab;
|
|
|
|
|
|
|
|
// getopt and friends
|
2017-02-14 21:48:54 +08:00
|
|
|
|
2012-05-02 04:36:19 +08:00
|
|
|
using ::getopt;
|
2017-02-14 21:48:54 +08:00
|
|
|
|
|
|
|
// Non-standard accessor functions
|
|
|
|
|
2012-05-02 04:36:19 +08:00
|
|
|
using ::getoptargp;
|
2014-06-27 22:14:07 +08:00
|
|
|
using ::getoptindp;
|
2012-05-02 04:36:19 +08:00
|
|
|
using ::getoptoptp;
|
2017-02-14 21:48:54 +08:00
|
|
|
|
|
|
|
// Networking
|
|
|
|
|
|
|
|
#ifdef CONFIG_NET
|
|
|
|
using ::gethostname;
|
|
|
|
using ::sethostname;
|
|
|
|
#endif
|
2012-05-02 04:36:19 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif // __INCLUDE_CXX_CUNISTD
|