X-Git-Url: https://git.deb.at/w?p=pkg%2Fabook.git;a=blobdiff_plain;f=filter.h;h=8b5513d4f9e2744983b5e1064a7631e83113df01;hp=6957b0405b32d1b6957f54d0038ad6a781a3bcc7;hb=aa2211628a295b85990dbfd8af031d152b583f07;hpb=c5d8ef5198f2bfd02f678b7a709b6538ef83cd44 diff --git a/filter.h b/filter.h index 6957b04..8b5513d 100644 --- a/filter.h +++ b/filter.h @@ -4,6 +4,8 @@ #include "database.h" #define FILTNAME_LEN 8 +#define FORMAT_STRING_LEN 512 +#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);