Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

cpl_vsil_unix_stdio_64.cpp

00001 /**********************************************************************
00002  * $Id: cpl_vsil_unix_stdio_64_cpp-source.html,v 1.5 2002/12/21 19:13:12 warmerda Exp $
00003  *
00004  * Project:  CPL - Common Portability Library
00005  * Purpose:  Implement VSI large file api for Unix platforms with fseek64()
00006  *           and ftell64() such as IRIX. 
00007  * Author:   Frank Warmerdam, warmerdam@pobox.com
00008  *
00009  **********************************************************************
00010  * Copyright (c) 2001, Frank Warmerdam
00011  *
00012  * Permission is hereby granted, free of charge, to any person obtaining a
00013  * copy of this software and associated documentation files (the "Software"),
00014  * to deal in the Software without restriction, including without limitation
00015  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00016  * and/or sell copies of the Software, and to permit persons to whom the
00017  * Software is furnished to do so, subject to the following conditions:
00018  * 
00019  * The above copyright notice and this permission notice shall be included
00020  * in all copies or substantial portions of the Software.
00021  * 
00022  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00023  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00024  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
00025  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00026  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00027  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
00028  * DEALINGS IN THE SOFTWARE.
00029  **********************************************************************
00030  *
00031  * $Log: cpl_vsil_unix_stdio_64_cpp-source.html,v $
00031  * Revision 1.5  2002/12/21 19:13:12  warmerda
00031  * updated
00031  *
00032  * Revision 1.6  2002/06/17 14:00:16  warmerda
00033  * segregate VSIStatL() and VSIStatBufL.
00034  *
00035  * Revision 1.5  2002/06/15 00:07:23  aubin
00036  * mods to enable 64bit file i/o
00037  *
00038  * Revision 1.4  2001/12/15 17:12:08  warmerda
00039  * pass 64bit seek/tell functions via VSI_F{SEEK,TELL}64 macros
00040  *
00041  * Revision 1.3  2001/07/18 04:00:49  warmerda
00042  * added CPL_CVSID
00043  *
00044  * Revision 1.2  2001/06/21 21:39:32  warmerda
00045  * Fixed typo with rewind.
00046  *
00047  * Revision 1.1  2001/06/21 21:17:15  warmerda
00048  * New
00049  *
00050  */
00051 
00052 #include "cpl_vsi.h"
00053 
00054 #if defined(UNIX_STDIO_64)
00055 
00056 CPL_CVSID("$Id: cpl_vsil_unix_stdio_64_cpp-source.html,v 1.5 2002/12/21 19:13:12 warmerda Exp $");
00057 
00058 
00059 #ifndef VSI_FTELL64
00060 #define VSI_FTELL64 ftell64
00061 #endif
00062 #ifndef VSI_FSEEK64
00063 #define VSI_FSEEK64 fseek64
00064 #endif
00065 
00066 /************************************************************************/
00067 /*                              VSIFOpen()                              */
00068 /************************************************************************/
00069 
00070 FILE *VSIFOpenL( const char * pszFilename, const char * pszAccess )
00071 
00072 {
00073     return fopen64( pszFilename, pszAccess );
00074 }
00075 
00076 /************************************************************************/
00077 /*                             VSIFCloseL()                             */
00078 /************************************************************************/
00079 
00080 int VSIFCloseL( FILE * fp )
00081 
00082 {
00083     return VSIFClose( fp );
00084 }
00085 
00086 /************************************************************************/
00087 /*                             VSIFSeekL()                              */
00088 /************************************************************************/
00089 
00090 int VSIFSeekL( FILE * fp, vsi_l_offset nOffset, int nWhence )
00091 
00092 {
00093     return( VSI_FSEEK64 ( fp, nOffset, nWhence ) );
00094 }
00095 
00096 /************************************************************************/
00097 /*                             VSIFTellL()                              */
00098 /************************************************************************/
00099 
00100 vsi_l_offset VSIFTellL( FILE * fp )
00101 
00102 {
00103     return( VSI_FTELL64 ( fp ) );
00104 }
00105 
00106 /************************************************************************/
00107 /*                             VSIRewindL()                             */
00108 /************************************************************************/
00109 
00110 void VSIRewindL( FILE * fp )
00111 
00112 {
00113     VSIRewind( fp );
00114 }
00115 
00116 /************************************************************************/
00117 /*                             VSIFFlushL()                             */
00118 /************************************************************************/
00119 
00120 void VSIFFlushL( FILE * fp )
00121 
00122 {
00123     VSIFFlush( fp );
00124 }
00125 
00126 /************************************************************************/
00127 /*                             VSIFReadL()                              */
00128 /************************************************************************/
00129 
00130 size_t VSIFReadL( void * pBuffer, size_t nSize, size_t nCount, FILE * fp )
00131 
00132 {
00133     return VSIFRead( pBuffer, nSize, nCount, fp );
00134 }
00135 
00136 /************************************************************************/
00137 /*                             VSIFWriteL()                             */
00138 /************************************************************************/
00139 
00140 size_t VSIFWriteL( void * pBuffer, size_t nSize, size_t nCount, FILE * fp )
00141 
00142 {
00143     return VSIFWrite( pBuffer, nSize, nCount, fp );
00144 }
00145 
00146 /************************************************************************/
00147 /*                              VSIFEofL()                              */
00148 /************************************************************************/
00149 
00150 int VSIFEofL( FILE * fp )
00151 
00152 {
00153     return VSIFEof( fp );
00154 }
00155 
00156 /************************************************************************/
00157 /*                              VSIStatL()                              */
00158 /************************************************************************/
00159 
00160 int VSIStatL( const char * pszFilename, VSIStatBufL * pStatBuf )
00161 
00162 {
00163     return( stat64( pszFilename, pStatBuf ) );
00164 }
00165 
00166 #endif /* defined UNIX_STDIO_64 */
00167 

Generated at Sat Dec 21 14:01:57 2002 for GDAL by doxygen1.2.3-20001105 written by Dimitri van Heesch, © 1997-2000