casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
LargeIOFuncDef.h
Go to the documentation of this file.
00001 //# LargeIOFuncDef.cc: Header to define possible large IO function names
00002 //# Copyright (C) 2001,2002,2003
00003 //# Associated Universities, Inc. Washington DC, USA.
00004 //#
00005 //# This library is free software; you can redistribute it and/or modify it
00006 //# under the terms of the GNU Library General Public License as published by
00007 //# the Free Software Foundation; either version 2 of the License, or (at your
00008 //# option) any later version.
00009 //#
00010 //# This library is distributed in the hope that it will be useful, but WITHOUT
00011 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00012 //# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
00013 //# License for more details.
00014 //#
00015 //# You should have received a copy of the GNU Library General Public License
00016 //# along with this library; if not, write to the Free Software Foundation,
00017 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
00018 //#
00019 //# Correspondence concerning AIPS++ should be addressed as follows:
00020 //#        Internet email: aips2-request@nrao.edu.
00021 //#        Postal address: AIPS++ Project Office
00022 //#                        National Radio Astronomy Observatory
00023 //#                        520 Edgemont Road
00024 //#                        Charlottesville, VA 22903-2475 USA
00025 //#
00026 //# $Id: LargeIOFuncDef.h 20551 2009-03-25 00:11:33Z Malte.Marquarding $
00027 
00028 #ifndef CASA_LARGEIOFUNCDEF_H
00029 #define CASA_LARGEIOFUNCDEF_H
00030 
00031 
00032 // <summary>
00033 // Defines for correct name of functions to access large files.
00034 // </summary>
00035 
00036 // <use visibility=local>
00037 
00038 // <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="" demos="">
00039 // </reviewed>
00040 
00041 // </synopsis> 
00042 // The defines in this file let us instrument the IO system using PABLO.
00043 // See www-pablo.cs.uiuc.edu for more about pablo.
00044 //
00045 // If AIPS_NOLARGEFILE is not defined, use the large file functions.
00046 // Define _LARGEFILE64_SOURCE for Linux systems.
00047 // <synopsis> 
00048 
00049 
00050 #if !defined(AIPS_NOLARGEFILE)
00051 #if defined(AIPS_LINUX)
00052 #  if !defined(_LARGEFILE64_SOURCE)
00053 #   define _LARGEFILE64_SOURCE
00054 #  endif
00055 # endif
00056 #if defined(PABLO_IO)
00057 #  include "IOTrace.h"
00058 #  define traceFOPEN fopen64
00059 #  define traceFSEEK fseeko64
00060 #  define traceFTELL ftello64
00061 #  define trace2OPEN open64
00062 #  define traceLSEEK lseek64
00063 #  define trace3OPEN open64
00064 # else
00065 #  define traceFOPEN fopen64
00066 #  define traceFCLOSE fclose
00067 #  define traceFSEEK fseeko64
00068 #  define traceFTELL ftello64
00069 #  define traceFREAD fread
00070 #  define traceFWRITE fwrite
00071 #  define traceREAD read
00072 #  define traceWRITE write
00073 #  define trace2OPEN open64
00074 #  define traceLSEEK lseek64
00075 #  define trace3OPEN open64
00076 #  define traceCLOSE close
00077 # endif
00078 #else
00079 # define traceFTELL ftell
00080 #if defined(PABLO_IO)
00081 #  include "IOTrace.h"
00082 # else
00083 #  define traceFOPEN fopen
00084 #  define traceFCLOSE fclose
00085 #  define traceFSEEK fseek
00086 #  define traceFREAD fread
00087 #  define traceFWRITE fwrite
00088 #  define traceREAD read
00089 #  define traceWRITE write
00090 #  define trace2OPEN open
00091 #  define traceLSEEK lseek
00092 #  define trace3OPEN open
00093 #  define traceCLOSE close
00094 # endif
00095 #endif
00096 
00097 namespace casa { //# NAMESPACE CASA - BEGIN
00098 
00099 
00100 } //# NAMESPACE CASA - END
00101 
00102 #endif