annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
1 /*
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
2 database.h
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
3
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
4 Article database.
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
5
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
6 $Id: database.h 3 2000-01-04 11:35:42Z enz $
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
7 */
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
8
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
9 #ifndef DB_H
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
10 #define DB_H
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
11
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
12 #include <time.h>
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
13 #include "common.h"
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
14 #include "dynamicstring.h"
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
15 #include "over.h"
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
16
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
17 /* Article status flags: */
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
18 #define DB_INTERESTING 0x01 /* Was article ever tried to read? */
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
19 #define DB_NOT_DOWNLOADED 0x02 /* Not fully downloaded */
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
20 #define DB_RETRIEVING_FAILED 0x04 /* Retrieving of article failed */
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
21
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
22 /* Open database for r/w. Locking must be done by the caller! */
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
23 Bool
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
24 Db_open( void );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
25
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
26 void
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
27 Db_close( void );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
28
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
29 Bool
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
30 Db_prepareEntry( const Over *ov, const char *grp, int numb );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
31
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
32 Bool
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
33 Db_storeArt( const char *msgId, const char *artTxt );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
34
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
35 void
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
36 Db_setStat( const char *msgId, int stat );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
37
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
38 void
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
39 Db_updateLastAccess( const char *msgId );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
40
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
41 /* Xref header line without hostname */
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
42 void
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
43 Db_setXref( const char *msgId, const char *xref );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
44
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
45 const char *
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
46 Db_header( const char *msgId );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
47
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
48 const char *
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
49 Db_body( const char *msgId );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
50
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
51 int
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
52 Db_stat( const char *msgId );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
53
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
54 /* Get last modification time of entry. Returns -1, if msgId non-existing. */
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
55 time_t
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
56 Db_lastAccess( const char *msgId );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
57
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
58 /* Value of references header line */
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
59 const char *
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
60 Db_ref( const char *msgId );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
61
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
62 /* Xref header line without hostname */
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
63 const char *
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
64 Db_xref( const char *msgId );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
65
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
66 Bool
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
67 Db_contains( const char *msgId );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
68
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
69 Bool
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
70 Db_first( const char** msgId );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
71
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
72 Bool
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
73 Db_next( const char** msgId );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
74
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
75 /* Expire all articles that have not been accessed for <days> */
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
76 Bool
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
77 Db_expire( unsigned int days );
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
78
04124a4423d4 [svn] Initial revision
enz
parents:
diff changeset
79 #endif