cpl_vsi.h File Reference

#include "cpl_port.h"
#include <unistd.h>
#include <sys/stat.h>

Go to the source code of this file.

Defines

#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)
#define VSIDebug4(f, a1, a2, a3, a4)   {}
#define VSIDebug3(f, a1, a2, a3)   {}
#define VSIDebug2(f, a1, a2)   {}
#define VSIDebug1(f, a1)   {}

Typedefs

typedef stat VSIStatBuf
typedef GUIntBig vsi_l_offset
typedef stat64 VSIStatBufL

Functions

FILE * VSIFOpen (const char *, const char *)
int VSIFClose (FILE *)
int VSIFSeek (FILE *, long, int)
long VSIFTell (FILE *)
void VSIRewind (FILE *)
void VSIFFlush (FILE *)
size_t VSIFRead (void *, size_t, size_t, FILE *)
size_t VSIFWrite (void *, size_t, size_t, FILE *)
char * VSIFGets (char *, int, FILE *)
int VSIFPuts (const char *, FILE *)
int VSIFPrintf (FILE *, const char *,...)
int VSIFGetc (FILE *)
int VSIFPutc (int, FILE *)
int VSIUngetc (int, FILE *)
int VSIFEof (FILE *)
int VSIStat (const char *, VSIStatBuf *)
FILE * VSIFOpenL (const char *, const char *)
int VSIFCloseL (FILE *)
int VSIFSeekL (FILE *, vsi_l_offset, int)
vsi_l_offset VSIFTellL (FILE *)
void VSIRewindL (FILE *)
size_t VSIFReadL (void *, size_t, size_t, FILE *)
size_t VSIFWriteL (void *, size_t, size_t, FILE *)
int VSIFEofL (FILE *)
void VSIFFlushL (FILE *)
int VSIStatL (const char *, VSIStatBufL *)
void * VSICalloc (size_t, size_t)
void * VSIMalloc (size_t)
void VSIFree (void *)
void * VSIRealloc (void *, size_t)
char * VSIStrdup (const char *)
int VSIMkdir (const char *pathname, long mode)
int VSIRmdir (const char *pathname)
int VSIUnlink (const char *pathname)
char * VSIStrerror (int)
unsigned long VSITime (unsigned long *)
const char * VSICTime (unsigned long)
tm * VSIGMTime (const time_t *pnTime, struct tm *poBrokenTime)
tm * VSILocalTime (const time_t *pnTime, struct tm *poBrokenTime)


Detailed Description

Standard C Covers

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.


Generated on Mon Jan 9 18:03:35 2006 for GDAL by  doxygen 1.4.6