constification
[exim.git] / src / src / functions.h
index ac4ff3b637ba8657df5d557d25c1091c139176b2..c03f88304017304c7841df59ead9fdb6979466d8 100644 (file)
@@ -85,7 +85,7 @@ extern void    tls_watch_invalidate(void);
 #endif
 extern int     tls_write(void *, const uschar *, size_t, BOOL);
 extern uschar *tls_validate_require_cipher(void);
-extern void    tls_version_report(FILE *);
+extern gstring *tls_version_report(gstring *);
 
 # ifdef SUPPORT_DANE
 extern int     tlsa_lookup(const host_item *, dns_answer *, BOOL);
@@ -186,14 +186,17 @@ extern int     dcc_process(uschar **);
 #endif
 
 extern void    debug_logging_activate(uschar *, uschar *);
-extern void    debug_logging_stop(void);
+extern void    debug_logging_stop(BOOL);
 extern void    debug_print_argv(const uschar **);
 extern void    debug_print_ids(uschar *);
 extern void    debug_printf_indent(const char *, ...) PRINTF_FUNCTION(1,2);
 extern void    debug_print_string(uschar *);
 extern void    debug_print_tree(const char *, tree_node *);
 extern void    debug_vprintf(int, const char *, va_list);
+extern void    debug_pretrigger_setup(const uschar *);
+extern void    debug_pretrigger_discard(void);
 extern void    debug_print_socket(int);
+extern void    debug_trigger_fire(void);
 
 extern void    decode_bits(unsigned int *, size_t, int *,
                   uschar *, bit_table *, int, uschar *, int);
@@ -245,7 +248,7 @@ extern const uschar * exim_errstr(int);
 extern void    exim_exit(int) NORETURN;
 extern void    exim_gettime(struct timeval *);
 extern void    exim_nullstd(void);
-extern void    exim_setugid(uid_t, gid_t, BOOL, uschar *);
+extern void    exim_setugid(uid_t, gid_t, BOOL, const uschar *);
 extern void    exim_underbar_exit(int) NORETURN;
 extern void    exim_wait_tick(struct timeval *, int);
 extern int     exp_bool(address_item *addr,
@@ -264,7 +267,7 @@ extern void    modify_variable(uschar *, void *);
 
 extern BOOL    fd_ready(int, time_t);
 
-extern int     filter_interpret(uschar *, int, address_item **, uschar **);
+extern int     filter_interpret(const uschar *, int, address_item **, uschar **);
 extern BOOL    filter_personal(string_item *, BOOL);
 extern BOOL    filter_runtest(int, uschar *, BOOL, BOOL);
 extern BOOL    filter_system_interpret(address_item **, uschar **);
@@ -375,7 +378,7 @@ extern int     open_cutthrough_connection( address_item * addr );
 extern uschar *parse_extract_address(const uschar *, uschar **, int *, int *, int *,
                  BOOL);
 extern int     parse_forward_list(const uschar *, int, address_item **, uschar **,
-                 const uschar *, uschar *, error_block **);
+                 const uschar *, const uschar *, error_block **);
 extern uschar *parse_find_address_end(const uschar *, BOOL);
 extern const uschar *parse_find_at(const uschar *);
 extern const uschar *parse_fix_phrase(const uschar *, int);
@@ -402,9 +405,9 @@ extern void    queue_run(uschar *, uschar *, BOOL);
 
 extern int     random_number(int);
 extern const uschar *rc_to_string(int);
-extern int     rda_interpret(redirect_block *, int, uschar *, uschar *,
-                 uschar *, uschar *, uschar *, ugid_block *, address_item **,
-                 uschar **, error_block **, int *, uschar *);
+extern int     rda_interpret(redirect_block *, int, const uschar *, const uschar *,
+                 const uschar *, const uschar *, const uschar *, const ugid_block *, address_item **,
+                 uschar **, error_block **, int *, const uschar *);
 extern int     rda_is_filter(const uschar *);
 extern BOOL    readconf_depends(driver_instance *, uschar *);
 extern void    readconf_driver_init(uschar *, driver_instance **,
@@ -475,8 +478,9 @@ extern void    set_process_info(const char *, ...) PRINTF_FUNCTION(1,2);
 extern void    sha1_end(hctx *, const uschar *, int, uschar *);
 extern void    sha1_mid(hctx *, const uschar *);
 extern void    sha1_start(hctx *);
-extern int     sieve_interpret(uschar *, int, uschar *, uschar *, uschar *,
-                 uschar *, address_item **, uschar **);
+extern int     sieve_interpret(const uschar *, int, const uschar *,
+                const uschar *, const uschar *, const uschar *,
+                address_item **, uschar **);
 extern void    sigalrm_handler(int);
 extern void    smtp_closedown(uschar *);
 extern void    smtp_command_timeout_exit(void) NORETURN;
@@ -586,6 +590,7 @@ extern uschar *string_nextinlist_trc(const uschar **listptr, int *separator, usc
 extern int     strcmpic(const uschar *, const uschar *);
 extern int     strncmpic(const uschar *, const uschar *, int);
 extern uschar *strstric(uschar *, uschar *, BOOL);
+extern const uschar *strstric_c(const uschar *, const uschar *, BOOL);
 
 extern int     test_harness_fudged_queue_time(int);
 extern void    tcp_init(void);
@@ -629,7 +634,7 @@ extern void    tree_walk(tree_node *, void (*)(uschar*, uschar*, void*), void *)
 extern void    unspool_mbox(void);
 #endif
 #ifdef SUPPORT_I18N
-extern void    utf8_version_report(FILE *);
+extern gstring *utf8_version_report(gstring *);
 #endif
 
 extern int     verify_address(address_item *, FILE *, int, int, int, int,
@@ -900,7 +905,7 @@ static inline gstring *
 string_get_tainted_trc(unsigned size, BOOL tainted, const char * func, unsigned line)
 {
 gstring * g = store_get_3(sizeof(gstring) + size, tainted, func, line);
-g->size = size;
+g->size = size;                /*XXX would be good if we could see the actual alloc size */
 g->ptr = 0;
 g->s = US(g + 1);
 return g;