-/* $Cambridge: exim/src/src/local_scan.h,v 1.13 2009/11/16 19:50:37 nm4 Exp $ */
-
/*************************************************
* Exim - an Internet mail transport agent *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 2009 */
+/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
/* This file is the header that is the only Exim header to be included in the
each time a new feature is added (in a way that doesn't break backward
compatibility). */
-#define LOCAL_SCAN_ABI_VERSION_MAJOR 1
-#define LOCAL_SCAN_ABI_VERSION_MINOR 1
+#define LOCAL_SCAN_ABI_VERSION_MAJOR 2
+#define LOCAL_SCAN_ABI_VERSION_MINOR 0
#define LOCAL_SCAN_ABI_VERSION \
LOCAL_SCAN_ABI_VERSION_MAJOR.LOCAL_SCAN_ABI_VERSION_MINOR
/* Entries in lists options are in this form. */
typedef struct {
- char *name;
- int type;
- void *value;
+ const char *name; /* should have been uschar but too late now */
+ int type;
+ void *value;
} optionlist;
/*Structure for holding information about an envelope address. The errors_to
uschar *address; /* the recipient address */
int pno; /* parent number for "one_time" alias, or -1 */
uschar *errors_to; /* the errors_to address or NULL */
+ uschar *orcpt; /* DSN orcpt */
+ int dsn_flags; /* DSN flags */
#ifdef EXPERIMENTAL_BRIGHTMAIL
uschar *bmi_optin;
#endif
extern pid_t child_open(uschar **, uschar **, int, int *, int *, BOOL);
extern pid_t child_open_exim(int *);
extern pid_t child_open_exim2(int *, uschar *, uschar *);
-extern void debug_printf(char *, ...) PRINTF_FUNCTION(1,2);
+extern void debug_printf(const char *, ...) PRINTF_FUNCTION(1,2);
extern uschar *expand_string(uschar *);
-extern void header_add(int, char *, ...);
-extern void header_add_at_position(BOOL, uschar *, BOOL, int, char *, ...);
-extern void header_remove(int, uschar *);
-extern BOOL header_testname(header_line *, uschar *, int, BOOL);
-extern BOOL header_testname_incomplete(header_line *, uschar *, int, BOOL);
-extern void log_write(unsigned int, int, char *format, ...);
+extern void header_add(int, const char *, ...);
+extern void header_add_at_position(BOOL, uschar *, BOOL, int, const char *, ...);
+extern void header_remove(int, const uschar *);
+extern BOOL header_testname(header_line *, const uschar *, int, BOOL);
+extern BOOL header_testname_incomplete(header_line *, const uschar *, int, BOOL);
+extern void log_write(unsigned int, int, const char *format, ...) PRINTF_FUNCTION(3,4);
extern int lss_b64decode(uschar *, uschar **);
extern uschar *lss_b64encode(uschar *, int);
extern int lss_match_domain(uschar *, uschar *);
extern BOOL receive_remove_recipient(uschar *);
extern uschar *rfc2047_decode(uschar *, BOOL, uschar *, int, int *, uschar **);
extern int smtp_fflush(void);
-extern void smtp_printf(char *, ...) PRINTF_FUNCTION(1,2);
-extern void smtp_vprintf(char *, va_list);
-extern uschar *string_copy(uschar *);
-extern uschar *string_copyn(uschar *, int);
-extern uschar *string_sprintf(char *, ...);
+extern void smtp_printf(const char *, BOOL, ...) PRINTF_FUNCTION(1,3);
+extern void smtp_vprintf(const char *, BOOL, va_list);
+extern uschar *string_copy(const uschar *);
+extern uschar *string_copyn(const uschar *, int);
+extern uschar *string_sprintf(const char *, ...) ALMOST_PRINTF(1,2);
/* End of local_scan.h */