Initial import of binutils 2.22 on the new vendor branch
[dragonfly.git] / contrib / sendmail-8.14 / libmilter / docs / smfi_setsymlist.html
1 <HTML>
2 <HEAD><TITLE>smfi_setsymlist</TITLE></HEAD>
3 <BODY>
4 <!--
5 $Id: smfi_setsymlist.html,v 1.5 2006/12/21 18:30:35 ca Exp $
6 -->
7 <H1>smfi_setsymlist</H1>
8
9 <TABLE border="0" cellspacing=4 cellpadding=4>
10 <!---------- Synopsis ----------->
11 <TR><TH valign="top" align=left width=100>SYNOPSIS</TH><TD>
12 <PRE>
13 #include &lt;libmilter/mfapi.h&gt;
14 int smfi_setsymlist(
15         SMFICTX    *ctx, 
16         int        stage,
17         char       *macros
18 );
19 </PRE>
20 Set the list of macros that the milter wants to receive from the MTA
21 for a protocol stage.
22 </TD></TR>
23
24 <!----------- Description ---------->
25 <TR><TH valign="top" align=left>DESCRIPTION</TH><TD>
26 <TABLE border="1" cellspacing=1 cellpadding=4>
27 <TR align="left" valign=top>
28 <TH width="80">Called When</TH>
29 <TD>This function must only be called during
30 <A HREF="xxfi_negotiate.html">xxfi_negotiate()</A>.
31 </TD>
32 </TR>
33 <TR align="left" valign=top>
34 <TH width="80">Effects</TH>
35 <TD>This function can be used to override the list of macros that the
36 milter wants to receive from the MTA.
37 </TD>
38 </TR>
39 </TABLE>
40
41 <!----------- Arguments ---------->
42 <TR><TH valign="top" align=left>ARGUMENTS</TH><TD>
43     <TABLE border="1" cellspacing=0>
44     <TR bgcolor="#dddddd"><TH>Argument</TH><TH>Description</TH></TR>
45
46     <TR><TD>ctx</TD>
47         <TD>the opaque context structure.
48         </TD></TR>
49
50     <TR><TD>stage</TD>
51         <TD>the protocol stage during which the macro list should be used.
52         See the file
53         <CODE>include/libmilter/mfapi.h</CODE> for legal values,
54         look for the C macros with the prefix
55         <CODE>SMFIM_</CODE>.
56         Available protocol stages are at least
57         the initial connection, HELO/EHLO, MAIL, RCPT, DATA,
58         end of header, and
59         the end of a message.
60         </TD></TR>
61
62     <TR><TD>macros</TD>
63         <TD>list of macros (separated by space).
64         Example: "{rcpt_mailer} {rcpt_host}"
65         </TD></TR>
66
67     </TABLE>
68 </TD></TR>
69
70 <!----------- Return values ---------->
71 <TR>
72 <TH valign="top" align=left>RETURN VALUES</TH> 
73
74 <TD>MI_FAILURE is returned if
75 <UL>
76 <LI>there is not enough free memory to make a copy of the macro list,
77 <LI><CODE>macros</CODE> is <CODE>NULL</CODE> or empty,
78 <LI><CODE>stage</CODE> is not a valid protocol stage,
79 <LI>the macro list for
80 <CODE>stage</CODE> has been set before.
81 </UL>
82 Otherwise MI_SUCCESS is returned.
83 </TD>
84 </TR>
85
86 <!----------- Notes ---------->
87 <TR align="left" valign=top>
88 <TH>NOTES</TH> 
89 <TD>There is an internal limit on the number of macros that can be
90 set (currently 5),
91 however, this limit is not enforced by libmilter, only by the MTA,
92 but a possible violation of this restriction is not communicated back to
93 the milter.</TD>
94 </TR>
95
96 </TABLE>
97
98 <HR size="1">
99 <FONT size="-1">
100 Copyright (c) 2006 Sendmail, Inc. and its suppliers.
101 All rights reserved.
102 <BR>
103 By using this file, you agree to the terms and conditions set
104 forth in the LICENSE.
105 </FONT>
106 </BODY>
107 </HTML>