xref: /netbsd-src/external/public-domain/sqlite/man/SQLITE_SHM_UNLOCK.3 (revision b9988867a8ad969c45a52aa7628bc932ec98d46b)
1.Dd January 24, 2024
2.Dt SQLITE_SHM_UNLOCK 3
3.Os
4.Sh NAME
5.Nm SQLITE_SHM_UNLOCK ,
6.Nm SQLITE_SHM_LOCK ,
7.Nm SQLITE_SHM_SHARED ,
8.Nm SQLITE_SHM_EXCLUSIVE
9.Nd flags for the xShmLock VFS method
10.Sh SYNOPSIS
11.In sqlite3.h
12.Fd #define SQLITE_SHM_UNLOCK
13.Fd #define SQLITE_SHM_LOCK
14.Fd #define SQLITE_SHM_SHARED
15.Fd #define SQLITE_SHM_EXCLUSIVE
16.Sh DESCRIPTION
17These integer constants define the various locking operations allowed
18by the xShmLock method of sqlite3_io_methods.
19The following are the only legal combinations of flags to the xShmLock
20method:
21.Bl -bullet
22.It
23SQLITE_SHM_LOCK | SQLITE_SHM_SHARED
24.It
25SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE
26.It
27SQLITE_SHM_UNLOCK | SQLITE_SHM_SHARED
28.It
29SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE
30.El
31.Pp
32When unlocking, the same SHARED or EXCLUSIVE flag must be supplied
33as was given on the corresponding lock.
34.Pp
35The xShmLock method can transition between unlocked and SHARED or between
36unlocked and EXCLUSIVE.
37It cannot transition between SHARED and EXCLUSIVE.
38.Sh IMPLEMENTATION NOTES
39These declarations were extracted from the
40interface documentation at line 1529.
41.Bd -literal
42#define SQLITE_SHM_UNLOCK       1
43#define SQLITE_SHM_LOCK         2
44#define SQLITE_SHM_SHARED       4
45#define SQLITE_SHM_EXCLUSIVE    8
46.Ed
47.Sh SEE ALSO
48.Xr sqlite3_io_methods 3
49