X-Git-Url: https://git.deb.at/?p=pkg%2Fabook.git;a=blobdiff_plain;f=filter.h;h=548bf7ae87b08bfb08cff637e2ceb78cc5634483;hp=6957b0405b32d1b6957f54d0038ad6a781a3bcc7;hb=a2d4ea58437d93297c7f7e2e8efd4d48297ca46a;hpb=265e118d7c916fd33d4bfbd874bcf69f7bf8ff59 diff --git a/filter.h b/filter.h index 6957b04..548bf7a 100644 --- a/filter.h +++ b/filter.h @@ -4,6 +4,8 @@ #include "database.h" #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);