TFO: use enum for client status
[exim.git] / src / src / structs.h
index 9ee3dba8d7b25672f24cc71ff805832d70990177..1ac455ca5789624568e70173a379c2d3ef6a8cc7 100644 (file)
@@ -65,6 +65,10 @@ typedef enum {       CHUNKING_NOT_OFFERED = -1,
                CHUNKING_ACTIVE,
                CHUNKING_LAST} chunking_state_t;
 
+typedef enum { TFO_NOT_USED = 0,
+               TFO_ATTEMPTED,
+               TFO_USED } tfo_state_t;
+
 /* Structure for holding information about a host for use mainly by routers,
 but also used when checking lists of hosts and when transporting. Looking up
 host addresses is done using this structure. */
@@ -420,8 +424,7 @@ typedef struct auth_info {
     uschar *);                    /* rest of AUTH command */
   int (*clientcode)(              /* client function */
     struct auth_instance *,
-    struct smtp_inblock *,        /* socket and input buffer */
-    struct smtp_outblock *,       /* socket and output buffer */
+    void *,                      /* smtp conn, with socket, output and input buffers */
     int,                          /* command timeout */
     uschar *,                     /* buffer for reading response */
     int);                         /* sizeof buffer */
@@ -614,7 +617,8 @@ typedef struct address_item {
     BOOL af_pass_message:1;            /* pass message in bounces */
     BOOL af_bad_reply:1;               /* filter could not generate autoreply */
     BOOL af_tcp_fastopen_conn:1;       /* delivery connection used TCP Fast Open */
-    BOOL af_tcp_fastopen:1;            /* delivery usefuly used TCP Fast Open */
+    BOOL af_tcp_fastopen:1;            /* delivery usefully used TCP Fast Open */
+    BOOL af_pipelining:1;              /* delivery used (traditional) pipelining */
 #ifndef DISABLE_PRDR
     BOOL af_prdr_used:1;               /* delivery used SMTP PRDR */
 #endif