/* ** 2017 April 24 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: ** ** May you do good and not evil. ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* */ #ifdef SQLITE_SERVER_EDITION #ifndef SQLITE_SERVER_H #define SQLITE_SERVER_H typedef struct Server Server; typedef struct ServerPage ServerPage; struct ServerPage { Pgno pgno; /* Page number for this record */ int nData; /* Size of aData[] in bytes */ u8 *aData; ServerPage *pNext; int iCommitId; ServerPage *pHashNext; ServerPage *pHashPrev; }; int sqlite3ServerConnect(Pager *pPager, int eServer, Server **ppOut); void sqlite3ServerDisconnect(Server *p, sqlite3_file *dbfd); int sqlite3ServerBegin(Server *p, int bReadonly); int sqlite3ServerPreCommit(Server*, ServerPage*); int sqlite3ServerEnd(Server *p); int sqlite3ServerEndWrite(Server *p); int sqlite3ServerLock(Server *p, Pgno pgno, int bWrite, int bBlock); ServerPage *sqlite3ServerBuffer(Server*); int sqlite3ServerIsSingleProcess(Server*); /* For "BEGIN READONLY" clients. */ int sqlite3ServerIsReadonly(Server*); void sqlite3ServerReadPage(Server*, Pgno, u8**); void sqlite3ServerEndReadPage(Server*, Pgno); #endif /* SQLITE_SERVER_H */ #endif /* SQLITE_SERVER_EDITION */