xxfi_body.html revision 132943
190792Sgshapiro<html>
290792Sgshapiro<head><title>xxfi_body</title></head>
390792Sgshapiro<body>
4132943Sgshapiro<!--
5132943Sgshapiro$Id: xxfi_body.html,v 1.12 2003/03/05 19:57:55 ca Exp $
6132943Sgshapiro-->
790792Sgshapiro<h1>xxfi_body</h1>
890792Sgshapiro
990792Sgshapiro<table border="0" cellspacing=4 cellpadding=4>
1090792Sgshapiro<!---------- Synopsis ----------->
1190792Sgshapiro<tr><th valign="top" align=left width=150>SYNOPSIS</th><td>
1290792Sgshapiro<pre>
1390792Sgshapiro#include &lt;libmilter/mfapi.h&gt;
1490792Sgshapirosfsistat (*xxfi_body)(
1590792Sgshapiro	SMFICTX * ctx,
1690792Sgshapiro	unsigned char * bodyp,
1790792Sgshapiro	size_t len
1890792Sgshapiro);
1990792Sgshapiro</pre>
2090792SgshapiroHandle a piece of a message's body.
2190792Sgshapiro</td></tr>
2290792Sgshapiro
2390792Sgshapiro<!----------- Description ---------->
2490792Sgshapiro<tr><th valign="top" align=left>DESCRIPTION</th><td>
2590792Sgshapiro<table border="1" cellspacing=1 cellpadding=4>
2690792Sgshapiro<tr align="left" valign=top>
2790792Sgshapiro<th width="80">Called When</th>
2890792Sgshapiro<td>xxfi_body is called zero or more times between xxfi_eoh and xxfi_eom.</td>
2990792Sgshapiro</tr>
3090792Sgshapiro<tr align="left" valign=top>
3190792Sgshapiro<th>Default Behavior</th>
3290792Sgshapiro<td>Do nothing; return SMFIS_CONTINUE.</td>
3390792Sgshapiro</tr>
3490792Sgshapiro</table>
3590792Sgshapiro
3690792Sgshapiro<!----------- Arguments ---------->
3790792Sgshapiro<tr><th valign="top" align=left>ARGUMENTS</th><td>
3890792Sgshapiro    <table border="1" cellspacing=0>
3990792Sgshapiro    <tr bgcolor="#dddddd"><th>Argument</th><th>Description</th></tr>
4090792Sgshapiro    <tr valign="top"><td>ctx</td>
4190792Sgshapiro	<td>Opaque context structure.
4290792Sgshapiro	</td></tr>
4390792Sgshapiro    <tr valign="top"><td>bodyp</td>
4490792Sgshapiro	<td>Pointer to the start of this block of body data.  bodyp is not valid outside this call to xxfi_body.
4590792Sgshapiro	</td></tr>
4690792Sgshapiro    <tr valign="top"><td>len</td>
4790792Sgshapiro	<td>The amount of data pointed to by bodyp.
4890792Sgshapiro	</td></tr>
4990792Sgshapiro    </table>
5090792Sgshapiro</td></tr>
5190792Sgshapiro
5290792Sgshapiro<!----------- Notes ---------->
5390792Sgshapiro<tr>
5490792Sgshapiro<th valign="top" align=left>NOTES</th> 
5590792Sgshapiro<td>
5690792Sgshapiro<ul>
5790792Sgshapiro<li>bodyp points to a sequence of bytes.
5890792SgshapiroIt is <em>not</em> a C string (a sequence of characters that is terminated by '\0').
5990792SgshapiroTherefore, do not use the usual C string functions like strlen() on this byte block.
6090792SgshapiroMoreover, the byte sequence may contain '\0' characters inside the block.
6190792SgshapiroHence even if a trailing '\0' is added, C string functions may still fail
6290792Sgshapiroto work as expected.
6390792Sgshapiro<li>Since message bodies can be very large, defining xxfi_body can
6490792Sgshapirosignificantly impact filter performance.
6590792Sgshapiro<li>End-of-lines are represented as received from SMTP (normally CR/LF).
6690792Sgshapiro<li>Later filters will see body changes made by earlier ones.
6790792Sgshapiro<li>Message bodies may be sent in multiple chunks, with one call to 
6890792Sgshapiro    xxfi_body per chunk.
6990792Sgshapiro</ul>
7090792Sgshapiro</td>
7190792Sgshapiro</tr>
7290792Sgshapiro</table>
7390792Sgshapiro
7490792Sgshapiro<hr size="1">
7590792Sgshapiro<font size="-1">
76112810SgshapiroCopyright (c) 2000-2003 Sendmail, Inc. and its suppliers.
7790792SgshapiroAll rights reserved.
7890792Sgshapiro<br>
7990792SgshapiroBy using this file, you agree to the terms and conditions set
80112810Sgshapiroforth in the LICENSE.
8190792Sgshapiro</font>
8290792Sgshapiro</body>
8390792Sgshapiro</html>
84