X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fdatabase.h;h=e7acb31fbd9b44398a930a4c4a12fa069c1780f0;hb=30a4090b04dff1084df3789efe78afd1e2bf6d90;hp=33f69154b3ceeca452bfb6e503649b917079e55a;hpb=ae083876e15398f57caf12922c8af150cd2c8a20;p=citadel.git diff --git a/citadel/database.h b/citadel/database.h index 33f69154b..e7acb31fb 100644 --- a/citadel/database.h +++ b/citadel/database.h @@ -1,20 +1,13 @@ -/* $Id$ - * - * Copyright (c) 1987-2009 by the citadel.org team +/* + * Copyright (c) 1987-2012 by the citadel.org team * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. + * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef DATABASE_H @@ -40,6 +33,8 @@ void *checkpoint_thread(void *arg); void cdb_chmod_data(void); void cdb_checkpoint(void); void check_handles(void *arg); +void cdb_cull_logs(void); + /* * Database records beginning with this magic number are assumed to @@ -58,5 +53,21 @@ struct CtdlCompressHeader { size_t compressed_len; }; +typedef enum __eCheckType { + eCheckExist, /* look up the item, return the timestamp if its there, 0 if not. */ + eCheckUpdate, /* if it exists, refresh in db timestamp. return the timstamp if its there, 0 if not. */ + eUpdate, /* insert/update the new value, return the old if its there, 0 if not. */ + eWrite /* write this to DB, unconditional. */ +}eCheckType; + +time_t CheckIfAlreadySeen(const char *Facility, + StrBuf *guid, + time_t now, + time_t antiexpire, + eCheckType cType, + long ccid, + long ioid); + + #endif /* DATABASE_H */