#include "cpl_port.h"
#include <unistd.h>
#include <sys/stat.h>
Go to the source code of this file.
Defines |
|
#define | vsi_l_offset long |
#define | VSIFOpenL VSIFOpen |
#define | VSIFCloseL VSIFClose |
#define | VSIFSeekL VSIFSeek |
#define | VSIFTellL VSIFTell |
#define | VSIFRewindL VSIFRewind |
#define | VSIFReadL VSIFRead |
#define | VSIFWriteL VSIFWrite |
#define | VSIFEofL VSIFEof |
#define | VSIFFlushL VSIFFlush |
#define | VSI_ISLNK(x) S_ISLNK(x) |
#define | VSI_ISREG(x) S_ISREG(x) |
#define | VSI_ISDIR(x) S_ISDIR(x) |
#define | VSI_ISCHR(x) S_ISCHR(x) |
#define | VSI_ISBLK(x) S_ISBLK(x) |
Typedefs |
|
typedef struct stat | VSIStatBuf |
Functions |
|
CPL_C_START FILE CPL_DLL* | VSIFOpen (const char *, const char *) |
int CPL_DLL | VSIFClose (FILE *) |
int CPL_DLL | VSIFSeek (FILE *, long, int) |
long CPL_DLL | VSIFTell (FILE *) |
void CPL_DLL | VSIRewind (FILE *) |
void CPL_DLL | VSIFFlush (FILE *) |
size_t CPL_DLL | VSIFRead (void *, size_t, size_t, FILE *) |
size_t CPL_DLL | VSIFWrite (void *, size_t, size_t, FILE *) |
char CPL_DLL* | VSIFGets (char *, int, FILE *) |
int CPL_DLL | VSIFPuts (const char *, FILE *) |
int CPL_DLL | VSIFPrintf (FILE *, const char *,...) |
int CPL_DLL | VSIFGetc (FILE *) |
int CPL_DLL | VSIFPutc (int, FILE *) |
int CPL_DLL | VSIUngetc (int, FILE *) |
int CPL_DLL | VSIFEof (FILE *) |
int CPL_DLL | VSIStat (const char *, VSIStatBuf *) |
void CPL_DLL* | VSICalloc (size_t, size_t) |
void CPL_DLL* | VSIMalloc (size_t) |
void CPL_DLL | VSIFree (void *) |
void CPL_DLL* | VSIRealloc (void *, size_t) |
char CPL_DLL* | VSIStrdup (const char *) |
int CPL_DLL | VSIMkdir (const char *pathname, long mode) |
int CPL_DLL | VSIRmdir (const char *pathname) |
int CPL_DLL | VSIUnlink (const char *pathname) |
The VSI functions are intended to be hookable aliases for Standard C I/O, memory allocation and other system functions. They are intended to allow virtualization of disk I/O so that non file data sources can be made to appear as files, and so that additional error trapping and reporting can be interested. The memory access API is aliased so that special application memory management services can be used.
Is is intended that each of these functions retains exactly the same calling pattern as the original Standard C functions they relate to. This means we don't have to provide custom documentation, and also means that the default implementation is very simple.
Definition in file cpl_vsi.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 251 of file cpl_vsisimple.cpp. 00253 { 00254 return( calloc( nCount, nSize ) ); 00255 } |
|
Definition at line 100 of file cpl_vsisimple.cpp. 00102 { 00103 return( fclose(fp) ); 00104 } |
|
Definition at line 221 of file cpl_vsisimple.cpp. 00223 { 00224 return( feof( fp ) ); 00225 } |
|
Definition at line 160 of file cpl_vsisimple.cpp. 00162 { 00163 fflush( fp ); 00164 } |
|
Definition at line 180 of file cpl_vsisimple.cpp. 00182 { 00183 return( fgetc( fp ) ); 00184 } |
|
Definition at line 170 of file cpl_vsisimple.cpp. 00172 { 00173 return( fgets( pszBuffer, nBufferSize, fp ) ); 00174 } |
|
Definition at line 90 of file cpl_vsisimple.cpp. 00092 { 00093 return( fopen( (char *) pszFilename, (char *) pszAccess ) ); 00094 } |
|
Definition at line 204 of file cpl_vsisimple.cpp. 00206 { 00207 va_list args; 00208 int nReturn; 00209 00210 va_start( args, pszFormat ); 00211 nReturn = vfprintf( fp, pszFormat, args ); 00212 va_end( args ); 00213 00214 return( nReturn ); 00215 } |
|
Definition at line 241 of file cpl_vsisimple.cpp. 00243 { 00244 return( fputc( nChar, fp ) ); 00245 } |
|
Definition at line 231 of file cpl_vsisimple.cpp. 00233 { 00234 return fputs( pszString, fp ); 00235 } |
|
Definition at line 140 of file cpl_vsisimple.cpp. 00142 { 00143 return( fread( pBuffer, nSize, nCount, fp ) ); 00144 } |
|
Definition at line 110 of file cpl_vsisimple.cpp. 00112 { 00113 return( fseek( fp, nOffset, nWhence ) ); 00114 } |
|
Definition at line 120 of file cpl_vsisimple.cpp. 00122 { 00123 return( ftell( fp ) ); 00124 } |
|
Definition at line 150 of file cpl_vsisimple.cpp. 00152 { 00153 return( fwrite( pBuffer, nSize, nCount, fp ) ); 00154 } |
|
Definition at line 281 of file cpl_vsisimple.cpp. 00283 { 00284 if( pData != NULL ) 00285 free( pData ); 00286 } |
|
Definition at line 261 of file cpl_vsisimple.cpp. 00263 { 00264 return( malloc( nSize ) ); 00265 } |
|
Definition at line 316 of file cpl_vsisimple.cpp. 00318 { 00319 #ifdef WIN32 00320 return mkdir( pszPathname ); 00321 #elif defined(macos_pre10) 00322 return -1; 00323 #else 00324 return mkdir( pszPathname, mode ); 00325 #endif 00326 } |
|
Definition at line 271 of file cpl_vsisimple.cpp. 00273 { 00274 return( realloc( pData, nNewSize ) ); 00275 } |
|
Definition at line 130 of file cpl_vsisimple.cpp. 00132 { 00133 rewind( fp ); 00134 } |
|
Definition at line 342 of file cpl_vsisimple.cpp. 00344 { 00345 return rmdir( pszFilename ); 00346 } |
|
Definition at line 302 of file cpl_vsisimple.cpp. 00304 { 00305 #if defined(macos_pre10) 00306 return -1; 00307 #else 00308 return( stat( pszFilename, pStatBuf ) ); 00309 #endif 00310 } |
|
Definition at line 292 of file cpl_vsisimple.cpp. 00294 { 00295 return( strdup( pszString ) ); 00296 } |
|
Definition at line 190 of file cpl_vsisimple.cpp. 00192 { 00193 return( ungetc( c, fp ) ); 00194 } |
|
Definition at line 332 of file cpl_vsisimple.cpp. 00334 { 00335 return unlink( pszFilename ); 00336 } |