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