// -*- C++ -*- /*************************************************************************** * * cstdio - C++ Standard library interface to the ANSI C header stdio.h * * $Id: _cstdio.h 550991 2007-06-26 23:58:07Z sebor $ * *************************************************************************** * * 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. * * Copyright 1994-2006 Rogue Wave Software. * **************************************************************************/ #ifndef _RWSTD_CSTDIO_H_INCLUDED #define _RWSTD_CSTDIO_H_INCLUDED #include _RWSTD_NAMESPACE (std) { #ifdef __linux__ // prevent multiple definitions of SEEK_XXX constants // when Linux glibc's is #included # define _STDIO_H #endif // __linux__ #ifndef _IOFBF # define _IOFBF _RWSTD_IOFBF #endif #ifndef _IOLBF # define _IOLBF _RWSTD_IOLBF #endif #ifndef _IONBF # define _IONBF _RWSTD_IONBF #endif #ifndef BUFSIZ # define BUFSIZ _RWSTD_BUFSIZ #endif #ifndef EOF # define EOF _RWSTD_EOF #endif struct FILE; #ifndef FILE # define FILE FILE #endif #ifndef FILENAME_MAX # define FILENAME_MAX _RWSTD_FILENAME_MAX #endif #ifndef FOPEN_MAX # define FOPEN_MAX _RWSTD_FOPEN_MAX #endif #ifndef L_tmpnam # define L_tmpnam _RWSTD_L_TMPNAM #endif // L_tmpnam #ifndef SEEK_CUR # define SEEK_CUR _RWSTD_SEEK_CUR #endif #ifndef SEEK_END # define SEEK_END _RWSTD_SEEK_END #endif #ifndef SEEK_SET # define SEEK_SET _RWSTD_SEEK_SET #endif #ifndef stderr # define stderr _RW::__rw_stderr #endif #ifndef stdin # define stdin _RW::__rw_stdin #endif #ifndef stdout # define stdout _RW::__rw_stdout #endif #ifndef TMP_MAX # define TMP_MAX _RWSTD_TMP_MAX #endif extern "C" { #ifdef _RWSTD_SIZE_T typedef _RWSTD_SIZE_T size_t; #else typedef unsigned long size_t; #endif // _RWSTD_SIZE_T #ifdef _RWSTD_FPOS_T typedef _RWSTD_FPOS_T fpos_t; #elif defined (_RWSTD_FPOS_T_SIZE) struct fpos_t { char _C_fill [_RWSTD_FPOS_T_SIZE]; }; #else typedef long fpos_t; #endif // _RWSTD_FPOS_T int remove (const char*); int rename (const char*, const char*); FILE* tmpfile (void); char* tmpnam (char*); int fclose (FILE*); int fflush (FILE*); FILE* fopen (const char*, const char*); FILE* freopen (const char*, const char*, FILE*); void setbuf (FILE*, char*); int setvbuf (FILE*, char*, int, size_t); int fprintf (FILE*, const char*, ...); int fscanf (FILE*, const char*, ...); int printf (const char*, ...); int scanf (const char*, ...); int sprintf (char*, const char*, ...); int sscanf (const char*, const char*, ...); int vfprintf (FILE*, const char*, _RWSTD_VA_LIST); int vprintf (const char*, _RWSTD_VA_LIST); int vsprintf (char*, const char*, _RWSTD_VA_LIST); int fgetc (FILE*); char* fgets (char*, int , FILE*); int fputc (int, FILE*); int fputs (const char*, FILE*); int getc (FILE*); int getchar (void); char* gets (char*); int putc (int, FILE*); int putchar (int); int puts (const char*); int ungetc (int c, FILE*); size_t fread (void*, size_t size, size_t, FILE*); size_t fwrite (const void*, size_t, size_t, FILE*); int fgetpos (FILE*, fpos_t*); int fseek (FILE*, long, int); int fsetpos (FILE*, const fpos_t*); long ftell (FILE*); void rewind (FILE*); void clearerr (FILE*); int feof (FILE*); int ferror (FILE*); void perror (const char*); } // extern "C" } // namespace std _RWSTD_NAMESPACE (__rw) { extern _STD::FILE* __rw_stdin; extern _STD::FILE* __rw_stdout; extern _STD::FILE* __rw_stderr; } // namespace __rw #endif // _RWSTD_CSTDIO_H_INCLUDED