]> git.deb.at Git - pkg/abook.git/blobdiff - filter.h
Merge remote-tracking branch 'upstream/master' into upstream
[pkg/abook.git] / filter.h
index d5fb1d2968cd7a50f0dd85214e5e9813eb6a87db..548bf7ae87b08bfb08cff637e2ceb78cc5634483 100644 (file)
--- a/filter.h
+++ b/filter.h
@@ -3,7 +3,9 @@
 
 #include "database.h"
 
-#define                FILTNAME_LEN    7
+#define                FILTNAME_LEN    8
+#define                FORMAT_STRING_LEN       128
+#define                FORMAT_STRING_MAX_FIELDS        16
 
 
 struct abook_output_filter {
@@ -12,6 +14,12 @@ struct abook_output_filter {
        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;
@@ -24,6 +32,16 @@ int             import_file(char filtname[FILTNAME_LEN], char *filename);
 
 int            export_database();
 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);