diff options
Diffstat (limited to 'contrib/sendmail/libmilter/docs/smfi_register.html')
-rw-r--r-- | contrib/sendmail/libmilter/docs/smfi_register.html | 219 |
1 files changed, 140 insertions, 79 deletions
diff --git a/contrib/sendmail/libmilter/docs/smfi_register.html b/contrib/sendmail/libmilter/docs/smfi_register.html index 3f6ed83..1a35918 100644 --- a/contrib/sendmail/libmilter/docs/smfi_register.html +++ b/contrib/sendmail/libmilter/docs/smfi_register.html @@ -1,113 +1,129 @@ -<html> -<head><title>smfi_register</title></head> -<body> +<HTML> +<HEAD><TITLE>smfi_register</TITLE></HEAD> +<BODY> <!-- -$Id: smfi_register.html,v 1.11 2003/05/26 04:10:52 gshapiro Exp $ +$Id: smfi_register.html,v 1.18 2006/12/20 18:37:11 ca Exp $ --> -<h1>smfi_register</h1> +<H1>smfi_register</H1> -<table border="0" cellspacing=4 cellpadding=4> +<TABLE border="0" cellspacing=4 cellpadding=4> <!---------- Synopsis -----------> -<tr><th valign="top" align=left width=150>SYNOPSIS</th><td> -<pre> +<TR><TH valign="top" align=left width=100>SYNOPSIS</TH><TD> +<PRE> #include <libmilter/mfapi.h> int smfi_register( smfiDesc descr ); -</pre> +</PRE> Register a set of filter callbacks. -</td></tr> +</TD></TR> <!----------- Description ----------> -<tr><th valign="top" align=left>DESCRIPTION</th><td> -<table border="1" cellspacing=1 cellpadding=1> -<tr align="left" valign=top> -<th width="80">Called When</th> -<td>smfi_register must be called before smfi_main</td> -</tr> -<tr align="left" valign=top> -<th width="80">Effects</th> -<td>smfi_register creates a filter using the information given in the -smfiDesc argument. Multiple calls to smfi_register within a -single process are not allowed.</td> -</tr> -</table> +<TR><TH valign="top" align=left>DESCRIPTION</TH><TD> +<TABLE border="1" cellspacing=1 cellpadding=1> +<TR align="left" valign=top> +<TH width="80">Called When</TH> +<TD>smfi_register must be called before smfi_main</TD> +</TR> +<TR align="left" valign=top> +<TH width="80">Effects</TH> +<TD>smfi_register creates a filter using the information given in the +smfiDesc argument. +Multiple (successful) calls to smfi_register within a +single process are not allowed, +i.e., only one filter can be successfully registered. +Note, however, that the library may not check whether this restriction +is obeyed. +</TD> +</TR> +</TABLE> <!----------- Arguments ----------> -<tr><th valign="top" align=left>ARGUMENTS</th><td> - <table border="1" cellspacing=0> - <tr bgcolor="#dddddd"><th>Argument</th><th>Description</th></tr> - <tr valign="top"><td>descr</td> - <td> -A filter descriptor of type smfiDesc describing the filter's -functions. The structure has the following members: -<pre> +<TR><TH valign="top" align=left>ARGUMENTS</TH><TD> + <TABLE border="1" cellspacing=0> + <TR bgcolor="#dddddd"><TH>Argument</TH><TH>Description</TH></TR> + <TR valign="top"><TD>descr</TD> + <TD> +A filter descriptor of type smfiDesc describing the filter's functions. +<A NAME="smfiDesc">The structure</A> has the following members: +<PRE> struct smfiDesc { char *xxfi_name; /* filter name */ int xxfi_version; /* version code -- do not change */ - unsigned long xxfi_flags; /* <a href="#flags">flags</a> */ + unsigned long xxfi_flags; /* <A href="#flags">flags</A> */ /* connection info filter */ - sfsistat (*<a href="xxfi_connect.html">xxfi_connect</a>)(SMFICTX *, char *, _SOCK_ADDR *); + sfsistat (*<A href="xxfi_connect.html">xxfi_connect</A>)(SMFICTX *, char *, _SOCK_ADDR *); /* SMTP HELO command filter */ - sfsistat (*<a href="xxfi_helo.html">xxfi_helo</a>)(SMFICTX *, char *); + sfsistat (*<A href="xxfi_helo.html">xxfi_helo</A>)(SMFICTX *, char *); /* envelope sender filter */ - sfsistat (*<a href="xxfi_envfrom.html">xxfi_envfrom</a>)(SMFICTX *, char **); + sfsistat (*<A href="xxfi_envfrom.html">xxfi_envfrom</A>)(SMFICTX *, char **); /* envelope recipient filter */ - sfsistat (*<a href="xxfi_envrcpt.html">xxfi_envrcpt</a>)(SMFICTX *, char **); + sfsistat (*<A href="xxfi_envrcpt.html">xxfi_envrcpt</A>)(SMFICTX *, char **); /* header filter */ - sfsistat (*<a href="xxfi_header.html">xxfi_header</a>)(SMFICTX *, char *, char *); + sfsistat (*<A href="xxfi_header.html">xxfi_header</A>)(SMFICTX *, char *, char *); /* end of header */ - sfsistat (*<a href="xxfi_eoh.html">xxfi_eoh</a>)(SMFICTX *); + sfsistat (*<A href="xxfi_eoh.html">xxfi_eoh</A>)(SMFICTX *); /* body block */ - sfsistat (*<a href="xxfi_body.html">xxfi_body</a>)(SMFICTX *, unsigned char *, size_t); + sfsistat (*<A href="xxfi_body.html">xxfi_body</A>)(SMFICTX *, unsigned char *, size_t); /* end of message */ - sfsistat (*<a href="xxfi_eom.html">xxfi_eom</a>)(SMFICTX *); + sfsistat (*<A href="xxfi_eom.html">xxfi_eom</A>)(SMFICTX *); /* message aborted */ - sfsistat (*<a href="xxfi_abort.html">xxfi_abort</a>)(SMFICTX *); + sfsistat (*<A href="xxfi_abort.html">xxfi_abort</A>)(SMFICTX *); /* connection cleanup */ - sfsistat (*<a href="xxfi_close.html">xxfi_close</a>)(SMFICTX *); + sfsistat (*<A href="xxfi_close.html">xxfi_close</A>)(SMFICTX *); + + /* any unrecognized or unimplemented command filter */ + sfsistat (*xxfi_unknown)(SMFICTX *, const char *); + + /* SMTP DATA command filter */ + sfsistat (*xxfi_data)(SMFICTX *); + + /* negotiation callback */ + sfsistat (*<A HREF="xxfi_negotiate.html">xxfi_negotiate</A>)(SMFICTX *, + unsigned long, unsigned long, unsigned long, unsigned long, + unsigned long *, unsigned long *, unsigned long *, unsigned long *); }; -</pre> +</PRE> -A NULL value for any callback function indicates that the filter does -not wish to process the given type of information, simply returning -SMFIS_CONTINUE. - </td></tr> - </table> -</td></tr> +A NULL value for any callback function indicates that the filter +does not wish to process the given type of information, +simply returning SMFIS_CONTINUE. + </TD></TR> + </TABLE> +</TD></TR> <!----------- Return values ----------> -<tr> -<th valign="top" align=left>RETURN VALUES</th> +<TR> +<TH valign="top" align=left>RETURN VALUES</TH> -<td> +<TD> smfi_register may return MI_FAILURE for any of the following reasons: -<ul> -<li>memory allocation failed. -<li>incompatible version or illegal flags value. -</ul> +<UL> +<LI>memory allocation failed. +<LI>incompatible version or illegal flags value. +</UL> -</td> -</tr> +</TD> +</TR> <!----------- Notes ----------> -<tr align="left" valign=top> -<th>NOTES</th> -<td> +<TR align="left" valign=top> +<TH>NOTES</TH> +<TD> -<a name="flags"></A> -The xxfi_flags field should contain the bitwise OR of zero or more of +<A NAME="flags">The xxfi_flags</A> +field should contain the bitwise OR of zero or more of the following values, describing the actions the filter may take: <TABLE BORDER CELLPADDING="1" cellspacing=1> -<tr valign="top" bgcolor="#dddddd"><th align="left">Flag</th><th align="center">Description</th></tr> +<TR valign="top" bgcolor="#dddddd"><TH align="left">Flag</TH><TH align="center">Description</TH></TR> <TR align="left" valign=top> <TD> SMFIF_ADDHDRS </TD> <TD> - This filter may add headers. + This filter may <A HREF="smfi_addheader.html">add headers</A>. </TD> </TR> <TR align="left" valign=top> @@ -115,7 +131,8 @@ the following values, describing the actions the filter may take: SMFIF_CHGHDRS </TD> <TD> - This filter may change and/or delete headers. + This filter may + <A HREF="smfi_chgheader.html">change and/or delete headers</A>. </TD> </TR> <TR align="left" valign=top> @@ -123,7 +140,8 @@ the following values, describing the actions the filter may take: SMFIF_CHGBODY </TD> <TD> - This filter may replace the body during filtering. + This filter may + <A HREF="smfi_replacebody.html">replace the body</A> during filtering. This may have significant performance impact if other filters do body filtering after this filter. </TD> @@ -133,7 +151,18 @@ the following values, describing the actions the filter may take: SMFIF_ADDRCPT </TD> <TD> - This filter may add recipients to the message. + This filter may + <A HREF="smfi_addrcpt.html">add recipients</A> + to the message. + </TD> + </TR> + <TR> + <TD VALIGN="TOP"> + SMFIF_ADDRCPT_PAR + </TD> + <TD> + This filter may + <A HREF="smfi_addrcpt_par.html">add recipients including ESMTP args</A>. </TD> </TR> <TR> @@ -141,23 +170,55 @@ the following values, describing the actions the filter may take: SMFIF_DELRCPT </TD> <TD> - This filter may remove recipients from the message. + This filter may + <A HREF="smfi_delrcpt.html">remove recipients</A> from the message. + </TD> + </TR> + <TR> + <TD VALIGN="TOP"> + SMFIF_QUARANTINE + </TD> + <TD> + This filter may + <A HREF="smfi_quarantine.html">quarantine</A> a message. </TD> </TR> + + <TR> + <TD VALIGN="TOP"> + SMFIF_CHGFROM + </TD> + <TD> + This filter may + <A HREF="smfi_chgfrom.html">change the envelope sender</A> (MAIL). + </TD> + </TR> + + <TR> + <TD VALIGN="TOP"> + SMFIF_SETSYMLIST + </TD> + <TD> + This filter can + <A HREF="smfi_setsymlist.html">send a set of symbols (macros)</A> + that it wants. + </TD> + </TR> + </TABLE> -</td> -</tr> +</TD> +</TR> -</table> +</TABLE> -<hr size="1"> -<font size="-1"> -Copyright (c) 2000-2001, 2003 Sendmail, Inc. and its suppliers. +<HR size="1"> +<FONT size="-1"> +Copyright (c) 2000-2001, 2003, 2006 Sendmail, Inc. and its suppliers. All rights reserved. -<br> +<BR> By using this file, you agree to the terms and conditions set forth in the LICENSE. -</font> -</body> -</html> +</FONT> +</BODY> +</HTML> |