Fix smtp transport response to close after all rcpt fates determined. Bug 3059
[exim.git] / src / exim_monitor / em_hdr.h
index 93d961142426c9179f5aa5bb5873c754d0865048..f79686a8062380ec38a819c1a4551248aa8bba34 100644 (file)
@@ -3,7 +3,9 @@
 *************************************************/
 
 /* Copyright (c) University of Cambridge 1995 - 2009 */
 *************************************************/
 
 /* Copyright (c) University of Cambridge 1995 - 2009 */
+/* Copyright (c) The Exim Maintainers 2021 - 2022 */
 /* See the file NOTICE for conditions of use and distribution. */
 /* See the file NOTICE for conditions of use and distribution. */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 
 
 /* This is the general header file for all the modules that comprise
 
 
 /* This is the general header file for all the modules that comprise
@@ -85,24 +87,26 @@ anything. */
 
 /* Regular expression include */
 
 
 /* Regular expression include */
 
-#include <pcre.h>
+#define PCRE2_CODE_UNIT_WIDTH 8
+#include <pcre2.h>
 
 
-/* Includes from the main source of Exim. We need to have MAXPACKET defined for
-the benefit of structs.h. One of these days I should tidy up this interface so
-that this kind of kludge isn't needed. */
+/* Includes from the main source of Exim.  One of these days I should tidy up
+this interface so that this kind of kludge isn't needed. */
 
 
-#define MAXPACKET 1024
-
-#include "config.h"
-#include "mytypes.h"
-#include "macros.h"
+#ifndef NS_MAXMSG
+# define NS_MAXMSG 65535
+#endif
+typedef void * hctx;
 
 #include "local_scan.h"
 
 #include "local_scan.h"
+#include "macros.h"
 #include "structs.h"
 #include "structs.h"
+#include "blob.h"
 #include "globals.h"
 #include "globals.h"
+#include "hintsdb.h"
+#include "hintsdb_structs.h"
 #include "functions.h"
 #include "osfunctions.h"
 #include "functions.h"
 #include "osfunctions.h"
-#include "store.h"
 
 /* The sys/resource.h header on SunOS 4 causes trouble with the gcc
 compiler. Just stuff the bit we want in here; pragmatic easy way out. */
 
 /* The sys/resource.h header on SunOS 4 causes trouble with the gcc
 compiler. Just stuff the bit we want in here; pragmatic easy way out. */
@@ -186,7 +190,7 @@ typedef struct queue_item {
   int  update_time;
   int  size;
   uschar *sender;
   int  update_time;
   int  size;
   uschar *sender;
-  uschar name[17];
+  uschar name[MESSAGE_ID_LENGTH + 1];
   uschar seen;
   uschar frozen;
   uschar dir_char;
   uschar seen;
   uschar frozen;
   uschar dir_char;
@@ -273,7 +277,7 @@ extern uschar *queue_stripchart_name; /* sic */
 extern int     queue_update;        /* update interval */
 extern int     queue_width;         /* width of queue window */
 
 extern int     queue_update;        /* update interval */
 extern int     queue_width;         /* width of queue window */
 
-extern pcre   *yyyymmdd_regex;    /* for matching yyyy-mm-dd */
+extern pcre2_code   *yyyymmdd_regex;    /* for matching yyyy-mm-dd */
 
 extern uschar *size_stripchart;     /* path for size monitoring */
 extern uschar *size_stripchart_name; /* name for size stripchart */
 
 extern uschar *size_stripchart;     /* path for size monitoring */
 extern uschar *size_stripchart_name; /* name for size stripchart */
@@ -282,7 +286,7 @@ extern int     spool_is_split;      /* True if detected split spool */
 extern int     start_small;         /* True to start with small window */
 extern int     stripchart_height;   /* height of stripcharts */
 extern int     stripchart_number;   /* number of stripcharts */
 extern int     start_small;         /* True to start with small window */
 extern int     stripchart_height;   /* height of stripcharts */
 extern int     stripchart_number;   /* number of stripcharts */
-extern pcre  **stripchart_regex;  /* vector of regexps */
+extern pcre2_code  **stripchart_regex;  /* vector of regexps */
 extern uschar **stripchart_title;    /* vector of titles */
 extern int    *stripchart_total;    /* vector of accumulating values */
 extern int     stripchart_update;   /* update interval */
 extern uschar **stripchart_title;    /* vector of titles */
 extern int    *stripchart_total;    /* vector of accumulating values */
 extern int     stripchart_update;   /* update interval */
@@ -305,7 +309,7 @@ extern uschar *copystring(uschar *);
 extern void    create_dialog(uschar *, uschar *);
 extern void    create_stripchart(Widget, uschar *);
 extern void    debug(char *, ...);
 extern void    create_dialog(uschar *, uschar *);
 extern void    create_stripchart(Widget, uschar *);
 extern void    debug(char *, ...);
-extern dest_item *find_dest(queue_item *, uschar *, int, BOOL);
+extern dest_item *find_dest(queue_item *, const uschar *, int, BOOL);
 extern queue_item *find_queue(uschar *, int, int);
 extern void    init(int, uschar **);
 extern void    menu_create(Widget, XEvent *, String *, Cardinal *);
 extern queue_item *find_queue(uschar *, int, int);
 extern void    init(int, uschar **);
 extern void    menu_create(Widget, XEvent *, String *, Cardinal *);