<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>
<trvalign="top"><td>bodylen</td>
<td>The number of data bytes pointed to by bodyp.
</td></tr>
</table>
</td></tr>
<!----------- Return values ---------->
<tr>
<thvalign="top"align=left>RETURN VALUES</th>
<td>smfi_replacebody fails and returns MI_FAILURE if:
<ul>
<li>bodyp == NULL and bodylen > 0.
<li>Changing the body in the current connection state is invalid.
<li>A network error occurs.
<li>SMFIF_CHGBODY was not set when <ahref="smfi_register.html">smfi_register</a> was called.
</ul>
Otherwise, it will return MI_SUCCESS.
</td>
</tr>
<!----------- Notes ---------->
<tralign="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>