X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fdatabase.h;h=88129b49d423e4d09ac725fb4b5d5c87f17877f8;hb=66f09fdd7c3f58e13ed01431dd5148302327ca6e;hp=c20144690b3726db6bf05bfed4e3d40164840b32;hpb=cf9c53601a64b4198eb3c385df0d61f4722939d9;p=citadel.git diff --git a/citadel/database.h b/citadel/database.h index c20144690..88129b49d 100644 --- a/citadel/database.h +++ b/citadel/database.h @@ -1,4 +1,14 @@ -/* $Id$ */ +/* + * Copyright (c) 1987-2012 by the citadel.org team + * + * This program is open source software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ #ifndef DATABASE_H #define DATABASE_H @@ -6,9 +16,9 @@ void open_databases (void); void close_databases (void); -int cdb_store (int cdb, void *key, int keylen, void *data, int datalen); +int cdb_store (int cdb, const void *key, int keylen, void *data, int datalen); int cdb_delete (int cdb, void *key, int keylen); -struct cdbdata *cdb_fetch (int cdb, void *key, int keylen); +struct cdbdata *cdb_fetch (int cdb, const void *key, int keylen); void cdb_free (struct cdbdata *cdb); void cdb_rewind (int cdb); struct cdbdata *cdb_next_item (int cdb); @@ -41,5 +51,21 @@ struct CtdlCompressHeader { size_t compressed_len; }; +typedef enum __eCheckType { + eCheckExist, + eCheckUpdate, + eUpdate, + eWrite +}eCheckType; + +time_t CheckIfAlreadySeen(const char *Facility, + StrBuf *guid, + time_t now, + time_t antiexpire, + eCheckType cType, + long ccid, + long ioid); + + #endif /* DATABASE_H */