summaryrefslogtreecommitdiff
path: root/db2/include/db_int.h.src
diff options
context:
space:
mode:
Diffstat (limited to 'db2/include/db_int.h.src')
-rw-r--r--db2/include/db_int.h.src29
1 files changed, 22 insertions, 7 deletions
diff --git a/db2/include/db_int.h.src b/db2/include/db_int.h.src
index 03a882fded..48790d6c9a 100644
--- a/db2/include/db_int.h.src
+++ b/db2/include/db_int.h.src
@@ -4,7 +4,7 @@
* Copyright (c) 1996, 1997
* Sleepycat Software. All rights reserved.
*
- * @(#)db_int.h.src 10.37 (Sleepycat) 11/25/97
+ * @(#)db_int.h.src 10.41 (Sleepycat) 1/8/98
*/
#ifndef _DB_INTERNAL_H_
@@ -18,14 +18,22 @@
/*******************************************************
* General purpose constants and macros.
*******************************************************/
-#define UINT32_T_MAX 0xffffffff /* Maximum 32 bit unsigned. */
#define UINT16_T_MAX 0xffff /* Maximum 16 bit unsigned. */
+#define UINT32_T_MAX 0xffffffff /* Maximum 32 bit unsigned. */
#define DB_MIN_PGSIZE 0x000200 /* Minimum page size. */
#define DB_MAX_PGSIZE 0x010000 /* Maximum page size. */
#define DB_MINCACHE 10 /* Minimum cached pages */
+#define MEGABYTE 1048576
+
+/*
+ * If we are unable to determine the underlying filesystem block size, use
+ * 8K on the grounds that most OS's use less than 8K as their VM page size.
+ */
+#define DB_DEF_IOSIZE (8 * 1024)
+
/*
* Aligning items to particular sizes or in pages or memory. ALIGNP is a
* separate macro, as we've had to cast the pointer to different integral
@@ -109,6 +117,9 @@ typedef struct __fn {
#undef DB_LINE
#define DB_LINE "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
+/* Unused, or not-used-yet variable. "Shut that bloody compiler up!" */
+#define COMPQUIET(n, v) (n) = (v)
+
/*******************************************************
* Files.
*******************************************************/
@@ -155,18 +166,22 @@ typedef struct __fn {
/*
* The offset of a mutex in memory.
+ *
+ * !!!
+ * Not an off_t, so backing file offsets MUST be less than 4Gb. See the
+ * off field of the db_mutex_t as well.
*/
-#define MUTEX_LOCK_OFFSET(a, b) ((off_t)((u_int8_t *)b - (u_int8_t *)a))
+#define MUTEX_LOCK_OFFSET(a, b) ((u_int32_t)((u_int8_t *)b - (u_int8_t *)a))
typedef struct _db_mutex_t {
#ifdef HAVE_SPINLOCKS
- tsl_t tsl_resource; /* Resource test and set. */
+ tsl_t tsl_resource; /* Resource test and set. */
#ifdef DEBUG
- u_long pid; /* Lock holder: 0 or process pid. */
+ u_long pid; /* Lock holder: 0 or process pid. */
#endif
#else
- off_t off; /* Backing file offset. */
- u_long pid; /* Lock holder: 0 or process pid. */
+ u_int32_t off; /* Backing file offset. */
+ u_long pid; /* Lock holder: 0 or process pid. */
#endif
u_int32_t spins; /* Spins before block. */
u_int32_t mutex_set_wait; /* Granted after wait. */