X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fconfig.h;h=9b867f7b465bdbf82c4ee9daca9315a21702ed31;hb=a7ae6132558a824c049ff55abb741c8ed1162aea;hp=62ef1af356452fe52374ae3e6a47bc91f3feab24;hpb=9d5027b958e0ed7d2fa2c804fd255d686e8da5a7;p=libucw.git diff --git a/lib/config.h b/lib/config.h index 62ef1af3..9b867f7b 100644 --- a/lib/config.h +++ b/lib/config.h @@ -1,12 +1,25 @@ /* * Sherlock Library -- Configuration-Dependent Definitions * - * (c) 1997 Martin Mares, + * (c) 1997--2000 Martin Mares */ +#ifndef _SHERLOCK_CONFIG_H +#define _SHERLOCK_CONFIG_H + /* Version */ -#define SHER_VER "0.1" +#define SHER_VER "2.0-alpha" + +/* Features */ + +/* FIXME: Prune */ +#define SHERLOCK_CONFIG_REF_WEIGHTS /* Weighed references */ +#define SHERLOCK_CONFIG_LARGE_DB /* Support for DB files >4GB */ +#define SHERLOCK_CONFIG_LFS /* Large files on 32-bit systems */ +#undef SHERLOCK_CONFIG_LFS_LIBC /* LFS supported directly by libc */ +#undef SHERLOCK_CONFIG_LONG_TAGS /* Section tags are 32-bit */ +#undef SHERLOCK_CONFIG_SPLIT_GATHERER /* Don't merge documents from different sections */ /* Types */ @@ -14,9 +27,34 @@ typedef unsigned char byte; /* exactly 8 bits, unsigned */ typedef signed char sbyte; /* exactly 8 bits, signed */ typedef unsigned short word; /* exactly 16 bits, unsigned */ typedef short sword; /* exactly 16 bits, signed */ -typedef unsigned int ulg; /* exactly 32 bits, unsigned */ -typedef int slg; /* exactly 32 bits, signed */ +typedef unsigned short u16; /* exactly 16 bits, unsigned */ +typedef short s16; /* exactly 16 bits, signed */ +typedef unsigned int u32; /* exactly 32 bits, unsigned */ +typedef int s32; /* exactly 32 bits, signed */ typedef unsigned int uns; /* at least 32 bits */ +typedef unsigned long long int u64; /* exactly 64 bits, unsigned */ +typedef long long int s64; /* exactly 64 bits, signed */ +typedef unsigned long addr_int_t; /* Both integer and address */ + +#ifndef NULL +#define NULL (void *)0 +#endif + +typedef u32 oid_t; /* Object ID */ + +#ifdef SHERLOCK_CONFIG_LFS /* off_t as passed to file functions */ +typedef s64 sh_off_t; +#define BYTES_PER_FILE_POINTER 5 +#else +typedef int sh_off_t; +#define BYTES_PER_FILE_POINTER 4 +#endif + +#ifdef SHERLOCK_CONFIG_LARGE_DB /* off_t as present in database files */ +typedef s64 sh_foff_t; +#else +typedef s32 sh_foff_t; +#endif /* CPU characteristics */ @@ -32,14 +70,14 @@ typedef unsigned int uns; /* at least 32 bits */ #undef inline #define NONRET __attribute__((noreturn)) +#define UNUSED __attribute__((unused)) #else #define inline #define NONRET +#define UNUSED #endif -#ifdef linux -#define HAVE_FFS #endif