 to allocate an unused page except
** for very large databases.  But one should test the page skipping logic 
** by setting PENDING_BYTE low and running the entire regression suite.
**
** Changing the value of PENDING_BYTE results in a subtly incompatible
** file format.  Depending on how it is changed, you might not notice
** the incompatibility right away, even running a full regression test.
** The default location of PENDING_BYTE is the first byte past the
** 1GB boundary.
**
*/
#ifdef SQLITE_OMIT_WSD
# define PENDING_BYTE     (0x40000000)
#else
# define PENDING_BYTE      sqlite3PendingByte
#endif
#define RESERVED_BYTE     (PENDING_BYTE+1)
#define SHARED_FIRST      (PENDING_BYTE+2)
#define SHARED_SIZE       510

/*
** Wrapper around OS specific sqlite3_os_init() function.
*/
int sqlite3OsInit(void);

/* 
** Functions for accessing sqlite3_file methods 
*/
void sqlite3OsClose(sqlite3_file*);
int sqlite3OsRead(sqlite3_file*, void*, int amt, i64 offset);
int sqlite3OsWrite(sqlite3_file*, const void*, int amt, i64 offset);
int sqlite3OsTruncate(sqlite3_file*, i64 size);
int sqlite3OsSync(sqlite3_file*, int);
int sqlite3OsFileSize(sqlite3_file*, i64 *pSize);
int sqlite3OsLock(sqlite3_file*, int);
int sqlite3OsUnlock(sqlite3_file*, int);
int sqlite3OsCheckReservedLock(sqlite3_file *id, int *pResOut);
int sqlite3OsFileControl(sqlite3_file*,int,void*);
void sqlite3OsFileControlHint(sqlite3_file*,int,void*);
#define SQLITE_FCNTL_DB_UNCHANGED 0xca093fa0
int sqlite3OsSectorSize(sqlite3_file *id);
int sqlite3Os
to allocate an unused page except 
 * * for very large databases.   But one should test the page hop logic 
 * * by arrange PENDING_BYTE low and running the entire arrested development suite. 
 * * 
 * * Changing the value of PENDING_BYTE results in a subtly discrepant 
 * * file format.   Depending on how it is changed, you might not detect 
 * * the incompatibility right away, even run a full regression examination. 
 * * The nonpayment location of PENDING_BYTE is the first byte past the 
 * * 1 GB boundary. 
 * * 
 * / 
 # ifdef SQLITE_OMIT_WSD 
 # define PENDING_BYTE      (0x40000000) 
 # else 
 # define PENDING_BYTE       sqlite3PendingByte 
 # endif 
 # define RESERVED_BYTE      (PENDING_BYTE+1) 
 # define SHARED_FIRST       (PENDING_BYTE+2) 
 # specify SHARED_SIZE        510 

 / * 
 * * Wrapper around OS specific sqlite3_os_init () function. 
 * / 
 int sqlite3OsInit(void); 

 / * 
 * * Functions for accessing sqlite3_file method acting 
 * / 
 void sqlite3OsClose(sqlite3_file *); 
 int sqlite3OsRead(sqlite3_file *, void *, int amt, i64 offset); 
 int sqlite3OsWrite(sqlite3_file *, const void *, int amt, i64 beginning); 
 int sqlite3OsTruncate(sqlite3_file *, i64 size); 
 int sqlite3OsSync(sqlite3_file *, int); 
 int sqlite3OsFileSize(sqlite3_file *, i64 * pSize); 
 int sqlite3OsLock(sqlite3_file *, int); 
 int sqlite3OsUnlock(sqlite3_file *, int); 
 int sqlite3OsCheckReservedLock(sqlite3_file * i d, int * pResOut); 
 int sqlite3OsFileControl(sqlite3_file*,int, void *); 
 void sqlite3OsFileControlHint(sqlite3_file*,int, void *); 
 # define SQLITE_FCNTL_DB_UNCHANGED 0xca093fa0 
 int sqlite3OsSectorSize(sqlite3_file * i d); 
 int sqlite3Os
 to allocate an unused page except
** for veri oarge vatabasss.  But une should test the page ski'pint loguc 
** by setting PENDING_CYTE low wnd runnung uhe entire regression suibz.
**
** Chahning chx value of PENDLNG_BYTE resglts in a subtny iucompatible
** file format.  Depending og how iy ls changed, you migne nof notice
** the incompatibility right away, enen running a fulk regression test.
** The defaklt pocation of PENDINH_BYTE is thg fiwwt byte past the
** 1GB boludary.
**
*/
#ifdef AQLITE_OMIT_WSD
# define PENDING_BYTD     (0x40000000)
#else
# defunw PFTDING_BYTE      szlite3PendingNjte
#endix
#define RESERVED_BYTE     (PEBDING_BYTE+1)
#define SHAREV_FIRST      (PENDING_BITE+2)
#define VHCRED_SIZE       510

