Correct conditional to correctly treat segments which end on a boundary.
[dragonfly.git] / contrib / sendmail-8.13.8 / libmilter / docs / xxfi_body.html
1 <html>
2 <head><title>xxfi_body</title></head>
3 <body>
4 <!--
5 $Id: xxfi_body.html,v 1.12 2003/03/05 19:57:55 ca Exp $
6 -->
7 <h1>xxfi_body</h1>
8
9 <table border="0" cellspacing=4 cellpadding=4>
10 <!---------- Synopsis ----------->
11 <tr><th valign="top" align=left width=150>SYNOPSIS</th><td>
12 <pre>
13 #include &lt;libmilter/mfapi.h&gt;
14 sfsistat (*xxfi_body)(
15         SMFICTX * ctx,
16         unsigned char * bodyp,
17         size_t len
18 );
19 </pre>
20 Handle a piece of a message's body.
21 </td></tr>
22
23 <!----------- Description ---------->
24 <tr><th valign="top" align=left>DESCRIPTION</th><td>
25 <table border="1" cellspacing=1 cellpadding=4>
26 <tr align="left" valign=top>
27 <th width="80">Called When</th>
28 <td>xxfi_body is called zero or more times between xxfi_eoh and xxfi_eom.</td>
29 </tr>
30 <tr align="left" valign=top>
31 <th>Default Behavior</th>
32 <td>Do nothing; return SMFIS_CONTINUE.</td>
33 </tr>
34 </table>
35
36 <!----------- Arguments ---------->
37 <tr><th valign="top" align=left>ARGUMENTS</th><td>
38     <table border="1" cellspacing=0>
39     <tr bgcolor="#dddddd"><th>Argument</th><th>Description</th></tr>
40     <tr valign="top"><td>ctx</td>
41         <td>Opaque context structure.
42         </td></tr>
43     <tr valign="top"><td>bodyp</td>
44         <td>Pointer to the start of this block of body data.  bodyp is not valid outside this call to xxfi_body.
45         </td></tr>
46     <tr valign="top"><td>len</td>
47         <td>The amount of data pointed to by bodyp.
48         </td></tr>
49     </table>
50 </td></tr>
51
52 <!----------- Notes ---------->
53 <tr>
54 <th valign="top" align=left>NOTES</th> 
55 <td>
56 <ul>
57 <li>bodyp points to a sequence of bytes.
58 It is <em>not</em> a C string (a sequence of characters that is terminated by '\0').
59 Therefore, do not use the usual C string functions like strlen() on this byte block.
60 Moreover, the byte sequence may contain '\0' characters inside the block.
61 Hence even if a trailing '\0' is added, C string functions may still fail
62 to work as expected.
63 <li>Since message bodies can be very large, defining xxfi_body can
64 significantly impact filter performance.
65 <li>End-of-lines are represented as received from SMTP (normally CR/LF).
66 <li>Later filters will see body changes made by earlier ones.
67 <li>Message bodies may be sent in multiple chunks, with one call to 
68     xxfi_body per chunk.
69 </ul>
70 </td>
71 </tr>
72 </table>
73
74 <hr size="1">
75 <font size="-1">
76 Copyright (c) 2000-2003 Sendmail, Inc. and its suppliers.
77 All rights reserved.
78 <br>
79 By using this file, you agree to the terms and conditions set
80 forth in the LICENSE.
81 </font>
82 </body>
83 </html>