git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Transform string_append_listele{,_n}() to proper expanding-string triplet interface
[exim.git]
/
src
/
src
/
structs.h
diff --git
a/src/src/structs.h
b/src/src/structs.h
index d9d37f1c028c41871d43293d130b38658df82865..474b855779b8725809fca9eb6a0285f9d58b9f54 100644
(file)
--- 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;
#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 {
/* 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 */
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_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;
} transport_ctx;
@@
-625,7
+632,7
@@
typedef struct address_item {
/* (may need to hold a timestamp) */
short int basic_errno; /* status after failure */
/* (may need to hold a timestamp) */
short int basic_errno; /* status after failure */
-
short int child_count;
/* number of child addresses */
+
unsigned short child_count;
/* number of child addresses */
short int return_file; /* fileno of return data file */
short int special_action; /* ( used when when deferred or failed */
/* ( also */
short int return_file; /* fileno of return data file */
short int special_action; /* ( used when when deferred or failed */
/* ( also */