]> mj.ucw.cz Git - libucw.git/blobdiff - lib/config.h
Double oops.
[libucw.git] / lib / config.h
index b51a943d97bd7ebc5069b347dc59f132136ea175..0f7179d1fd3b15d934500ffab9e2dcb3ce42b58b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  *     Sherlock -- Configuration-Dependent Definitions
  *
- *     (c) 1997--2002 Martin Mares <mj@ucw.cz>
+ *     (c) 1997--2004 Martin Mares <mj@ucw.cz>
  *
  *     This software may be freely distributed and used according to the terms
  *     of the GNU Lesser General Public License.
 
 #include "lib/autoconf.h"
 
+#ifdef CONFIG_MAX_CONTEXTS
+#define CONFIG_CONTEXTS
+#endif
+
 /* Version */
 
-#define SHER_VER "2.2" SHERLOCK_VERSION_SUFFIX
+#define SHER_VER "3.3" SHERLOCK_VERSION_SUFFIX
 
 /* Paths */
 
@@ -46,7 +50,7 @@ typedef u32 oid_t;                    /* Object ID */
 
 /* Data types and functions for accessing file positions */
 
-#ifdef SHERLOCK_CONFIG_LARGE_DB
+#ifdef CONFIG_LARGE_DB
 typedef s64 sh_off_t;
 #define BYTES_PER_O 5
 #define BYTES_PER_P 8
@@ -72,6 +76,18 @@ typedef s32 sh_off_t;
 #define PUT_P(p,x) PUT_U32(p,x)
 #endif
 
+/* Data type for area ID's */
+
+#ifdef CONFIG_AREAS
+typedef u32 area_t;
+#define AREA_NONE 0
+#define AREA_ANY ~0U
+#else
+typedef struct { } area_t;
+#define AREA_NONE (area_t){}
+#define AREA_ANY (area_t){}
+#endif
+
 /* Misc */
 
 #ifdef __GNUC__
@@ -82,6 +98,9 @@ typedef s32 sh_off_t;
 #define CONSTRUCTOR __attribute__((constructor))
 #define PACKED __attribute__((packed))
 #define CONST __attribute__((const))
+#define PURE __attribute__((const))
+#define likely(x) __builtin_expect((x),1)
+#define unlikely(x) __builtin_expect((x),0)
 
 #else
 #error This program requires the GNU C compiler.