X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fstructs.h;h=474b855779b8725809fca9eb6a0285f9d58b9f54;hb=687cac44312c8adc6f999882b49f0705bcb8613c;hp=38b095f06a584e185f5d0ba1e072763f107dc8e2;hpb=82f90600647a5322e9e7b58fc127eb8be839165c;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/structs.h b/src/src/structs.h index 38b095f06..474b85577 100644 --- a/src/src/structs.h +++ b/src/src/structs.h @@ -230,12 +230,15 @@ typedef struct transport_info { #define tc_chunk_last BIT(1) /* annotate chunk SMTP cmd as LAST */ struct transport_context; -typedef int (*tpt_chunk_cmd_cb)(int fd, struct transport_context * tctx, - unsigned len, unsigned flags); +typedef int (*tpt_chunk_cmd_cb)(struct transport_context *, unsigned, unsigned); /* Structure for information about a delivery-in-progress */ typedef struct transport_context { + union { /* discriminated by option topt_output_string */ + int fd; /* file descriptor to write message to */ + uschar * msg; /* allocated string with written message */ + } u; transport_instance * tblock; /* transport */ struct address_item * addr; uschar * check_string; /* string replacement */ @@ -245,6 +248,10 @@ typedef struct transport_context { /* items below only used with option topt_use_bdat */ tpt_chunk_cmd_cb chunk_cb; /* per-datachunk callback */ void * smtp_context; + + /* items below only used with option topt_output_string */ + int msg_size; + int msg_ptr; } transport_ctx;