]> git.deb.at Git - pkg/abook.git/blob - filter.h
convert (1/1): introduced prototypes for per-item filtering functions.
[pkg/abook.git] / filter.h
1 #ifndef _FILTER_H
2 #define _FILTER_H
3
4 #include "database.h"
5
6 #define         FILTNAME_LEN    8
7
8
9 struct abook_output_filter {
10         char filtname[FILTNAME_LEN];
11         char *desc;
12         int (*func) (FILE *handle, struct db_enumerator e);
13 };
14
15 struct abook_output_item_filter {
16         char filtname[FILTNAME_LEN];
17         char *desc;
18         void (*func) (FILE *handle, int item);
19 };
20
21 struct abook_input_filter {
22         char filtname[FILTNAME_LEN];
23         char *desc;
24         int (*func) (FILE *handle);
25 };
26
27
28 int             import_database();
29 int             import_file(char filtname[FILTNAME_LEN], char *filename);
30
31 int             export_database();
32 int             export_file(char filtname[FILTNAME_LEN], char *filename);
33
34 struct abook_output_item_filter
35                 select_output_item_filter(char filtname[FILTNAME_LEN]);
36
37 void            e_write_item(FILE *out, int item, void (*func) (FILE *in, int item));
38
39 int             fexport(char filtname[FILTNAME_LEN], FILE *handle,
40                 int enum_mode);
41
42 void            print_filters();
43
44 #endif