chiark / gitweb /
Fix memory management of argument to open_input_file
[inn-innduct.git] / history / hisv6 / hisv6.h
1 /* $Id: hisv6.h 4959 2001-07-25 12:23:32Z alexk $
2 **
3 ** Internal history API interface exposed to HISxxx
4 */
5
6 #ifndef HISV6_H
7 #define HISV6_H
8
9 struct token;
10 struct histopts;
11 struct history;
12
13 void *hisv6_open(const char *path, int flags, struct history *);
14
15 bool hisv6_close(void *);
16
17 bool hisv6_sync(void *);
18
19 bool hisv6_lookup(void *, const char *key, time_t *arrived,
20                   time_t *posted, time_t *expires, struct token *token);
21
22 bool hisv6_check(void *, const char *key);
23
24 bool hisv6_write(void *, const char *key, time_t arrived,
25                  time_t posted, time_t expires, const struct token *token);
26
27 bool hisv6_replace(void *, const char *key, time_t arrived,
28                  time_t posted, time_t expires, const struct token *token);
29
30 bool hisv6_expire(void *, const char *, const char *, bool,
31                   void *, time_t threshold,
32                   bool (*exists)(void *, time_t, time_t, time_t,
33                                  struct token *));
34
35 bool hisv6_walk(void *, const char *, void *,
36                 bool (*)(void *, time_t, time_t, time_t,
37                          const struct token *));
38
39 const char *hisv6_error(void *);
40
41 bool hisv6_remember(void *, const char *key, time_t arrived);
42
43 bool hisv6_ctl(void *, int, void *);
44
45 #endif