view database.h @ 15:54f08929b195 noffle

[svn] Bring up to date
author enz
date Sat, 29 Apr 2000 13:22:25 +0100
parents 04124a4423d4
children 526a4c34ee2e
line wrap: on
line source

/*
  database.h

  Article database.

  $Id: database.h 3 2000-01-04 11:35:42Z enz $
*/

#ifndef DB_H
#define DB_H

#include <time.h>
#include "common.h"
#include "dynamicstring.h"
#include "over.h"

/* Article status flags: */
#define DB_INTERESTING       0x01  /* Was article ever tried to read? */
#define DB_NOT_DOWNLOADED    0x02  /* Not fully downloaded */
#define DB_RETRIEVING_FAILED 0x04  /* Retrieving of article failed */

/* Open database for r/w. Locking must be done by the caller! */
Bool
Db_open( void );

void
Db_close( void );

Bool
Db_prepareEntry( const Over *ov, const char *grp, int numb );

Bool
Db_storeArt( const char *msgId, const char *artTxt );

void
Db_setStat( const char *msgId, int stat );

void
Db_updateLastAccess( const char *msgId );

/* Xref header line without hostname */
void
Db_setXref( const char *msgId, const char *xref );

const char *
Db_header( const char *msgId );

const char *
Db_body( const char *msgId );

int
Db_stat( const char *msgId );

/* Get last modification time of entry. Returns -1, if msgId non-existing. */
time_t
Db_lastAccess( const char *msgId );

/* Value of references header line */
const char *
Db_ref( const char *msgId );

/* Xref header line without hostname */
const char *
Db_xref( const char *msgId );

Bool
Db_contains( const char *msgId );

Bool
Db_first( const char** msgId );

Bool
Db_next( const char** msgId );

/* Expire all articles that have not been accessed for <days> */
Bool
Db_expire( unsigned int days );

#endif