1168515Sgshapiro<HTML>
2168515Sgshapiro<HEAD><TITLE>xxfi_close</TITLE></HEAD>
3168515Sgshapiro<BODY>
4132943Sgshapiro<!--
5266527Sgshapiro$Id: xxfi_close.html,v 1.14 2013-11-22 20:51:39 ca Exp $
6132943Sgshapiro-->
7168515Sgshapiro<H1>xxfi_close</H1>
890792Sgshapiro
9168515Sgshapiro<TABLE border="0" cellspacing=4 cellpadding=4>
1090792Sgshapiro<!---------- Synopsis ----------->
11168515Sgshapiro<TR><TH valign="top" align=left width=100>SYNOPSIS</TH><TD>
12168515Sgshapiro<PRE>
1390792Sgshapiro#include &lt;libmilter/mfapi.h&gt;
1490792Sgshapirosfsistat (*xxfi_close)(
15168515Sgshapiro	SMFICTX *ctx
1690792Sgshapiro);
17168515Sgshapiro</PRE>
1890792SgshapiroThe current connection is being closed.
19168515Sgshapiro</TD></TR>
2090792Sgshapiro
2190792Sgshapiro<!----------- Description ---------->
22168515Sgshapiro<TR><TH valign="top" align=left>DESCRIPTION</TH><TD>
23168515Sgshapiro<TABLE border="1" cellspacing=1 cellpadding=4>
24168515Sgshapiro<TR align="left" valign=top>
25168515Sgshapiro<TH width="80">Called When</TH>
26168515Sgshapiro<TD>xxfi_close is always called once at the end of each connection.</TD>
27168515Sgshapiro</TR>
28168515Sgshapiro<TR align="left" valign=top>
29168515Sgshapiro<TH>Default Behavior</TH>
30168515Sgshapiro<TD>Do nothing; return SMFIS_CONTINUE.</TD>
31168515Sgshapiro</TR>
32168515Sgshapiro</TABLE>
3390792Sgshapiro
3490792Sgshapiro<!----------- Arguments ---------->
35168515Sgshapiro<TR><TH valign="top" align=left>ARGUMENTS</TH><TD>
36168515Sgshapiro    <TABLE border="1" cellspacing=0>
37168515Sgshapiro    <TR bgcolor="#dddddd"><TH>Argument</TH><TH>Description</TH></TR>
38168515Sgshapiro    <TR valign="top"><TD>ctx</TD>
39168515Sgshapiro	<TD>Opaque context structure.
40168515Sgshapiro	</TD></TR>
41168515Sgshapiro    </TABLE>
42168515Sgshapiro</TD></TR>
4390792Sgshapiro
4490792Sgshapiro<!----------- Notes ---------->
45168515Sgshapiro<TR>
46168515Sgshapiro<TH valign="top" align=left>NOTES</TH> 
47168515Sgshapiro<TD>
48168515Sgshapiro<UL>
49168515Sgshapiro<LI>xxfi_close may be called "out-of-order", i.e. before even the
50132943Sgshapiroxxfi_connect is called.
51132943SgshapiroAfter a connection is established by the MTA to the filter,
52132943Sgshapiroif the MTA decides this connection's traffic will be discarded
53132943Sgshapiro(e.g. via an access_db result), no data will be passed to the
54132943Sgshapirofilter from the MTA until the client closes down.
55132943SgshapiroAt that time, xxfi_close is called.
56132943SgshapiroIt can therefore be the only callback ever used for a given connection,
57132943Sgshapiroand developers should anticipate this possibility when crafting their
58132943Sgshapiroxxfi_close code.
59132943SgshapiroIn particular, it is incorrect to assume the private context pointer
60132943Sgshapirowill be something other than NULL in this callback.
61168515Sgshapiro<LI>xxfi_close is called on close even if the previous mail
6290792Sgshapirotransaction was aborted.  
63168515Sgshapiro<LI>xxfi_close is responsible for freeing any resources allocated on a
6490792Sgshapiroper-connection basis.
65168515Sgshapiro<LI>Since the connection is already closing, the return value is
6690792Sgshapirocurrently ignored.
67168515Sgshapiro</UL>
68168515Sgshapiro</TD>
69168515Sgshapiro</TR>
70168515Sgshapiro</TABLE>
7190792Sgshapiro
72168515Sgshapiro<HR size="1">
73168515Sgshapiro<FONT size="-1">
74261194SgshapiroCopyright (c) 2000, 2003, 2004 Proofpoint, Inc. and its suppliers.
7590792SgshapiroAll rights reserved.
76168515Sgshapiro<BR>
7790792SgshapiroBy using this file, you agree to the terms and conditions set
78112810Sgshapiroforth in the LICENSE.
79168515Sgshapiro</FONT>
80168515Sgshapiro</BODY>
81168515Sgshapiro</HTML>
82