1168515Sgshapiro<HTML>
2168515Sgshapiro<HEAD><TITLE>smfi_setsymlist</TITLE></HEAD>
3168515Sgshapiro<BODY>
4168515Sgshapiro<!--
5266527Sgshapiro$Id: smfi_setsymlist.html,v 1.7 2013-11-22 20:51:39 ca Exp $
6168515Sgshapiro-->
7168515Sgshapiro<H1>smfi_setsymlist</H1>
8168515Sgshapiro
9168515Sgshapiro<TABLE border="0" cellspacing=4 cellpadding=4>
10168515Sgshapiro<!---------- Synopsis ----------->
11168515Sgshapiro<TR><TH valign="top" align=left width=100>SYNOPSIS</TH><TD>
12168515Sgshapiro<PRE>
13168515Sgshapiro#include &lt;libmilter/mfapi.h&gt;
14168515Sgshapiroint smfi_setsymlist(
15363466Sgshapiro        SMFICTX    *ctx,
16168515Sgshapiro	int        stage,
17168515Sgshapiro	char       *macros
18168515Sgshapiro);
19168515Sgshapiro</PRE>
20168515SgshapiroSet the list of macros that the milter wants to receive from the MTA
21168515Sgshapirofor a protocol stage.
22168515Sgshapiro</TD></TR>
23168515Sgshapiro
24168515Sgshapiro<!----------- Description ---------->
25168515Sgshapiro<TR><TH valign="top" align=left>DESCRIPTION</TH><TD>
26168515Sgshapiro<TABLE border="1" cellspacing=1 cellpadding=4>
27168515Sgshapiro<TR align="left" valign=top>
28168515Sgshapiro<TH width="80">Called When</TH>
29168515Sgshapiro<TD>This function must only be called during
30168515Sgshapiro<A HREF="xxfi_negotiate.html">xxfi_negotiate()</A>.
31168515Sgshapiro</TD>
32168515Sgshapiro</TR>
33168515Sgshapiro<TR align="left" valign=top>
34168515Sgshapiro<TH width="80">Effects</TH>
35168515Sgshapiro<TD>This function can be used to override the list of macros that the
36168515Sgshapiromilter wants to receive from the MTA.
37168515Sgshapiro</TD>
38168515Sgshapiro</TR>
39168515Sgshapiro</TABLE>
40363466Sgshapiro</TD></TR>
41168515Sgshapiro
42168515Sgshapiro<!----------- Arguments ---------->
43168515Sgshapiro<TR><TH valign="top" align=left>ARGUMENTS</TH><TD>
44168515Sgshapiro    <TABLE border="1" cellspacing=0>
45168515Sgshapiro    <TR bgcolor="#dddddd"><TH>Argument</TH><TH>Description</TH></TR>
46168515Sgshapiro
47168515Sgshapiro    <TR><TD>ctx</TD>
48168515Sgshapiro	<TD>the opaque context structure.
49168515Sgshapiro	</TD></TR>
50168515Sgshapiro
51168515Sgshapiro    <TR><TD>stage</TD>
52168515Sgshapiro	<TD>the protocol stage during which the macro list should be used.
53168515Sgshapiro	See the file
54168515Sgshapiro	<CODE>include/libmilter/mfapi.h</CODE> for legal values,
55168515Sgshapiro	look for the C macros with the prefix
56168515Sgshapiro	<CODE>SMFIM_</CODE>.
57168515Sgshapiro	Available protocol stages are at least
58168515Sgshapiro	the initial connection, HELO/EHLO, MAIL, RCPT, DATA,
59168515Sgshapiro	end of header, and
60168515Sgshapiro	the end of a message.
61168515Sgshapiro	</TD></TR>
62168515Sgshapiro
63168515Sgshapiro    <TR><TD>macros</TD>
64168515Sgshapiro	<TD>list of macros (separated by space).
65168515Sgshapiro	Example: "{rcpt_mailer} {rcpt_host}"
66285229Sgshapiro	<BR>
67285229Sgshapiro	An empty string ("", not NULL) can be used to specify that no macros
68285229Sgshapiro	should be sent.
69168515Sgshapiro	</TD></TR>
70168515Sgshapiro
71168515Sgshapiro    </TABLE>
72168515Sgshapiro</TD></TR>
73168515Sgshapiro
74168515Sgshapiro<!----------- Return values ---------->
75168515Sgshapiro<TR>
76363466Sgshapiro<TH valign="top" align=left>RETURN VALUES</TH>
77168515Sgshapiro
78168515Sgshapiro<TD>MI_FAILURE is returned if
79168515Sgshapiro<UL>
80168515Sgshapiro<LI>there is not enough free memory to make a copy of the macro list,
81285229Sgshapiro<LI><CODE>macros</CODE> is <CODE>NULL</CODE>,
82168515Sgshapiro<LI><CODE>stage</CODE> is not a valid protocol stage,
83168515Sgshapiro<LI>the macro list for
84168515Sgshapiro<CODE>stage</CODE> has been set before.
85168515Sgshapiro</UL>
86168515SgshapiroOtherwise MI_SUCCESS is returned.
87168515Sgshapiro</TD>
88168515Sgshapiro</TR>
89168515Sgshapiro
90168515Sgshapiro<!----------- Notes ---------->
91168515Sgshapiro<TR align="left" valign=top>
92363466Sgshapiro<TH>NOTES</TH>
93244833Sgshapiro<TD>There is an internal limit on the number of macros
94244833Sgshapirothat can be set
95244833Sgshapiro<!-- XREF: MAXFILTERMACROS -->
96244833Sgshapiro(currently 50),
97168515Sgshapirohowever, this limit is not enforced by libmilter, only by the MTA,
98168515Sgshapirobut a possible violation of this restriction is not communicated back to
99168515Sgshapirothe milter.</TD>
100168515Sgshapiro</TR>
101168515Sgshapiro
102168515Sgshapiro</TABLE>
103168515Sgshapiro
104168515Sgshapiro<HR size="1">
105168515Sgshapiro<FONT size="-1">
106261194SgshapiroCopyright (c) 2006, 2012 Proofpoint, Inc. and its suppliers.
107168515SgshapiroAll rights reserved.
108168515Sgshapiro<BR>
109168515SgshapiroBy using this file, you agree to the terms and conditions set
110168515Sgshapiroforth in the LICENSE.
111168515Sgshapiro</FONT>
112168515Sgshapiro</BODY>
113168515Sgshapiro</HTML>
114