summaryrefslogtreecommitdiffstats
path: root/contrib/sendmail/libmilter/docs/xxfi_body.html
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/sendmail/libmilter/docs/xxfi_body.html')
-rw-r--r--contrib/sendmail/libmilter/docs/xxfi_body.html132
1 files changed, 73 insertions, 59 deletions
diff --git a/contrib/sendmail/libmilter/docs/xxfi_body.html b/contrib/sendmail/libmilter/docs/xxfi_body.html
index 044e9ce..0a5f0f3 100644
--- a/contrib/sendmail/libmilter/docs/xxfi_body.html
+++ b/contrib/sendmail/libmilter/docs/xxfi_body.html
@@ -1,83 +1,97 @@
-<html>
-<head><title>xxfi_body</title></head>
-<body>
+<HTML>
+<HEAD><TITLE>xxfi_body</TITLE></HEAD>
+<BODY>
<!--
-$Id: xxfi_body.html,v 1.12 2003/03/05 19:57:55 ca Exp $
+$Id: xxfi_body.html,v 1.17 2007/03/26 20:12:46 ca Exp $
-->
-<h1>xxfi_body</h1>
+<H1>xxfi_body</H1>
-<table border="0" cellspacing=4 cellpadding=4>
+<TABLE border="0" cellspacing=4 cellpadding=4>
<!---------- Synopsis ----------->
-<tr><th valign="top" align=left width=150>SYNOPSIS</th><td>
-<pre>
+<TR><TH valign="top" align=left width=100>SYNOPSIS</TH><TD>
+<PRE>
#include &lt;libmilter/mfapi.h&gt;
sfsistat (*xxfi_body)(
- SMFICTX * ctx,
- unsigned char * bodyp,
+ SMFICTX *ctx,
+ unsigned char *bodyp,
size_t len
);
-</pre>
+</PRE>
Handle a piece of a message's body.
-</td></tr>
+</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>xxfi_body is called zero or more times between xxfi_eoh and xxfi_eom.</td>
-</tr>
-<tr align="left" valign=top>
-<th>Default Behavior</th>
-<td>Do nothing; return SMFIS_CONTINUE.</td>
-</tr>
-</table>
+<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>xxfi_body is called zero or more times between xxfi_eoh and xxfi_eom.</TD>
+</TR>
+<TR align="left" valign=top>
+<TH>Default Behavior</TH>
+<TD>Do nothing; return SMFIS_CONTINUE.</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>Pointer to the start of this block of body data. bodyp is not valid outside this call to xxfi_body.
- </td></tr>
- <tr valign="top"><td>len</td>
- <td>The amount of data pointed to by bodyp.
- </td></tr>
- </table>
-</td></tr>
+<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>Pointer to the start of this block of body data. bodyp is not valid outside this call to xxfi_body.
+ </TD></TR>
+ <TR valign="top"><TD>len</TD>
+ <TD>The amount of data pointed to by bodyp.
+ </TD></TR>
+ </TABLE>
+</TD></TR>
<!----------- Notes ---------->
-<tr>
-<th valign="top" align=left>NOTES</th>
-<td>
-<ul>
-<li>bodyp points to a sequence of bytes.
-It is <em>not</em> a C string (a sequence of characters that is terminated by '\0').
-Therefore, do not use the usual C string functions like strlen() on this byte block.
+<TR>
+<TH valign="top" align=left>NOTES</TH>
+<TD>
+<UL>
+<LI>bodyp points to a sequence of bytes.
+It is <EM>not</EM> a C string (a sequence of characters that is terminated by '\0').
+Therefore, do not use the usual C string functions like <CODE>strlen(3)</CODE>
+on this byte block.
Moreover, the byte sequence may contain '\0' characters inside the block.
Hence even if a trailing '\0' is added, C string functions may still fail
to work as expected.
-<li>Since message bodies can be very large, defining xxfi_body can
+<LI>Since message bodies can be very large, defining xxfi_body can
significantly impact filter performance.
-<li>End-of-lines are represented as received from SMTP (normally CR/LF).
-<li>Later filters will see body changes made by earlier ones.
-<li>Message bodies may be sent in multiple chunks, with one call to
+<LI>End-of-lines are represented as received from SMTP (normally CR/LF).
+<LI>Later filters will see body changes made by earlier ones.
+<LI>Message bodies may be sent in multiple chunks, with one call to
xxfi_body per chunk.
-</ul>
-</td>
-</tr>
-</table>
+<LI>Return
+<A HREF="api.html#SMFIS_SKIP">SMFIS_SKIP</A>
+if a milter has received sufficiently many
+body chunks to make a decision,
+but still wants to invoke
+message modification functions that are only allowed to be called from
+<A HREF="xxfi_eom.html">xxfi_eom()</A>.
+Note: the milter <EM>must</EM>
+<A HREF="xxfi_negotiate.html">negotiate</A>
+this behavior with the MTA, i.e., it must check whether
+the protocol action
+<A HREF="xxfi_negotiate.html#SMFIP_SKIP"><CODE>SMFIP_SKIP</CODE></A>
+is available and if so, the milter must request it.
+</UL>
+</TD>
+</TR>
+</TABLE>
-<hr size="1">
-<font size="-1">
-Copyright (c) 2000-2003 Sendmail, Inc. and its suppliers.
+<HR size="1">
+<FONT size="-1">
+Copyright (c) 2000-2003, 2007 Sendmail, Inc. and its suppliers.
All rights reserved.
-<br>
+<BR>
By using this file, you agree to the terms and conditions set
forth in the LICENSE.
-</font>
-</body>
-</html>
+</FONT>
+</BODY>
+</HTML>
OpenPOWER on IntegriCloud