SYNOPSIS |
#include <libmilter/mfapi.h>
sfsistat (*xxfi_body)(
SMFICTX * ctx,
unsigned char * bodyp,
size_t len
);
Handle a piece of a message's body.
|
DESCRIPTION |
Called When |
xxfi_body is called zero or more times between xxfi_eoh and xxfi_eom. |
Default Behavior |
Do nothing; return SMFIS_CONTINUE. |
|
---|
ARGUMENTS |
Argument | Description |
ctx |
Opaque context structure.
|
bodyp |
Pointer to the start of this block of body data. bodyp is not valid outside this call to xxfi_body.
|
len |
The amount of data pointed to by bodyp.
|
|
NOTES |
- bodyp points to a sequence of bytes.
It is not 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.
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.
- Since message bodies can be very large, defining xxfi_body can
significantly impact filter performance.
- End-of-lines are represented as received from SMTP (normally CR/LF).
- Later filters will see body changes made by earlier ones.
- Message bodies may be sent in multiple chunks, with one call to
xxfi_body per chunk.
|