All rights reserved.
26.5 smfi_ Routine Reference | 1195
which must be called before you call smfi_main() (?§26.5.10 on page 1193), is called like
this:
ret = smfi_register(descr);
The smfi_register() routine takes a single argument, descr, which is a copy of a structure
(not a pointer) of the type smfiDesc. The integer value MI_FAILURE is returned (to ret) if
smfi_register() cannot allocate memory, or if the version is wrong or if one of the flags is
illegal (see Table 26-11). The smfiDesc structure looks like this:
struct smfiDesc
{
char *name;
int version;
unsigned long flags;
sfsistat funct; /* for xxfi_connect */
sfsistat funct; /* for xxfi_helo */
sfsistat funct; /* for xxfi_envfrom */
sfsistat funct; /* for xxfi_envrcpt */
sfsistat funct; /* for xxfi_header */
sfsistat funct; /* for xxfi_eoh */
sfsistat funct; /* for xxfi_body */
sfsistat funct; /* for xxfi_eom */
sfsistat funct; /* for xxfi_abort */
sfsistat funct; /* for xxfi_close */
sfsistat funct; /* for xxfi_unknown */ ?†? V8.14 and later
sfsistat funct; /* for xxfi_data */ ?†? V8.14 and later
sfsistat funct; /* for xxfi_negotiate */ ?†? V8.14 and later
}
Here, the name should be initialized with a string that is the name of your Milter. Note that
this name does not have to match the name declared with the X configuration command,
but should probably do so to avoid confusion.
Pages:
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151