summaryrefslogtreecommitdiffstats
path: root/contrib/sendmail/libmilter/docs/smfi_replacebody.html
blob: 91ac8822ec9a2f213590df936ecfd7dfcdf3bd40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<html>
<head><title>smfi_replacebody</title></head>
<body>
<!--
$Id: smfi_replacebody.html,v 1.13 2003/03/05 19:57:54 ca Exp $
-->
<h1>smfi_replacebody</h1>

<table border="0" cellspacing=4 cellpadding=4>
<!---------- Synopsis ----------->
<tr><th valign="top" align=left width=150>SYNOPSIS</th><td>
<pre>
#include &lt;libmilter/mfapi.h&gt;
int smfi_replacebody(
	SMFICTX *ctx,
	unsigned char *bodyp,
	int bodylen
);
</pre>
Replace message-body data.
</td></tr>

<!----------- Description ---------->
<tr><th valign="top" align=left>DESCRIPTION</th><td>
<table border="1" cellspacing=1 cellpadding=4>
<tr align="left" valign=top>
<th width="80">Called When</th>
<td>Called only from <a href="xxfi_eom.html">xxfi_eom</a>.  smfi_replacebody may be called more than once.</td>
</tr>
<tr align="left" valign=top>
<th width="80">Effects</th>
<td>smfi_replacebody replaces the body of the current message.  If called 
more than once, subsequent calls result in data being appended to the new 
body.
</td>
</tr>
</table>

<!----------- Arguments ---------->
<tr><th valign="top" align=left>ARGUMENTS</th><td>
    <table border="1" cellspacing=0>
    <tr bgcolor="#dddddd"><th>Argument</th><th>Description</th></tr>
    <tr valign="top"><td>ctx</td>
	<td>Opaque context structure.
	</td></tr>
    <tr valign="top"><td>bodyp</td>
	<td>A pointer to the start of the new body data, which does not have to be null-terminated.  If bodyp is NULL, it is treated as having length == 0.  Body data should be in CR/LF form.
	</td></tr>
    <tr valign="top"><td>bodylen</td>
	<td>The number of data bytes pointed to by bodyp.
	</td></tr>
    </table>
</td></tr>

<!----------- Return values ---------->
<tr>
<th valign="top" align=left>RETURN VALUES</th> 

<td>smfi_replacebody fails and returns MI_FAILURE if:
<ul>
    <li>bodyp == NULL and bodylen &gt; 0.
    <li>Changing the body in the current connection state is invalid.
    <li>A network error occurs.
    <li>SMFIF_CHGBODY was not set when <a href="smfi_register.html">smfi_register</a> was called.
</ul>
Otherwise, it will return MI_SUCCESS.
</td>
</tr>

<!----------- Notes ---------->
<tr align="left" valign=top>
<th>NOTES</th> 
<td>
<ul>
    <li>Since the message body may be very large, setting SMFIF_CHGBODY may significantly affect filter performance.
    <li>If a filter sets SMFIF_CHGBODY but does not call smfi_replacebody, the original body remains unchanged.
    <li>For smfi_replacebody, filter order is important.  <b>Later filters will see the new body contents created by earlier ones.</b>
</ul>
</td>
</tr>

</table>

<hr size="1">
<font size="-1">
Copyright (c) 2000-2001, 2003 Sendmail, Inc. and its suppliers.
All rights reserved.
<br>
By using this file, you agree to the terms and conditions set
forth in the LICENSE.
</font>
</body>
</html>
OpenPOWER on IntegriCloud