smfi_addheader.3n (2010 09)

s
smfi_addheader(3N) smfi_addheader(3N)
NAME
smfi_addheader() - adds a header to the current sendmail message
SYNOPSIS
#include <libmilter/mfapi.h>
int smfi_addheader(
SMFICTX *ctx,
char *headerf ,
char *headerv
);
PARAMETERS
smfi_addheader()
includes the following arguments:
ctx Specifies the opaque context structure.
headerf Specifies the header name, which is a non-NULL, null- terminated string.
headerv Specifies the header value to be added. headerv is a non-NULL, null-terminated string and
can be an empty string.
DESCRIPTION
smfi_addheader() adds a header to the current message.
smfi_addheader() can be called only
from the
xxfi_eom() function.
Notes
smfi_addheader() does not change existing headers of a message. To change the current value of a
header, use the smfi_chgheader()
routine.
A filter that calls the
smfi_addheader()
must set the SMFIF_ADDHDRS flag in the smfiDesc_str
structure passed to the smfi_register()
.
For the
smfi_addheader()
filter, the order in which filters are placed is important. Filters placed
later in the sequence will observe the changes already done by the earlier filters.
The name and the value of the header are not checked for standards compliance. However, each line of
the header must be under 2048 characters. If longer headers are needed, multi-line header must be used.
To make a multi-line header, insert a line feed (ASCII 0x0a, or \n in C) followed by at least one whi-
tespace character, such as, a space (ASCII 0x20) or tab (ASCII 0x09, or \t in C). The line feed must not
be preceded by a carriage return (ASCII 0x0d); the MTA adds this automatically. It is the responsibility
of the filter writer to ensure that standards are not violated.
RETURN VALUE
smfi_addheader() returns
MI_FAILURE due to the following reasons:
The headerf or headerv is
NULL.
Adding headers in the current connection state is invalid.
Memory allocation failure.
Network error
SMFIF_ADDHDRS is not set when the smfi_register()
routine is called.
smfi_addheader() returns MI_SUCCESS on success.
EXAMPLES
Following is an example to add a header:
int ret;
SMFICTX *ctx;
...
ret = smfi_addheader(ctx, "Content-Type",
"multipart/mixed;\n\tboundary=’foobar’");
AUTHOR
smfi_addheader() was developed by the Sendmail Inc.
HP-UX 11i Version 3: September 2010 1 Hewlett-Packard Company 1

Summary of content (2 pages)