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// <summary>
30// Defines for correct name of functions to access large files.
31// </summary>
32
33// <use visibility=local>
34
35// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="" demos="">
36// </reviewed>
37
38// </synopsis>
39// The defines in this file let us instrument the IO system using PABLO.
40// See www-pablo.cs.uiuc.edu for more about pablo.
41//
42// If AIPS_NOLARGEFILE is not defined, use the large file functions.
43// Define _LARGEFILE64_SOURCE for Linux systems.
44// <synopsis>
45
46#if !defined(AIPS_NOLARGEFILE)
47#if defined(AIPS_LINUX)
48#if !defined(_LARGEFILE64_SOURCE)
49#define _LARGEFILE64_SOURCE
50#endif
51#endif
52#if defined(PABLO_IO)
53#include "IOTrace.h"
54#define traceFOPEN fopen64
55#define traceFSEEK fseeko64
56#define traceFTELL ftello64
57#define trace2OPEN open64
58#define traceLSEEK lseek64
59#define trace3OPEN open64
60#else
61#define traceFOPEN fopen64
62#define traceFCLOSE fclose
63#define traceFSEEK fseeko64
64#define traceFTELL ftello64
65#define traceFREAD fread
66#define traceFWRITE fwrite
67#define traceREAD read
68#define tracePREAD pread
69#define traceWRITE write
70#define tracePWRITE pwrite
71#define trace2OPEN open64
72#define traceLSEEK lseek64
73#define trace3OPEN open64
74#define traceCLOSE close
75#endif
76#else
77#define traceFTELL ftell
78#if defined(PABLO_IO)
79#include "IOTrace.h"
80#else
81#define traceFOPEN fopen
82#define traceFCLOSE fclose
83#define traceFSEEK fseek
84#define traceFREAD fread
85#define traceFWRITE fwrite
86#define traceREAD read
87#define tracePREAD pread
88#define traceWRITE write
89#define tracePWRITE pwrite
90#define trace2OPEN open
91#define traceLSEEK lseek
92#define trace3OPEN open
93#define traceCLOSE close
94#endif
95#endif
96
97namespace casacore { // # NAMESPACE CASACORE - BEGIN
98
99} // namespace casacore
100
101#endif
For temporary backward namespace compatibility, use casa as alias for casacore.
Definition mainpage.dox:28