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);