]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/sendmail/libmilter/docs/smfi_setsymlist.html
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / sendmail / libmilter / docs / smfi_setsymlist.html
1 <HTML>
2 <HEAD><TITLE>smfi_setsymlist</TITLE></HEAD>
3 <BODY>
4 <!--
5 $Id: smfi_setsymlist.html,v 1.7 2013-11-22 20:51:39 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         <BR>
66         An empty string ("", not NULL) can be used to specify that no macros
67         should be sent.
68         </TD></TR>
69
70     </TABLE>
71 </TD></TR>
72
73 <!----------- Return values ---------->
74 <TR>
75 <TH valign="top" align=left>RETURN VALUES</TH> 
76
77 <TD>MI_FAILURE is returned if
78 <UL>
79 <LI>there is not enough free memory to make a copy of the macro list,
80 <LI><CODE>macros</CODE> is <CODE>NULL</CODE>,
81 <LI><CODE>stage</CODE> is not a valid protocol stage,
82 <LI>the macro list for
83 <CODE>stage</CODE> has been set before.
84 </UL>
85 Otherwise MI_SUCCESS is returned.
86 </TD>
87 </TR>
88
89 <!----------- Notes ---------->
90 <TR align="left" valign=top>
91 <TH>NOTES</TH> 
92 <TD>There is an internal limit on the number of macros
93 that can be set
94 <!-- XREF: MAXFILTERMACROS -->
95 (currently 50),
96 however, this limit is not enforced by libmilter, only by the MTA,
97 but a possible violation of this restriction is not communicated back to
98 the milter.</TD>
99 </TR>
100
101 </TABLE>
102
103 <HR size="1">
104 <FONT size="-1">
105 Copyright (c) 2006, 2012 Proofpoint, Inc. and its suppliers.
106 All rights reserved.
107 <BR>
108 By using this file, you agree to the terms and conditions set
109 forth in the LICENSE.
110 </FONT>
111 </BODY>
112 </HTML>