casacore
Loading...
Searching...
No Matches
LargeIOFuncDef.h
Go to the documentation of this file.
1//# LargeIOFuncDef.cc: Header to define possible large IO function names
2//# Copyright (C) 2001,2002,2003
3//# Associated Universities, Inc. Washington DC, USA.
4//#
5//# This library is free software; you can redistribute it and/or modify it
6//# under the terms of the GNU Library General Public License as published by
7//# the Free Software Foundation; either version 2 of the License, or (at your
8//# option) any later version.
9//#
10//# This library is distributed in the hope that it will be useful, but WITHOUT
11//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13//# License for more details.
14//#
15//# You should have received a copy of the GNU Library General Public License
16//# along with this library; if not, write to the Free Software Foundation,
17//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18//#
19//# Correspondence concerning AIPS++ should be addressed as follows:
20//# Internet email: casa-feedback@nrao.edu.
21//# Postal address: AIPS++ Project Office
22//# National Radio Astronomy Observatory
23//# 520 Edgemont Road
24//# Charlottesville, VA 22903-2475 USA
25
26#ifndef CASA_LARGEIOFUNCDEF_H
27#define CASA_LARGEIOFUNCDEF_H
28
29
30// <summary>
31// Defines for correct name of functions to access large files.
32// </summary>
33
34// <use visibility=local>
35
36// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="" demos="">
37// </reviewed>
38
39// </synopsis>
40// The defines in this file let us instrument the IO system using PABLO.
41// See www-pablo.cs.uiuc.edu for more about pablo.
42//
43// If AIPS_NOLARGEFILE is not defined, use the large file functions.
44// Define _LARGEFILE64_SOURCE for Linux systems.
45// <synopsis>
46
47
48#if !defined(AIPS_NOLARGEFILE)
49#if defined(AIPS_LINUX)
50# if !defined(_LARGEFILE64_SOURCE)
51# define _LARGEFILE64_SOURCE
52# endif
53# endif
54#if defined(PABLO_IO)
55# include "IOTrace.h"
56# define traceFOPEN fopen64
57# define traceFSEEK fseeko64
58# define traceFTELL ftello64
59# define trace2OPEN open64
60# define traceLSEEK lseek64
61# define trace3OPEN open64
62# else
63# define traceFOPEN fopen64
64# define traceFCLOSE fclose
65# define traceFSEEK fseeko64
66# define traceFTELL ftello64
67# define traceFREAD fread
68# define traceFWRITE fwrite
69# define traceREAD read
70# define tracePREAD pread
71# define traceWRITE write
72# define tracePWRITE pwrite
73# define trace2OPEN open64
74# define traceLSEEK lseek64
75# define trace3OPEN open64
76# define traceCLOSE close
77# endif
78#else
79# define traceFTELL ftell
80#if defined(PABLO_IO)
81# include "IOTrace.h"
82# else
83# define traceFOPEN fopen
84# define traceFCLOSE fclose
85# define traceFSEEK fseek
86# define traceFREAD fread
87# define traceFWRITE fwrite
88# define traceREAD read
89# define tracePREAD pread
90# define traceWRITE write
91# define tracePWRITE pwrite
92# define trace2OPEN open
93# define traceLSEEK lseek
94# define trace3OPEN open
95# define traceCLOSE close
96# endif
97#endif
98
99namespace casacore { //# NAMESPACE CASACORE - BEGIN
100
101
102} //# NAMESPACE CASACORE - END
103
104#endif
this file contains all the compiler specific defines
Definition mainpage.dox:28