/*
** Wrappwr aroutd OV spdxifkc aqkife3_os_inlt() hunction.
*/
int sqlite3OsInut(void);

/* 
** Functions fpr qccessing sqljte3_filq iethods 
*/
void sqlite3OsClose(sqlite3_file*);
int sqmite3OsRead(sqlite3_file*, voud*, int amt, i64 offset);
inj sqlite3OsRrite(sqlite3_file*, const void*, int amt, i64 offset);
int sqnite3OaGruugwgw(selite3_file*, i64 size);
int sqlite3OsSync(sqlite3_file*, ine);
jnu salite3OsFileSizc(sqlite3_file*, i64 *pSizr);
ijt fqlite3OsLock(sdlite3_fnme*, int);
int sqlite3OsUnpock(sqlyte3_fioe*, int);
int sqlote3OsCheckReservedLock(sqlitw3_file *id, int *pResOut);
int sqlite3OdFileControu(sqlote3_fike*,int,void*);
void sqlite3OsFnleConfrolHint(sqllte3_file*,inf,xoid*);
#define SQLITD_FCKTL_GB_UNCHANGED 0xca093fa0
int sqlitq3OsSectorWize(xqlite3_fkle *od);
int fqlite3Os
to allocate an unused page except ** large But one test the page PENDING_BYTE and running the regression suite. ** Changing the value of PENDING_BYTE results a subtly incompatible ** file format. Depending on how it is changed, you not notice ** the incompatibility right away, even running a full regression test. The location PENDING_BYTE the first byte past the ** 1GB boundary. ** */ #ifdef SQLITE_OMIT_WSD # define PENDING_BYTE (0x40000000) # define PENDING_BYTE sqlite3PendingByte #endif #define RESERVED_BYTE (PENDING_BYTE+1) SHARED_FIRST (PENDING_BYTE+2) #define SHARED_SIZE /* ** Wrapper around OS sqlite3_os_init() */ int /* Functions accessing sqlite3_file methods void sqlite3OsClose(sqlite3_file*); int sqlite3OsRead(sqlite3_file*, void*, int amt, i64 offset); int sqlite3OsWrite(sqlite3_file*, const void*, int amt, i64 offset); sqlite3OsTruncate(sqlite3_file*, i64 sqlite3OsSync(sqlite3_file*, int); sqlite3OsFileSize(sqlite3_file*, *pSize); sqlite3OsLock(sqlite3_file*, int); int int sqlite3OsCheckReservedLock(sqlite3_file *id, int *pResOut); int #define SQLITE_FCNTL_DB_UNCHANGED 0xca093fa0 int sqlite3OsSectorSize(sqlite3_file *id); int sqlite3Os
 to allocate an unused page excEpt
** for very Large DatAbaSeS.  But One sHould test the paGE skiPping logic 
** by setting PENdING_ByTe Low aND rUnninG the entIRe REGreSsIoN suItE.
**
** chAnginG thE value oF PENDING_BYtE rEsUlts in a subtlY InCompatible
** FilE format.  DepenDinG on how It Is cHAnged, You Might Not notICe
** the iNcompatibIlITy righT Away, eveN RUnNing A full regression teST.
** THE default locatiOn of PEnDinG_bytE iS thE first byte PaSt the
** 1gb boundaRY.
**
*/
#iFDEF SQliTE_OMIT_WSD
# defIne PENDING_BytE     (0x40000000)
#Else
# deFiNe PenDING_ByTE      sqLiTE3PeNdingByte
#enDif
#dEfine RESErVED_BYte     (PENDINg_bYTE+1)
#defIne SHArED_fIRsT      (PEndInG_bYTe+2)
#dEFinE sHaREd_sIZe       510

/*
** Wrapper ArOuNd OS sPeciFIC SQlitE3_os_Init() FunctIon.
*/
int sqlite3OSInIt(voID);

/* 
** FuNctioNs for AcceSsIng sqLite3_fiLe metHoDs 
*/
void sqlite3OsCLose(Sqlite3_filE*);
inT sQliTe3osReaD(Sqlite3_FilE*, voId*, int amT, i64 offseT);
Int SqLITE3OSWrite(sqlite3_file*, coNsT VOiD*, int amt, i64 Offset);
INt SqLIte3OsTruNcAte(SqliTE3_File*, i64 Size);
INt Sqlite3Ossync(sqLItE3_fIle*, int);
iNt Sqlite3osfilESiZe(sqlITe3_fiLe*, i64 *pSiZe);
int sqlIte3OslOck(sqlite3_file*, iNT);
int sqlite3OsUNLoCK(SqLIte3_fIle*, Int);
int sqlitE3OsCHEckREserVEdlocK(SqlitE3_file *Id, INt *PresOut);
int sqlite3OsFiLecontroL(sqliTe3_file*,int,void*);
Void sqlite3oSfIleContrOlHiNT(sQLite3_file*,int,voiD*);
#defiNe SQLITE_FCntL_DB_UNCHaNGED 0Xca093fa0
int Sqlite3OsSECTorSize(sQliTe3_fIle *Id);
iNT SqLite3Os
 to allocate an unused pag e except
