extern void log_close_all(void);
extern macro_item * macro_create(const uschar *, const uschar *, BOOL);
+extern macro_item * macro_search(const uschar *);
+extern macro_item * macro_search_largest_prefix(const uschar *);
+extern macro_item * macro_search_prefix(const uschar *);
+extern void macro_print(uschar *, uschar *, void *);
extern BOOL macro_read_assignment(uschar *);
extern uschar *macros_expand(int, int *, BOOL *);
extern void mainlog_close(void);
extern int malware(const uschar *, int);
extern int malware_in_file(uschar *);
extern void malware_init(void);
+extern void malware_show_supported(FILE *);
#endif
extern int match_address_list(const uschar *, BOOL, BOOL, const uschar **,
unsigned int *, int, int, const uschar **);
extern uschar *readconf_find_option(void *);
extern void readconf_main(BOOL);
extern void readconf_options_from_list(optionlist *, unsigned, const uschar *, uschar *);
-extern void readconf_print(uschar *, uschar *, BOOL);
+extern BOOL readconf_print(uschar *, uschar *, BOOL);
extern uschar *readconf_printtime(int);
extern uschar *readconf_readname(uschar *, int, uschar *);
extern int readconf_readtime(const uschar *, int, BOOL);
extern uschar *string_open_failed(int, const char *, ...) PRINTF_FUNCTION(2,3);
extern const uschar *string_printing2(const uschar *, BOOL);
extern uschar *string_split_message(uschar *);
+extern uschar *string_timediff(struct timeval *);
extern uschar *string_timesince(struct timeval *);
extern uschar *string_unprinting(uschar *);
#ifdef SUPPORT_I18N