Lines Matching refs:unixFile
22926 ** Allowed values of unixFile.fsFlags
22982 ** The unixFile structure is subclass of sqlite3_file specific to the unix
22985 typedef struct unixFile unixFile;
22986 struct unixFile {
23030 ** The following macros define bits in unixFile.fileFlags
23650 ** per inode, so if the same inode is opened twice, both unixFile structures
23668 ** When an attempt is made to close an unixFile, if there are
23669 ** other unixFile open on the same inode that are holding locks, the call
23714 ** A single inode can have multiple file descriptors, so each unixFile
23716 ** object keeps a count of the number of unixFile pointing to it.
23820 static int closePendingFds(unixFile *pFile){
23847 static void releaseInodeInfo(unixFile *pFile){
23882 unixFile *pFile, /* Unix file with file desc used in the key */
23971 unixFile *pFile = (unixFile*)id;
24073 unixFile *pFile = (unixFile*)id;
24085 ** unixFile, do nothing. Don't use the end_lock: exit path, as
24108 /* If some thread using this PID has a lock via a different unixFile*
24264 static void setPendingFd(unixFile *pFile){
24287 unixFile *pFile = (unixFile*)id;
24469 ** handles, if they are valid, and sets all fields of the unixFile
24477 unixFile *pFile = (unixFile*)id;
24507 memset(pFile, 0, sizeof(unixFile));
24518 unixFile *pFile = (unixFile *)id;
24621 unixFile *pFile = (unixFile*)id;
24670 unixFile *pFile = (unixFile*)id;
24723 unixFile *pFile = (unixFile*)id;
24767 unixFile *pFile = (unixFile*)id;
24817 unixFile *pFile = (unixFile*)id;
24898 unixFile *pFile = (unixFile*)id;
24941 unixFile *pFile = (unixFile*)id;
25016 unixFile *pFile = (unixFile*)id;
25082 unixFile *pFile = (unixFile*)id;
25116 unixFile *pFile = (unixFile*)id;
25154 unixFile *pFile = (unixFile*)id;
25213 unixFile *pFile, /* Open file descriptor on path */
25260 unixFile *pFile = (unixFile*)id;
25328 unixFile *pFile = (unixFile*)id;
25338 ** unixFile, do nothing. Don't use the afp_end_lock: exit path, as
25361 /* If some thread using this PID has a lock via a different unixFile*
25510 unixFile *pFile = (unixFile*)id;
25614 unixFile *pFile = (unixFile*)id;
25690 static int seekAndRead(unixFile *id, sqlite3_int64 offset, void *pBuf, int cnt){
25707 ((unixFile*)id)->lastErrno = errno;
25709 ((unixFile*)id)->lastErrno = 0;
25717 ((unixFile*)id)->lastErrno = errno;
25734 unixFile *pFile = (unixFile *)id;
25768 static int seekAndWrite(unixFile *id, i64 offset, const void *pBuf, int cnt){
25782 ((unixFile*)id)->lastErrno = errno;
25784 ((unixFile*)id)->lastErrno = 0;
25792 ((unixFile*)id)->lastErrno = errno;
25810 unixFile *pFile = (unixFile*)id;
26007 unixFile *pFile = (unixFile*)id;
26065 unixFile *pFile = (unixFile *)id;
26108 rc = fstat(((unixFile*)id)->h, &buf);
26111 ((unixFile*)id)->lastErrno = errno;
26144 static int fcntlSizeHint(unixFile *pFile, i64 nByte){
26193 *(int*)pArg = ((unixFile*)id)->eFileLock;
26197 *(int*)pArg = ((unixFile*)id)->lastErrno;
26201 ((unixFile*)id)->szChunk = *(int *)pArg;
26205 return fcntlSizeHint((unixFile *)id, *(i64 *)pArg);
26214 ((unixFile*)id)->dbUpdate = 0;
26409 static void unixShmPurge(unixFile *pFd){
26455 static int unixOpenSharedMemory(unixFile *pDbFd){
26593 unixFile *pDbFd = (unixFile*)fd;
26685 unixFile *pDbFd = (unixFile*)fd; /* Connection holding shared memory */
26811 unixFile *pDbFd; /* The underlying database file */
26813 pDbFd = (unixFile*)fd;
26914 static const sqlite3_io_methods *FINDER##Impl(const char *z, unixFile *p){ \
26918 static const sqlite3_io_methods *(*const FINDER)(const char*,unixFile *p) \
27038 unixFile *pNew /* open file object for the database file */
27090 *(*const autolockIoFinder)(const char*,unixFile*) = autolockIoFinderImpl;
27104 unixFile *pNew /* the open file object */
27128 *(*const autolockIoFinder)(const char*,unixFile*) = autolockIoFinderImpl;
27135 typedef const sqlite3_io_methods *(*finder_type)(const char*,unixFile*);
27146 ** Initialize the contents of the unixFile structure pointed to by pId.
27152 sqlite3_file *pId, /* Write to the unixFile structure here */
27158 unixFile *pNew = (unixFile *)pId;
27428 ** Routine to transform a unixFile into a proxy-locking unixFile.
27432 static int proxyTransformUnixFile(unixFile*, const char*);
27582 unixFile *p = (unixFile *)pFile;
27641 memset(p, 0, sizeof(unixFile));
27744 ((unixFile*)pFile)->lastErrno = errno;
27750 ((unixFile*)pFile)->fsFlags |= SQLITE_FSFLAGS_IS_MSDOS;
27789 rc = proxyTransformUnixFile((unixFile*)pFile, ":auto:");
28303 unixFile *conchFile; /* Open conch file */
28305 unixFile *lockProxy; /* Open proxy lock file */
28400 const char *path, /* path for the new unixFile */
28401 unixFile **ppFile, /* unixFile created and returned by ref */
28406 unixFile *pNew;
28456 pNew = (unixFile *)sqlite3_malloc(sizeof(*pNew));
28461 memset(pNew, 0, sizeof(unixFile));
28531 static int proxyBreakConchLock(unixFile *pFile, uuid_t myHostID){
28533 unixFile *conchFile = pCtx->conchFile;
28591 static int proxyConchLock(unixFile *pFile, uuid_t myHostID, int lockType){
28593 unixFile *conchFile = pCtx->conchFile;
28668 static int proxyTakeConch(unixFile *pFile){
28674 unixFile *conchFile = pCtx->conchFile;
28700 readLen = seekAndRead((unixFile*)conchFile, 0, readBuf, PROXY_MAXCONCHLEN);
28896 static int proxyReleaseConch(unixFile *pFile){
28899 unixFile *conchFile; /* Name of the conch file */
28963 static int switchLockProxyPath(unixFile *pFile, const char *path) {
28977 unixFile *lockProxy = pCtx->lockProxy;
28999 static int proxyGetDbPathForUnixFile(unixFile *pFile, char *dbPath){
29029 static int proxyTransformUnixFile(unixFile *pFile, const char *path) {
29119 unixFile *pFile = (unixFile*)id;
29134 unixFile *pFile = (unixFile*)id;
29187 unixFile *pFile = (unixFile*)id;
29192 unixFile *proxy = pCtx->lockProxy;
29226 unixFile *pFile = (unixFile*)id;
29231 unixFile *proxy = pCtx->lockProxy;
29250 unixFile *pFile = (unixFile*)id;
29255 unixFile *proxy = pCtx->lockProxy;
29270 unixFile *pFile = (unixFile*)id;
29272 unixFile *lockProxy = pCtx->lockProxy;
29273 unixFile *conchFile = pCtx->conchFile;
29353 sizeof(unixFile), /* szOsFile */ \