Change the mutex interface to be pluggable. This is an incremental checkin, there are still changes to come. (CVS 5227)

FossilOrigin-Name: 597283637bcdc2398bf249b2bbc6ded47ad2de22
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index e0b9c4c..8513074 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -11,7 +11,7 @@
 *************************************************************************
 ** Internal interface definitions for SQLite.
 **
-** @(#) $Id: sqliteInt.h,v 1.711 2008/06/17 15:12:01 drh Exp $
+** @(#) $Id: sqliteInt.h,v 1.712 2008/06/17 17:21:18 danielk1977 Exp $
 */
 #ifndef _SQLITEINT_H_
 #define _SQLITEINT_H_
@@ -1739,6 +1739,7 @@
   int bCoreMutex;                   /* True to enable core mutexing */
   int bFullMutex;                   /* True to enable full mutexing */
   sqlite3_mem_methods m;            /* Low-level memory allocation interface */
+  sqlite3_mutex_methods mutex;      /* Low-level mutex interface */
   void *pHeap;                      /* Heap storage space */
   sqlite3_int64 nHeap;              /* Size of pHeap[] */
   int mnReq, mxReq;                 /* Min and max memory request sizes */
@@ -1797,6 +1798,8 @@
 void sqlite3PageFree(void*);
 void sqlite3MemSetDefault(void);
 
+sqlite3_mutex_methods *sqlite3DefaultMutex(void);
+
 int sqlite3IsNaN(double);
 
 char *sqlite3MPrintf(sqlite3*,const char*, ...);