X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=lib%2Fconfig.h;h=4a6b34d526aae9953473cce0b5dc9eda2b20b99d;hb=e828732528e0ed88973dd18f2dee97a42c0b4e59;hp=f1a5af12a94c4a168cdc1bdafff06b3faee984b5;hpb=ca885e18959ced4df7084ccf262c7b5df5848bdb;p=libucw.git diff --git a/lib/config.h b/lib/config.h index f1a5af12..4a6b34d5 100644 --- a/lib/config.h +++ b/lib/config.h @@ -1,7 +1,10 @@ /* * Sherlock -- Configuration-Dependent Definitions * - * (c) 1997--2002 Martin Mares + * (c) 1997--2004 Martin Mares + * + * This software may be freely distributed and used according to the terms + * of the GNU Lesser General Public License. */ #ifndef _SHERLOCK_CONFIG_H @@ -11,9 +14,13 @@ #include "lib/autoconf.h" +#ifdef CONFIG_MAX_CONTEXTS +#define CONFIG_CONTEXTS +#endif + /* Version */ -#define SHER_VER "2.2a" SHER_SUFFIX +#define SHER_VER "3.3" SHERLOCK_VERSION_SUFFIX /* Paths */ @@ -41,13 +48,9 @@ typedef unsigned int sh_time_t; /* Timestamp */ typedef u32 oid_t; /* Object ID */ -/* Custom stuff */ - -#include "lib/custom.h" - /* 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 @@ -57,6 +60,8 @@ typedef s64 sh_off_t; #define bputp(f,l) bputq(f,l) #define GET_O(p) GET_U40(p) #define GET_P(p) GET_U64(p) +#define PUT_O(p,x) PUT_U40(p,x) +#define PUT_P(p,x) PUT_U64(p,x) #else typedef s32 sh_off_t; #define BYTES_PER_O 4 @@ -67,6 +72,8 @@ typedef s32 sh_off_t; #define bputp(f,l) bputl(f,l) #define GET_O(p) GET_U32(p) #define GET_P(p) GET_U32(p) +#define PUT_O(p,x) PUT_U32(p,x) +#define PUT_P(p,x) PUT_U32(p,x) #endif /* Misc */ @@ -79,6 +86,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.