]> git.deb.at Git - pkg/abook.git/blobdiff - filter.h
reformat changelog entry
[pkg/abook.git] / filter.h
index 5fa1f5ea53353750b8a0d76e13ae3db70f44d65f..8b5513d4f9e2744983b5e1064a7631e83113df01 100644 (file)
--- a/filter.h
+++ b/filter.h
@@ -3,9 +3,24 @@
 
 #include "database.h"
 
-#define                FILTNAME_LEN    6
+#define                FILTNAME_LEN    8
+#define                FORMAT_STRING_LEN       512
+#define                FORMAT_STRING_MAX_FIELDS        16
 
-struct abook_filter {
+
+struct abook_output_filter {
+       char filtname[FILTNAME_LEN];
+       char *desc;
+       int (*func) (FILE *handle, struct db_enumerator e);
+};
+
+struct abook_output_item_filter {
+       char filtname[FILTNAME_LEN];
+       char *desc;
+       void (*func) (FILE *handle, int item);
+};
+
+struct abook_input_filter {
        char filtname[FILTNAME_LEN];
        char *desc;
        int (*func) (FILE *handle);
@@ -13,11 +28,22 @@ struct abook_filter {
 
 
 int            import_database();
-int             import(char filtname[FILTNAME_LEN], char *filename);
+int             import_file(char filtname[FILTNAME_LEN], char *filename);
 
 int            export_database();
-int             export(char filtname[FILTNAME_LEN], char *filename);
-int            fexport(char filtname[FILTNAME_LEN], FILE *handle);
+int             export_file(char filtname[FILTNAME_LEN], char *filename);
+
+struct abook_output_item_filter
+               select_output_item_filter(char filtname[FILTNAME_LEN]);
+
+void           e_write_item(FILE *out, int item, void (*func) (FILE *in, int item));
+void           muttq_print_item(FILE *file, int item);
+
+void           parse_custom_format(char *s, char *fmt_string, enum field_types *ft);
+void           custom_print_item(FILE *out, int item);
+
+int            fexport(char filtname[FILTNAME_LEN], FILE *handle,
+               int enum_mode);
 
 void           print_filters();