X-Git-Url: https://git.deb.at/w?p=pkg%2Fabook.git;a=blobdiff_plain;f=filter.h;h=548bf7ae87b08bfb08cff637e2ceb78cc5634483;hp=d5fb1d2968cd7a50f0dd85214e5e9813eb6a87db;hb=69a912c0db0ac135fff332db4f0b05ad9ed2eec6;hpb=3cea3c8809447c5d6658671b78b9af7137fd9b0d diff --git a/filter.h b/filter.h index d5fb1d2..548bf7a 100644 --- 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);