Standard Lock Modes
The Berkeley DB locking protocol is described by a conflict matrix. A conflict matrix is an NxN array in which N is the number of different lock modes supported, and the (i, j)th entry of the array indicates whether a lock of mode i conflicts with a lock of mode j. In addition, Berkeley DB defines the type db_lockmode_t, which is the type of a lock mode within a conflict matrix.
The Berkeley DB library has a standard conflict matrix. This is a conflict matrix that includes the intent lock modes (for example, intent-to-read, intent-to-write) used for multigranularity locking, as well as a wait lock mode:
DB_LOCK_NG Not granted (always 0)
DB_LOCK_READ Read (shared)
DB_LOCK_WRITE Write (exclusive)
DB_LOCK_WAIT Wait
DB_LOCK_IWRITE ...