//***************************************************************************
// include/cxx/cstdio
//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements.  See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.  The
// ASF licenses this file to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance with the
// License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
// License for the specific language governing permissions and limitations
// under the License.
//
//***************************************************************************

#ifndef __INCLUDE_CXX_CSTDIO
#define __INCLUDE_CXX_CSTDIO

//***************************************************************************
// Included Files
//***************************************************************************

#include <nuttx/config.h>
#include <stdio.h>

//***************************************************************************
// Namespace
//***************************************************************************

namespace std
{
  using ::FILE;
  using ::fpos_t;
  using ::size_t;

  // Operations on streams (FILE)

  using ::clearerr;
  using ::fclose;
  using ::fflush;
  using ::feof;
  using ::ferror;
  using ::fileno;
  using ::fgetc;
  using ::fgetpos;
  using ::fgets;
  using ::fopen;
  using ::fprintf;
  using ::fputc;
  using ::fputs;
  using ::fread;
  using ::freopen;
  using ::fseek;
  using ::fsetpos;
  using ::ftell;
  using ::fwrite;
  using ::gets;
  using ::gets_s;
  using ::setbuf;
  using ::setvbuf;
  using ::ungetc;

  // Operations on the stdout stream, buffers, paths, and the whole printf-family

  using ::printf;
  using ::puts;
  using ::rename;
  using ::sprintf;
  using ::asprintf;
  using ::snprintf;
  using ::sscanf;
  using ::perror;

  using ::vprintf;
  using ::vfprintf;
  using ::vsprintf;
  using ::vasprintf;
  using ::vsnprintf;
  using ::vsscanf;

  // Operations on file descriptors including:

  using ::fdopen;
  using ::dprintf;
  using ::vdprintf;

  // Operations on paths

  using ::tmpnam;
  using ::tempnam;
  using ::remove;
}

#endif // __INCLUDE_CXX_CSTDIO