1 /* 2 * Copyright (c) 1999 3 * Boris Fomitchev 4 * 5 * This material is provided "as is", with absolutely no warranty expressed 6 * or implied. Any use is at your own risk. 7 * 8 * Permission to use or copy this software for any purpose is hereby granted 9 * without fee, provided the above notices are retained on all copies. 10 * Permission to modify the code and to distribute modified code is granted, 11 * provided the above notices are retained, and a notice that the code was 12 * modified is included with the above copyright notice. 13 * 14 */ 15 16 #ifndef _STLP_INTERNAL_CSTDIO 17 #define _STLP_INTERNAL_CSTDIO 18 19 #if defined (__Lynx__) 20 # if defined (_STLP_HAS_INCLUDE_NEXT) 21 # include_next <stdarg.h> 22 # else 23 # include _STLP_NATIVE_C_HEADER(stdarg.h) 24 # endif 25 #endif 26 27 #if defined (_STLP_USE_NEW_C_HEADERS) 28 # if defined (_STLP_HAS_INCLUDE_NEXT) 29 # include_next <cstdio> 30 # else 31 # include _STLP_NATIVE_CPP_C_HEADER(cstdio) 32 # endif 33 #else 34 # include <stdio.h> 35 #endif 36 37 #if defined (__MWERKS__) 38 # undef stdin 39 # undef stdout 40 # undef stderr 41 # define stdin (&_STLP_VENDOR_CSTD::__files[0]) 42 # define stdout (&_STLP_VENDOR_CSTD::__files[1]) 43 # define stderr (&_STLP_VENDOR_CSTD::__files[2]) 44 #endif 45 46 #if defined (_STLP_MSVC_LIB) && (_STLP_MSVC_LIB < 1400) || defined (_STLP_USING_PLATFORM_SDK_COMPILER) 47 inline int vsnprintf(char *s1, size_t n, const char *s2, va_list v) 48 { return _STLP_VENDOR_CSTD::_vsnprintf(s1, n, s2, v); } 49 #endif 50 51 #if defined (_STLP_IMPORT_VENDOR_CSTD ) 52 _STLP_BEGIN_NAMESPACE 53 using _STLP_VENDOR_CSTD::FILE; 54 using _STLP_VENDOR_CSTD::fpos_t; 55 using _STLP_VENDOR_CSTD::size_t; 56 57 // undef obsolete macros 58 # undef putc 59 # undef getc 60 # undef getchar 61 # undef putchar 62 # undef feof 63 # undef ferror 64 65 # if !defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) 66 using _STLP_VENDOR_CSTD::clearerr; 67 using _STLP_VENDOR_CSTD::fclose; 68 using _STLP_VENDOR_CSTD::feof; 69 using _STLP_VENDOR_CSTD::ferror; 70 using _STLP_VENDOR_CSTD::fflush; 71 using _STLP_VENDOR_CSTD::fgetc; 72 using _STLP_VENDOR_CSTD::fgetpos; 73 using _STLP_VENDOR_CSTD::fgets; 74 using _STLP_VENDOR_CSTD::fopen; 75 using _STLP_VENDOR_CSTD::fprintf; 76 using _STLP_VENDOR_CSTD::fputc; 77 using _STLP_VENDOR_CSTD::fputs; 78 using _STLP_VENDOR_CSTD::fread; 79 # if !defined (_WIN32_WCE) || (_WIN32_WCE < 400) 80 using _STLP_VENDOR_CSTD::freopen; 81 # endif 82 using _STLP_VENDOR_CSTD::fscanf; 83 using _STLP_VENDOR_CSTD::fseek; 84 using _STLP_VENDOR_CSTD::fsetpos; 85 using _STLP_VENDOR_CSTD::ftell; 86 using _STLP_VENDOR_CSTD::fwrite; 87 88 # if !(defined (__IBMCPP__) && (__IBMCPP__ >= 500)) 89 # if !defined (_WIN32_WCE) || (_WIN32_WCE < 400) // Supplied as macros, TODO: use inline function to redirect to the macros? 90 using _STLP_VENDOR_CSTD::getc; 91 using _STLP_VENDOR_CSTD::putc; 92 # endif 93 using _STLP_VENDOR_CSTD::getchar; 94 using _STLP_VENDOR_CSTD::putchar; 95 # endif 96 97 using _STLP_VENDOR_CSTD::gets; 98 # if !defined (_WIN32_WCE) || (_WIN32_WCE < 400) 99 using _STLP_VENDOR_CSTD::perror; 100 # endif 101 using _STLP_VENDOR_CSTD::printf; 102 using _STLP_VENDOR_CSTD::puts; 103 # if !defined (_WIN32_WCE) || (_WIN32_WCE < 400) 104 using _STLP_VENDOR_CSTD::remove; 105 using _STLP_VENDOR_CSTD::rename; 106 using _STLP_VENDOR_CSTD::rewind; 107 using _STLP_VENDOR_CSTD::setbuf; 108 using _STLP_VENDOR_CSTD::tmpfile; 109 using _STLP_VENDOR_CSTD::tmpnam; 110 # endif 111 using _STLP_VENDOR_CSTD::scanf; 112 using _STLP_VENDOR_CSTD::setvbuf; 113 using _STLP_VENDOR_CSTD::sprintf; 114 using _STLP_VENDOR_CSTD::sscanf; 115 using _STLP_VENDOR_CSTD::ungetc; 116 using _STLP_VENDOR_CSTD::vfprintf; 117 using _STLP_VENDOR_CSTD::vprintf; 118 using _STLP_VENDOR_CSTD::vsprintf; 119 # if (defined (__MWERKS__) || (defined (_STLP_MSVC_LIB) && (_STLP_MSVC_LIB < 1400)) || \ 120 (defined (__BORLANDC__))) 121 using _STLP_VENDOR_CSTD::vsnprintf; 122 # endif 123 # endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ 124 _STLP_END_NAMESPACE 125 #endif /* _STLP_IMPORT_VENDOR_CSTD */ 126 127 #endif /* _STLP_INTERNAL_CSTDIO */ 128