summaryrefslogtreecommitdiff
path: root/static/netbsd/man3/SQLITE_IOCAP_ATOMIC.3
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man3/SQLITE_IOCAP_ATOMIC.3')
-rw-r--r--static/netbsd/man3/SQLITE_IOCAP_ATOMIC.389
1 files changed, 89 insertions, 0 deletions
diff --git a/static/netbsd/man3/SQLITE_IOCAP_ATOMIC.3 b/static/netbsd/man3/SQLITE_IOCAP_ATOMIC.3
new file mode 100644
index 00000000..85622233
--- /dev/null
+++ b/static/netbsd/man3/SQLITE_IOCAP_ATOMIC.3
@@ -0,0 +1,89 @@
+.Dd January 24, 2024
+.Dt SQLITE_IOCAP_ATOMIC 3
+.Os
+.Sh NAME
+.Nm SQLITE_IOCAP_ATOMIC ,
+.Nm SQLITE_IOCAP_ATOMIC512 ,
+.Nm SQLITE_IOCAP_ATOMIC1K ,
+.Nm SQLITE_IOCAP_ATOMIC2K ,
+.Nm SQLITE_IOCAP_ATOMIC4K ,
+.Nm SQLITE_IOCAP_ATOMIC8K ,
+.Nm SQLITE_IOCAP_ATOMIC16K ,
+.Nm SQLITE_IOCAP_ATOMIC32K ,
+.Nm SQLITE_IOCAP_ATOMIC64K ,
+.Nm SQLITE_IOCAP_SAFE_APPEND ,
+.Nm SQLITE_IOCAP_SEQUENTIAL ,
+.Nm SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN ,
+.Nm SQLITE_IOCAP_POWERSAFE_OVERWRITE ,
+.Nm SQLITE_IOCAP_IMMUTABLE ,
+.Nm SQLITE_IOCAP_BATCH_ATOMIC
+.Nd device characteristics
+.Sh SYNOPSIS
+.In sqlite3.h
+.Fd #define SQLITE_IOCAP_ATOMIC
+.Fd #define SQLITE_IOCAP_ATOMIC512
+.Fd #define SQLITE_IOCAP_ATOMIC1K
+.Fd #define SQLITE_IOCAP_ATOMIC2K
+.Fd #define SQLITE_IOCAP_ATOMIC4K
+.Fd #define SQLITE_IOCAP_ATOMIC8K
+.Fd #define SQLITE_IOCAP_ATOMIC16K
+.Fd #define SQLITE_IOCAP_ATOMIC32K
+.Fd #define SQLITE_IOCAP_ATOMIC64K
+.Fd #define SQLITE_IOCAP_SAFE_APPEND
+.Fd #define SQLITE_IOCAP_SEQUENTIAL
+.Fd #define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN
+.Fd #define SQLITE_IOCAP_POWERSAFE_OVERWRITE
+.Fd #define SQLITE_IOCAP_IMMUTABLE
+.Fd #define SQLITE_IOCAP_BATCH_ATOMIC
+.Sh DESCRIPTION
+The xDeviceCharacteristics method of the sqlite3_io_methods
+object returns an integer which is a vector of these bit values expressing
+I/O characteristics of the mass storage device that holds the file
+that the sqlite3_io_methods refers to.
+.Pp
+The SQLITE_IOCAP_ATOMIC property means that all writes of any size
+are atomic.
+The SQLITE_IOCAP_ATOMICnnn values mean that writes of blocks that are
+nnn bytes in size and are aligned to an address which is an integer
+multiple of nnn are atomic.
+The SQLITE_IOCAP_SAFE_APPEND value means that when data is appended
+to a file, the data is appended first then the size of the file is
+extended, never the other way around.
+The SQLITE_IOCAP_SEQUENTIAL property means that information is written
+to disk in the same order as calls to xWrite().
+The SQLITE_IOCAP_POWERSAFE_OVERWRITE property means that after reboot
+following a crash or power loss, the only bytes in a file that were
+written at the application level might have changed and that adjacent
+bytes, even bytes within the same sector are guaranteed to be unchanged.
+The SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN flag indicates that a file cannot
+be deleted when open.
+The SQLITE_IOCAP_IMMUTABLE flag indicates that the file is on read-only
+media and cannot be changed even by processes with elevated privileges.
+.Pp
+The SQLITE_IOCAP_BATCH_ATOMIC property means that the underlying filesystem
+supports doing multiple write operations atomically when those write
+operations are bracketed by SQLITE_FCNTL_BEGIN_ATOMIC_WRITE
+and SQLITE_FCNTL_COMMIT_ATOMIC_WRITE.
+.Sh IMPLEMENTATION NOTES
+These declarations were extracted from the
+interface documentation at line 622.
+.Bd -literal
+#define SQLITE_IOCAP_ATOMIC 0x00000001
+#define SQLITE_IOCAP_ATOMIC512 0x00000002
+#define SQLITE_IOCAP_ATOMIC1K 0x00000004
+#define SQLITE_IOCAP_ATOMIC2K 0x00000008
+#define SQLITE_IOCAP_ATOMIC4K 0x00000010
+#define SQLITE_IOCAP_ATOMIC8K 0x00000020
+#define SQLITE_IOCAP_ATOMIC16K 0x00000040
+#define SQLITE_IOCAP_ATOMIC32K 0x00000080
+#define SQLITE_IOCAP_ATOMIC64K 0x00000100
+#define SQLITE_IOCAP_SAFE_APPEND 0x00000200
+#define SQLITE_IOCAP_SEQUENTIAL 0x00000400
+#define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN 0x00000800
+#define SQLITE_IOCAP_POWERSAFE_OVERWRITE 0x00001000
+#define SQLITE_IOCAP_IMMUTABLE 0x00002000
+#define SQLITE_IOCAP_BATCH_ATOMIC 0x00004000
+.Ed
+.Sh SEE ALSO
+.Xr sqlite3_io_methods 3 ,
+.Xr SQLITE_FCNTL_LOCKSTATE 3