0
|
1 /*
|
|
2 group.h
|
|
3
|
|
4 Groups database
|
|
5
|
|
6 $Id: group.h 3 2000-01-04 11:35:42Z enz $
|
|
7 */
|
|
8
|
|
9 #ifndef GRP_H
|
|
10 #define GRP_H
|
|
11
|
|
12 #include <time.h>
|
|
13 #include "common.h"
|
|
14
|
|
15 /* open group database */
|
|
16 Bool
|
|
17 Grp_open( void );
|
|
18
|
|
19 /* close group database */
|
|
20 void
|
|
21 Grp_close( void );
|
|
22
|
|
23 /* does group exist? */
|
|
24 Bool
|
|
25 Grp_exists( const char *name );
|
|
26
|
|
27 /* create new group and save it in database */
|
|
28 void
|
|
29 Grp_create( const char *name );
|
|
30
|
|
31 /* Get group description */
|
|
32 const char *
|
|
33 Grp_dsc( const char *name );
|
|
34
|
|
35 /* Get server the group resides on */
|
|
36 const char *
|
|
37 Grp_serv( const char *name );
|
|
38
|
|
39 /*
|
|
40 Get article number of the first article in the group
|
|
41 This number is a hint only, it is independent of the
|
|
42 real articles in content.c
|
|
43 */
|
|
44 int
|
|
45 Grp_first( const char *name );
|
|
46
|
|
47 /*
|
|
48 Get article number of the last article in the group
|
|
49 This number is a hint only, it is independent of the
|
|
50 real articles in content.c
|
|
51 */
|
|
52 int
|
|
53 Grp_last( const char *name );
|
|
54
|
|
55 int
|
|
56 Grp_lastAccess( const char *name );
|
|
57
|
|
58 int
|
|
59 Grp_rmtNext( const char *name );
|
|
60
|
|
61 time_t
|
|
62 Grp_created( const char *name );
|
|
63
|
|
64 /* Replace group's description (only if value != ""). */
|
|
65 void
|
|
66 Grp_setDsc( const char *name, const char *value );
|
|
67
|
|
68 void
|
|
69 Grp_setServ( const char *name, const char *value );
|
|
70
|
|
71 void
|
|
72 Grp_setCreated( const char *name, time_t value );
|
|
73
|
|
74 void
|
|
75 Grp_setRmtNext( const char *name, int value );
|
|
76
|
|
77 void
|
|
78 Grp_setLastAccess( const char *name, int value );
|
|
79
|
|
80 void
|
|
81 Grp_setFirstLast( const char *name, int first, int last );
|
|
82
|
|
83 /* Begin iterating trough the names of all groups. Store name of first
|
|
84 group (or NULL if there aren't any) in name. Returns whether there are
|
|
85 any groups. */
|
|
86 Bool
|
|
87 Grp_firstGrp( const char **name );
|
|
88
|
|
89 /* Continue iterating trough the names of all groups. Store name of next
|
|
90 group (or NULL if there aren't any more) in name. Returns TRUE on
|
|
91 success, FALSE when there are no more groups. */
|
|
92 Bool
|
|
93 Grp_nextGrp( const char **name );
|
|
94
|
|
95 #endif
|