10 #include <sys/types.h> 
   20 #include <spatialite.h> 
   36 #ifndef SQLITE_DEMOVFS_BUFFERSZ 
   37 # define SQLITE_DEMOVFS_BUFFERSZ 8192 
   43 #define MAXPATHNAME 512 
   56   sqlite3_int64 iBufferOfst;      
 
   60 static int HDFDirectWrite(
 
   67 static int HDFFlushBuffer(
HDFFile *p);
 
   69 static int HDFClose(sqlite3_file *pFile);
 
   85 static int HDFTruncate(sqlite3_file *pFile, sqlite_int64 size);
 
   87 static int HDFSync(sqlite3_file *pFile, 
int flags);
 
   89 static int HDFFileSize(sqlite3_file *pFile, sqlite_int64 *pSize);
 
   91 static int HDFLock(sqlite3_file *pFile, 
int eLock);
 
   92 static int HDFUnlock(sqlite3_file *pFile, 
int eLock);
 
   93 static int HDFCheckReservedLock(sqlite3_file *pFile, 
int *pResOut);
 
   94 static int HDFFileControl(sqlite3_file *pFile, 
int op, 
void *pArg);
 
   97 static int HDFSectorSize(sqlite3_file *pFile);
 
   98 static int HDFDeviceCharacteristics(sqlite3_file *pFile);
 
  109 static int HDFDelete(sqlite3_vfs *pVfs, 
const char *zPath, 
int dirSync);
 
  111 static int HDFAccess(
 
  118 static int HDFFullPathname(
 
  125 static void *HDFDlOpen(sqlite3_vfs *pVfs, 
const char *zPath);
 
  126 static void HDFDlError(sqlite3_vfs *pVfs, 
int nByte, 
char *zErrMsg);
 
  127 static void (*HDFDlSym(sqlite3_vfs *pVfs, 
void *pH, 
const char *z))(void);
 
  128 static void HDFDlClose(sqlite3_vfs *pVfs, 
void *pHandle);
 
  129 static int HDFRandomness(sqlite3_vfs *pVfs, 
int nByte, 
char *zByte);
 
  132 static int HDFSleep(sqlite3_vfs *pVfs, 
int nMicro);
 
  133 static int HDFCurrentTime(sqlite3_vfs *pVfs, 
double *pTime);
 
  135 sqlite3_vfs *sqlite3_HDFvfs(
void);