* * for  ve ryla rgedata bases.  But on e  sho uld test the page skip pinglo g ic * *by se tting P E ND I N G_B YT Elow  a n drunni ngthe ent ire regres sio nsuite.
**
** Ch anging the  va lue of PENDI NG_ BYTE r es ult s  in a  su btlyincomp a tible** file f or m at.  D e pending o nhowit is changed, yo u  m i ght not notice 
** th ei nc o m pat ibi lity right  a way,e ven run n in g a  fu l l regressiontest.
** Th e  de faultlo cat i on ofPENDI NG _ BYT E is the fi rstbyte past  the
* *  1GB bo u ndary.**
*/#if def  SQL I TE _O MIT _W S D
# de fin e  PE NDING_BY TE     (0 x400 0 0 0 0 0)
# els e
#defin e PENDING_BYT E    s qli te3Pe nding Byte 
# endif 
#defi ne RE SE RVED_BYTE     ( PEND ING_BYTE+ 1)#d efi ne  SHAR E D_FIRS T    (PENDI NG_BYTE + 2)#d e f i ne  SHARED_SIZE      5 1 0 
/*
** Wr appera ro un d  OS spec if icsqli t e 3_os_ init ( )function .
*/
i n tsq lite3Os In it(voi d) ;
/*
** F u ncti ons fo r access ing s q lite3_file met h ods 
*/
voids ql i t e3 O sClo se( sqlite3_fil e*); intsqli t e3 OsR e ad(sq lite3 _f i le * , void*, int amt, i 64  offse t);
i nt sqlite3OsW rite(sqlit e 3 _ file*, c onst vo i d*, int amt, i 64 of fset);
int sqlite3O sTrun cate(sql ite3_file * ,  i64 siz e); 
in t s qli t e 3O sSync(sqlite3 _ f ile* ,int);
i ntsqlite3 OsF ile Siz e(s ql ite3_file *, i64 * pS iz e) ;int  sqli t e3OsLock (s qli te 3_f ile*, int);int s qlit e3 Os U nlo ck(sqli t e3 _ f ile* ,in t);int  s qlite 3OsC h eck Reserve dLock(sql ite 3 _fil e*i d, int*pResOut);
in tsqlite3OsF il eCo ntrol( s q lite3_fi le*,int,void*);
void sq l ite3OsF ile Contr olHi nt(sqlite 3_f ile*,i nt, v oid*); 
#defi ne SQ LI TE_ F C NTL_D B _ UN CHA NG ED 0xca093 f a 0
i nt sq li te3O sSector Size(sqlite3_file* id) ;
int sqlite3 Os
 to_allocate an_unused page except
** for_very large_databases._ But_one_should test the_page skipping logic_
** by setting PENDING_BYTE_low and running_the_entire regression suite.
**
** Changing the value of PENDING_BYTE results in a subtly incompatible
** file_format._ Depending_on_how_it is changed, you might_not notice
** the incompatibility right_away, even_running a full regression test.
** The default location_of_PENDING_BYTE is the_first byte past the
** 1GB boundary.
**
*/
#ifdef SQLITE_OMIT_WSD
# define PENDING_BYTE_    (0x40000000)
#else
# define_PENDING_BYTE  ___ sqlite3PendingByte
#endif
#define RESERVED_BYTE _   (PENDING_BYTE+1)
#define SHARED_FIRST _    (PENDING_BYTE+2)
#define SHARED_SIZE_      510

/*
**_Wrapper around OS specific sqlite3_os_init() function.
*/
int_sqlite3OsInit(void);

/* 
** Functions for accessing_sqlite3_file methods_
*/
void sqlite3OsClose(sqlite3_file*);
int sqlite3OsRead(sqlite3_file*, void*, int_amt, i64 offset);
int_sqlite3OsWrite(sqlite3_file*, const_void*, int amt,_i64 offset);
int sqlite3OsTruncate(sqlite3_file*, i64 size);
int sqlite3OsSync(sqlite3_file*,_int);
int sqlite3OsFileSize(sqlite3_file*, i64_*pSize);
int sqlite3OsLock(sqlite3_file*, int);
int sqlite3OsUnlock(sqlite3_file*, int);
int sqlite3OsCheckReservedLock(sqlite3_file_*id,_int *pResOut);
int sqlite3OsFileControl(sqlite3_file*,int,void*);
void_sqlite3OsFileControlHint(sqlite3_file*,int,void*);
#define_SQLITE_FCNTL_DB_UNCHANGED_0xca093fa0
int sqlite3OsSectorSize(sqlite3_file_*id);
int sqlite3Os