.Dd January 24, 2024
.Dt SQLITE_MUTEX_FAST 3
.Os
.Sh NAME
.Nm SQLITE_MUTEX_FAST ,
.Nm SQLITE_MUTEX_RECURSIVE ,
.Nm SQLITE_MUTEX_STATIC_MAIN ,
.Nm SQLITE_MUTEX_STATIC_MEM ,
.Nm SQLITE_MUTEX_STATIC_MEM2 ,
.Nm SQLITE_MUTEX_STATIC_OPEN ,
.Nm SQLITE_MUTEX_STATIC_PRNG ,
.Nm SQLITE_MUTEX_STATIC_LRU ,
.Nm SQLITE_MUTEX_STATIC_LRU2 ,
.Nm SQLITE_MUTEX_STATIC_PMEM ,
.Nm SQLITE_MUTEX_STATIC_APP1 ,
.Nm SQLITE_MUTEX_STATIC_APP2 ,
.Nm SQLITE_MUTEX_STATIC_APP3 ,
.Nm SQLITE_MUTEX_STATIC_VFS1 ,
.Nm SQLITE_MUTEX_STATIC_VFS2 ,
.Nm SQLITE_MUTEX_STATIC_VFS3
.Nd mutex types
.Sh SYNOPSIS
.In sqlite3.h
.Fd #define SQLITE_MUTEX_FAST
.Fd #define SQLITE_MUTEX_RECURSIVE
.Fd #define SQLITE_MUTEX_STATIC_MAIN
.Fd #define SQLITE_MUTEX_STATIC_MEM
.Fd #define SQLITE_MUTEX_STATIC_MEM2
.Fd #define SQLITE_MUTEX_STATIC_OPEN
.Fd #define SQLITE_MUTEX_STATIC_PRNG
.Fd #define SQLITE_MUTEX_STATIC_LRU
.Fd #define SQLITE_MUTEX_STATIC_LRU2
.Fd #define SQLITE_MUTEX_STATIC_PMEM
.Fd #define SQLITE_MUTEX_STATIC_APP1
.Fd #define SQLITE_MUTEX_STATIC_APP2
.Fd #define SQLITE_MUTEX_STATIC_APP3
.Fd #define SQLITE_MUTEX_STATIC_VFS1
.Fd #define SQLITE_MUTEX_STATIC_VFS2
.Fd #define SQLITE_MUTEX_STATIC_VFS3
.Sh DESCRIPTION
The
.Fn sqlite3_mutex_alloc
interface takes a single argument which is one of these integer constants.
.Pp
The set of static mutexes may change from one SQLite release to the
next.
Applications that override the built-in mutex logic must be prepared
to accommodate additional static mutexes.
.Sh IMPLEMENTATION NOTES
These declarations were extracted from the
interface documentation at line 8178.
.Bd -literal
#define SQLITE_MUTEX_FAST             0
#define SQLITE_MUTEX_RECURSIVE        1
#define SQLITE_MUTEX_STATIC_MAIN      2
#define SQLITE_MUTEX_STATIC_MEM       3  /* sqlite3_malloc() */
#define SQLITE_MUTEX_STATIC_MEM2      4  /* NOT USED */
#define SQLITE_MUTEX_STATIC_OPEN      4  /* sqlite3BtreeOpen() */
#define SQLITE_MUTEX_STATIC_PRNG      5  /* sqlite3_randomness() */
#define SQLITE_MUTEX_STATIC_LRU       6  /* lru page list */
#define SQLITE_MUTEX_STATIC_LRU2      7  /* NOT USED */
#define SQLITE_MUTEX_STATIC_PMEM      7  /* sqlite3PageMalloc() */
#define SQLITE_MUTEX_STATIC_APP1      8  /* For use by application */
#define SQLITE_MUTEX_STATIC_APP2      9  /* For use by application */
#define SQLITE_MUTEX_STATIC_APP3     10  /* For use by application */
#define SQLITE_MUTEX_STATIC_VFS1     11  /* For use by built-in VFS */
#define SQLITE_MUTEX_STATIC_VFS2     12  /* For use by extension VFS */
#define SQLITE_MUTEX_STATIC_VFS3     13  /* For use by application VFS */
.Ed
.Sh SEE ALSO
.Xr sqlite3_mutex_alloc 3
