X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fdatabase.h;h=420fe6d1837841d82a0b5fcc09bb65a365da65ef;hb=cd9faaf30995ff7a8b4a6bbe5441e4c13388a37d;hp=2c5ada2874011275b2997b84de79fbc6587b6398;hpb=b16d5a9210bc26576da3fc6b990539bacd830b23;p=citadel.git diff --git a/citadel/database.h b/citadel/database.h index 2c5ada287..420fe6d18 100644 --- a/citadel/database.h +++ b/citadel/database.h @@ -15,3 +15,22 @@ void cdb_allocate_tsd(void); void cdb_free_tsd(void); void cdb_check_handles(void); void cdb_trunc(int cdb); + +/* + * Database records beginning with this magic number are assumed to + * be compressed. In the event that a database record actually begins with + * this magic number, we *must* compress it whether we want to or not, + * because the fetch function will try to uncompress it anyway. + * + * (No need to #ifdef this stuff; it compiles ok even if zlib is not present + * and doesn't declare anything so it won't bloat the code) + */ +#define COMPRESS_MAGIC 0xc0ffeeee + +struct CtdlCompressHeader { + int magic; + size_t uncompressed_len; + size_t compressed_len; +}; + +