Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/boost/iostreams/detail/config/rtl.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002  * Distributed under the Boost Software License, Version 1.0.(See accompanying 
0003  * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
0004  * 
0005  * See http://www.boost.org/libs/iostreams for documentation.
0006  *
0007  * Defines preprocessor symbols expanding to the names of functions in the 
0008  * C runtime library used to access file descriptors and to the type used
0009  * to store file offsets for seeking.
0010  * 
0011  * File:        boost/iostreams/detail/config/rtl.hpp
0012  * Date:        Wed Dec 26 11:58:11 MST 2007
0013  * 
0014  * Copyright:   2007-2008 CodeRage, LLC
0015  * Author:      Jonathan Turkanis
0016  * Contact:     turkanis at coderage dot com
0017  */
0018 
0019 #ifndef BOOST_IOSTREAMS_DETAIL_CONFIG_RTL_HPP_INCLUDED
0020 #define BOOST_IOSTREAMS_DETAIL_CONFIG_RTL_HPP_INCLUDED
0021 
0022 #include <boost/config.hpp>
0023 #include <boost/iostreams/detail/config/windows_posix.hpp>
0024 
0025 // Handle open, close, read, and write
0026 #ifdef BOOST_BORLANDC
0027 # define BOOST_IOSTREAMS_RTL(x) BOOST_JOIN(_rtl_, x)
0028 #elif defined BOOST_IOSTREAMS_WINDOWS
0029 # define BOOST_IOSTREAMS_RTL(x) BOOST_JOIN(_, x)
0030 #else
0031 # define BOOST_IOSTREAMS_RTL(x) ::x  // Distinguish from member function named x
0032 #endif
0033 #define BOOST_IOSTREAMS_FD_OPEN   BOOST_IOSTREAMS_RTL(open)
0034 #define BOOST_IOSTREAMS_FD_CLOSE  BOOST_IOSTREAMS_RTL(close)
0035 #define BOOST_IOSTREAMS_FD_READ   BOOST_IOSTREAMS_RTL(read)
0036 #define BOOST_IOSTREAMS_FD_WRITE  BOOST_IOSTREAMS_RTL(write)
0037 
0038 // Handle lseek, off_t, ftruncate, and stat
0039 #ifdef BOOST_IOSTREAMS_WINDOWS
0040 # if defined(BOOST_MSVC) || defined(__MSVCRT__) // MSVC, MinGW
0041 #  define BOOST_IOSTREAMS_FD_SEEK    _lseeki64
0042 #  define BOOST_IOSTREAMS_FD_OFFSET  __int64
0043 # else                                          // Borland, Metrowerks, ...
0044 #  define BOOST_IOSTREAMS_FD_SEEK    lseek  
0045 #  define BOOST_IOSTREAMS_FD_OFFSET  long
0046 # endif
0047 #else // Non-windows
0048 # if defined(_LARGEFILE64_SOURCE) && !defined(__APPLE__) && \
0049          (!defined(_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64) || \
0050      defined(_AIX) && !defined(_LARGE_FILES) || \
0051      defined(BOOST_IOSTREAMS_HAS_LARGE_FILE_EXTENSIONS)
0052      /**/
0053 
0054     /* Systems with transitional extensions for large file support */
0055 
0056 #  define BOOST_IOSTREAMS_FD_SEEK      lseek64
0057 #  define BOOST_IOSTREAMS_FD_TRUNCATE  ftruncate64
0058 #  define BOOST_IOSTREAMS_FD_MMAP      mmap64
0059 #  define BOOST_IOSTREAMS_FD_STAT      stat64
0060 #  define BOOST_IOSTREAMS_FD_FSTAT     fstat64
0061 #  define BOOST_IOSTREAMS_FD_OFFSET    off64_t
0062 # else
0063 #  define BOOST_IOSTREAMS_FD_SEEK      lseek
0064 #  define BOOST_IOSTREAMS_FD_TRUNCATE  ftruncate
0065 #  define BOOST_IOSTREAMS_FD_MMAP      mmap
0066 #  define BOOST_IOSTREAMS_FD_STAT      stat
0067 #  define BOOST_IOSTREAMS_FD_FSTAT     fstat
0068 #  define BOOST_IOSTREAMS_FD_OFFSET    off_t
0069 # endif
0070 #endif
0071 
0072 #endif // #ifndef BOOST_IOSTREAMS_DETAIL_CONFIG_RTL_HPP_INCLUDED