<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY version SYSTEM "version.xml">
]>
<refentry id="MilterServerContext">
<refmeta>
<refentrytitle role="top_of_page" id="MilterServerContext.top_of_page">MilterServerContext</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>milter managerライブラリ</refmiscinfo>
</refmeta>
<refnamediv>
<refname>MilterServerContext</refname>
<refpurpose>サーバ側のmilterプロトコルを処理します。</refpurpose>
</refnamediv>

<refsect1 id="MilterServerContext.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_return" colwidth="150px"/>
<colspec colname="functions_name"/>
<tbody>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="MILTER-SERVER-CONTEXT-ERROR:CAPS">MILTER_SERVER_CONTEXT_ERROR</link></entry></row>
<row><entry role="function_type"><link linkend="GQuark"><returnvalue>GQuark</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-error-quark">milter_server_context_error_quark</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="MilterServerContext"><returnvalue>MilterServerContext</returnvalue></link> *
</entry><entry role="function_name"><link linkend="milter-server-context-new">milter_server_context_new</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-set-connection-timeout">milter_server_context_set_connection_timeout</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-set-writing-timeout">milter_server_context_set_writing_timeout</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-set-reading-timeout">milter_server_context_set_reading_timeout</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-set-end-of-message-timeout">milter_server_context_set_end_of_message_timeout</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-set-connection-spec">milter_server_context_set_connection_spec</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-establish-connection">milter_server_context_establish_connection</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="MilterStatus"><returnvalue>MilterStatus</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-get-status">milter_server_context_get_status</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="MilterServerContextState"><returnvalue>MilterServerContextState</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-get-state">milter_server_context_get_state</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-set-state">milter_server_context_set_state</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-is-processing">milter_server_context_is_processing</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-negotiate">milter_server_context_negotiate</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-connect">milter_server_context_connect</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-helo">milter_server_context_helo</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-envelope-from">milter_server_context_envelope_from</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-envelope-recipient">milter_server_context_envelope_recipient</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-data">milter_server_context_data</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-unknown">milter_server_context_unknown</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-header">milter_server_context_header</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-end-of-header">milter_server_context_end_of_header</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-body">milter_server_context_body</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-end-of-message">milter_server_context_end_of_message</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-quit">milter_server_context_quit</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-abort">milter_server_context_abort</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-is-enable-step">milter_server_context_is_enable_step</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-get-skip-body">milter_server_context_get_skip_body</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> *
</entry><entry role="function_name"><link linkend="milter-server-context-get-name">milter_server_context_get_name</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="milter-server-context-set-name">milter_server_context_set_name</link> <phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="MilterServerContext.properties" role="properties">
<title role="properties.title">プロパティ</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="properties_type" colwidth="150px"/>
<colspec colname="properties_name" colwidth="300px"/>
<colspec colname="properties_flags" colwidth="200px"/>
<tbody>
<row><entry role="property_type"><link linkend="gdouble"><type>gdouble</type></link></entry><entry role="property_name"><link linkend="MilterServerContext--connection-timeout">connection-timeout</link></entry><entry role="property_flags">Read / Write / Construct</entry></row>
<row><entry role="property_type"><link linkend="gdouble"><type>gdouble</type></link></entry><entry role="property_name"><link linkend="MilterServerContext--end-of-message-timeout">end-of-message-timeout</link></entry><entry role="property_flags">Read / Write / Construct</entry></row>
<row><entry role="property_type"><link linkend="MilterMessageResult"><type>MilterMessageResult</type></link> *</entry><entry role="property_name"><link linkend="MilterServerContext--message-result">message-result</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gchar"><type>gchar</type></link> *</entry><entry role="property_name"><link linkend="MilterServerContext--name">name</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gdouble"><type>gdouble</type></link></entry><entry role="property_name"><link linkend="MilterServerContext--reading-timeout">reading-timeout</link></entry><entry role="property_flags">Read / Write / Construct</entry></row>
<row><entry role="property_type"><link linkend="MilterServerContextState"><type>MilterServerContextState</type></link></entry><entry role="property_name"><link linkend="MilterServerContext--state">state</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="MilterStatus"><type>MilterStatus</type></link></entry><entry role="property_name"><link linkend="MilterServerContext--status">status</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gdouble"><type>gdouble</type></link></entry><entry role="property_name"><link linkend="MilterServerContext--writing-timeout">writing-timeout</link></entry><entry role="property_flags">Read / Write / Construct</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="MilterServerContext.signals" role="signal_proto">
<title role="signal_proto.title">シグナル</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="signals_return" colwidth="150px"/>
<colspec colname="signals_name" colwidth="300px"/>
<colspec colname="signals_flags" colwidth="200px"/>
<tbody>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-connection-timeout">connection-timeout</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-end-of-message-timeout">end-of-message-timeout</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-message-processed">message-processed</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-reading-timeout">reading-timeout</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-ready">ready</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-state-transited">state-transited</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-stop-on-body">stop-on-body</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-stop-on-connect">stop-on-connect</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-stop-on-data">stop-on-data</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-stop-on-end-of-header">stop-on-end-of-header</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-stop-on-end-of-message">stop-on-end-of-message</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-stop-on-envelope-from">stop-on-envelope-from</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-stop-on-envelope-recipient">stop-on-envelope-recipient</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-stop-on-header">stop-on-header</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-stop-on-helo">stop-on-helo</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-stopped">stopped</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="MilterServerContext-writing-timeout">writing-timeout</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="MilterServerContext.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="name" colwidth="150px"/>
<colspec colname="description"/>
<tbody>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="MILTER-SERVER-CONTEXT-DEFAULT-CONNECTION-TIMEOUT:CAPS">MILTER_SERVER_CONTEXT_DEFAULT_CONNECTION_TIMEOUT</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="MILTER-SERVER-CONTEXT-DEFAULT-WRITING-TIMEOUT:CAPS">MILTER_SERVER_CONTEXT_DEFAULT_WRITING_TIMEOUT</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="MILTER-SERVER-CONTEXT-DEFAULT-READING-TIMEOUT:CAPS">MILTER_SERVER_CONTEXT_DEFAULT_READING_TIMEOUT</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="MILTER-SERVER-CONTEXT-DEFAULT-END-OF-MESSAGE-TIMEOUT:CAPS">MILTER_SERVER_CONTEXT_DEFAULT_END_OF_MESSAGE_TIMEOUT</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="MilterServerContextError">MilterServerContextError</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="MilterServerContextState">MilterServerContextState</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="MilterServerContext-struct">MilterServerContext</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="MilterServerContext.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">オブジェクト階層</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">╰──</phrase> <link linkend="MilterAgent">MilterAgent</link>
        <phrase role="lineart">╰──</phrase> <link linkend="MilterProtocolAgent">MilterProtocolAgent</link>
            <phrase role="lineart">╰──</phrase> MilterServerContext
</screen>
</refsect1>
<refsect1 id="MilterServerContext.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">実装されたインターフェイス</title>
<para>
MilterServerContext implements
 <link linkend="MilterErrorEmittable">MilterErrorEmittable</link>,  <link linkend="MilterFinishedEmittable">MilterFinishedEmittable</link> and  <link linkend="MilterReplySignals">MilterReplySignals</link>.</para>

</refsect1>


<refsect1 id="MilterServerContext.description" role="desc">
<title role="desc.title">説明</title>
<para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>は1つのサーバ側のmilterプロトコルセッションを処理します。これは各milterプロトコルセッション毎に<link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>インスタンスが生成されるということです。</para>

</refsect1>
<refsect1 id="MilterServerContext.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="MILTER-SERVER-CONTEXT-ERROR:CAPS" role="macro">
<title>MILTER_SERVER_CONTEXT_ERROR</title>
<indexterm zone="MILTER-SERVER-CONTEXT-ERROR:CAPS"><primary>MILTER_SERVER_CONTEXT_ERROR</primary></indexterm>
<programlisting language="C">#define MILTER_SERVER_CONTEXT_ERROR           (milter_server_context_error_quark())
</programlisting>
<para><link linkend="MilterServerContext"><type>MilterServerContext</type></link>のエラー用の<link linkend="GError"><type>GError</type></link>クォークを取得するために使われます。</para>
</refsect2>
<refsect2 id="milter-server-context-error-quark" role="function">
<title>milter_server_context_error_quark ()</title>
<indexterm zone="milter-server-context-error-quark"><primary>milter_server_context_error_quark</primary></indexterm>
<programlisting language="C"><link linkend="GQuark"><returnvalue>GQuark</returnvalue></link>
milter_server_context_error_quark (<parameter><type>void</type></parameter>);</programlisting>
<para>
</para>
<refsect3 role="returns">
<title>Returns</title>

<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-new" role="function">
<title>milter_server_context_new ()</title>
<indexterm zone="milter-server-context-new"><primary>milter_server_context_new</primary></indexterm>
<programlisting language="C"><link linkend="MilterServerContext"><returnvalue>MilterServerContext</returnvalue></link> *
milter_server_context_new (<parameter><type>void</type></parameter>);</programlisting>
<para>新しいコンテキストオブジェクトを生成します。</para>
<refsect3 role="returns">
<title>Returns</title>
<para>新しい<link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>オブジェクト。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-set-connection-timeout" role="function">
<title>milter_server_context_set_connection_timeout ()</title>
<indexterm zone="milter-server-context-set-connection-timeout"><primary>milter_server_context_set_connection_timeout</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
milter_server_context_set_connection_timeout
                               (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                                <parameter><link linkend="gdouble"><type>gdouble</type></link> timeout</parameter>);</programlisting>
<para>Sets the timeout by seconds on connection. If <parameter>context</parameter>

doesn't connects to client in <parameter>timeout</parameter>
 seconds,
<link linkend="MilterServerContext-timeout"><type>“timeout”</type></link> signal is emitted.</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>timeout</para></entry>
<entry role="parameter_description"><para>接続時の秒単位のタイムアウト。（既定値は<link linkend="MILTER-SERVER-CONTEXT-DEFAULT-CONNECTION-TIMEOUT:CAPS"><literal>MILTER_SERVER_CONTEXT_DEFAULT_CONNECTION_TIMEOUT</literal></link>）</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="milter-server-context-set-writing-timeout" role="function">
<title>milter_server_context_set_writing_timeout ()</title>
<indexterm zone="milter-server-context-set-writing-timeout"><primary>milter_server_context_set_writing_timeout</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
milter_server_context_set_writing_timeout
                               (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                                <parameter><link linkend="gdouble"><type>gdouble</type></link> timeout</parameter>);</programlisting>
<para>Sets the timeout by seconds on writing. If <parameter>context</parameter>

doesn't write to client socket in <parameter>timeout</parameter>
 seconds,
<link linkend="MilterServerContext-timeout"><type>“timeout”</type></link> signal is emitted.</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>timeout</para></entry>
<entry role="parameter_description"><para>秒単位での書き込みタイムアウト。（既定値は<link linkend="MILTER-SERVER-CONTEXT-DEFAULT-WRITING-TIMEOUT:CAPS"><literal>MILTER_SERVER_CONTEXT_DEFAULT_WRITING_TIMEOUT</literal></link>）</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="milter-server-context-set-reading-timeout" role="function">
<title>milter_server_context_set_reading_timeout ()</title>
<indexterm zone="milter-server-context-set-reading-timeout"><primary>milter_server_context_set_reading_timeout</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
milter_server_context_set_reading_timeout
                               (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                                <parameter><link linkend="gdouble"><type>gdouble</type></link> timeout</parameter>);</programlisting>
<para>Sets the timeout by seconds on reading. If <parameter>context</parameter>

doesn't receive response from client socket in <parameter>timeout</parameter>

seconds, <link linkend="MilterServerContext-timeout"><type>“timeout”</type></link> signal is emitted.</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>timeout</para></entry>
<entry role="parameter_description"><para>秒単位での読み込み時のタイムアウト。（既定値は<link linkend="MILTER-SERVER-CONTEXT-DEFAULT-READING-TIMEOUT:CAPS"><literal>MILTER_SERVER_CONTEXT_DEFAULT_READING_TIMEOUT</literal></link>）</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="milter-server-context-set-end-of-message-timeout" role="function">
<title>milter_server_context_set_end_of_message_timeout ()</title>
<indexterm zone="milter-server-context-set-end-of-message-timeout"><primary>milter_server_context_set_end_of_message_timeout</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
milter_server_context_set_end_of_message_timeout
                               (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                                <parameter><link linkend="gdouble"><type>gdouble</type></link> timeout</parameter>);</programlisting>
<para>Sets the timeout by seconds on end-of-message. If
<parameter>context</parameter>
 doesn't receive response for end-of-message from
client socket in <parameter>timeout</parameter>
 seconds,
<link linkend="MilterServerContext-timeout"><type>“timeout”</type></link> signal is emitted.</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>timeout</para></entry>
<entry role="parameter_description"><para>秒単位でのメッセージ終了時のタイムアウト。（既定値は<link linkend="MILTER-SERVER-CONTEXT-DEFAULT-END-OF-MESSAGE-TIMEOUT:CAPS"><literal>MILTER_SERVER_CONTEXT_DEFAULT_END_OF_MESSAGE_TIMEOUT</literal></link>）</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="milter-server-context-set-connection-spec" role="function">
<title>milter_server_context_set_connection_spec ()</title>
<indexterm zone="milter-server-context-set-connection-spec"><primary>milter_server_context_set_connection_spec</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_set_connection_spec
                               (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                                <parameter>const <link linkend="gchar"><type>gchar</type></link> *spec</parameter>,
                                <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
<para>Sets a connection specification of client. If <parameter>spec</parameter>
 is
invalid format and <parameter>error</parameter>
 is not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, error detail is
stored into <parameter>error</parameter>
.</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>spec</para></entry>
<entry role="parameter_description"><para>クライアントの接続指定。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>error</para></entry>
<entry role="parameter_description"><para>エラーを受け取る場所のアドレス、または<link linkend="NULL:CAPS"><literal>NULL</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-establish-connection" role="function">
<title>milter_server_context_establish_connection ()</title>
<indexterm zone="milter-server-context-establish-connection"><primary>milter_server_context_establish_connection</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_establish_connection
                               (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                                <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
<para>Establishes a connection to client. If establishing is
failed and <parameter>error</parameter>
 is not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, error detail is stored
into <parameter>error</parameter>
.</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>error</para></entry>
<entry role="parameter_description"><para>エラーを受け取る場所のアドレス、または<link linkend="NULL:CAPS"><literal>NULL</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-get-status" role="function">
<title>milter_server_context_get_status ()</title>
<indexterm zone="milter-server-context-get-status"><primary>milter_server_context_get_status</primary></indexterm>
<programlisting language="C"><link linkend="MilterStatus"><returnvalue>MilterStatus</returnvalue></link>
milter_server_context_get_status (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>);</programlisting>
<para>現在の状態を取得します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>現在の状態。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-get-state" role="function">
<title>milter_server_context_get_state ()</title>
<indexterm zone="milter-server-context-get-state"><primary>milter_server_context_get_state</primary></indexterm>
<programlisting language="C"><link linkend="MilterServerContextState"><returnvalue>MilterServerContextState</returnvalue></link>
milter_server_context_get_state (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>);</programlisting>
<para>現在の状態を取得します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>現在の状態。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-set-state" role="function">
<title>milter_server_context_set_state ()</title>
<indexterm zone="milter-server-context-set-state"><primary>milter_server_context_set_state</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
milter_server_context_set_state (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                                 <parameter><link linkend="MilterServerContextState"><type>MilterServerContextState</type></link> state</parameter>);</programlisting>
<para>現在の状態を設定します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>state</para></entry>
<entry role="parameter_description"><para>新しい状態。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="milter-server-context-is-processing" role="function">
<title>milter_server_context_is_processing ()</title>
<indexterm zone="milter-server-context-is-processing"><primary>milter_server_context_is_processing</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_is_processing (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>);</programlisting>
<para>応答を待っているかどうかを取得します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>最後の書き込みの後に応答を受け取っていたら<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>、そうでなければ<link linkend="FALSE:CAPS"><literal>FALSE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-negotiate" role="function">
<title>milter_server_context_negotiate ()</title>
<indexterm zone="milter-server-context-negotiate"><primary>milter_server_context_negotiate</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_negotiate (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                                 <parameter><link linkend="MilterOption"><type>MilterOption</type></link> *option</parameter>);</programlisting>
<para>クライアントとネゴシエーションします。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>option</para></entry>
<entry role="parameter_description"><para>ネゴシエーションのオプション。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-connect" role="function">
<title>milter_server_context_connect ()</title>
<indexterm zone="milter-server-context-connect"><primary>milter_server_context_connect</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_connect (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                               <parameter>const <link linkend="gchar"><type>gchar</type></link> *host_name</parameter>,
                               <parameter><type>struct sockaddr</type> *address</parameter>,
                               <parameter><link linkend="socklen-t"><type>socklen_t</type></link> address_length</parameter>);</programlisting>
<para>接続されたSMTPクライアントの情報を送信します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>host_name</para></entry>
<entry role="parameter_description"><para>接続してきたSMTPクライアントのホスト名。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>address</para></entry>
<entry role="parameter_description"><para>接続してきたSMTPクライアントのアドレス。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>address_length</para></entry>
<entry role="parameter_description"><para>the length of <parameter>address</parameter>
.</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-helo" role="function">
<title>milter_server_context_helo ()</title>
<indexterm zone="milter-server-context-helo"><primary>milter_server_context_helo</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_helo (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                            <parameter>const <link linkend="gchar"><type>gchar</type></link> *fqdn</parameter>);</programlisting>
<para>HELOに渡されたFQDNを送信します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>fqdn</para></entry>
<entry role="parameter_description"><para>FQDN。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-envelope-from" role="function">
<title>milter_server_context_envelope_from ()</title>
<indexterm zone="milter-server-context-envelope-from"><primary>milter_server_context_envelope_from</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_envelope_from (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                                     <parameter>const <link linkend="gchar"><type>gchar</type></link> *from</parameter>);</programlisting>
<para>MAIL FROM時に渡されたパラメタを送信します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>from</para></entry>
<entry role="parameter_description"><para>送信者のアドレス。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-envelope-recipient" role="function">
<title>milter_server_context_envelope_recipient ()</title>
<indexterm zone="milter-server-context-envelope-recipient"><primary>milter_server_context_envelope_recipient</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_envelope_recipient
                               (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                                <parameter>const <link linkend="gchar"><type>gchar</type></link> *recipient</parameter>);</programlisting>
<para>RCPT TO時に渡されたパラメタを送信します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>recipient</para></entry>
<entry role="parameter_description"><para>宛先アドレス。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-data" role="function">
<title>milter_server_context_data ()</title>
<indexterm zone="milter-server-context-data"><primary>milter_server_context_data</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_data (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>);</programlisting>
<para>DATAコマンドを受信したことを通知します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-unknown" role="function">
<title>milter_server_context_unknown ()</title>
<indexterm zone="milter-server-context-unknown"><primary>milter_server_context_unknown</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_unknown (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                               <parameter>const <link linkend="gchar"><type>gchar</type></link> *command</parameter>);</programlisting>
<para>受信した未知のSMTPコマンドを送信します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>command</para></entry>
<entry role="parameter_description"><para>未知のSMTPコマンド。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-header" role="function">
<title>milter_server_context_header ()</title>
<indexterm zone="milter-server-context-header"><primary>milter_server_context_header</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_header (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                              <parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>,
                              <parameter>const <link linkend="gchar"><type>gchar</type></link> *value</parameter>);</programlisting>
<para>ヘッダを送信します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>name</para></entry>
<entry role="parameter_description"><para>ヘッダ名。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>value</para></entry>
<entry role="parameter_description"><para>ヘッダ値。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-end-of-header" role="function">
<title>milter_server_context_end_of_header ()</title>
<indexterm zone="milter-server-context-end-of-header"><primary>milter_server_context_end_of_header</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_end_of_header (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>);</programlisting>
<para>すべてのヘッダが送信されたことを通知します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-body" role="function">
<title>milter_server_context_body ()</title>
<indexterm zone="milter-server-context-body"><primary>milter_server_context_body</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_body (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                            <parameter>const <link linkend="gchar"><type>gchar</type></link> *chunk</parameter>,
                            <parameter><link linkend="gsize"><type>gsize</type></link> size</parameter>);</programlisting>
<para>本文の1かたまりを送信します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>chunk</para></entry>
<entry role="parameter_description"><para>本文の1かたまり。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>size</para></entry>
<entry role="parameter_description"><para>the size of <parameter>chunk</parameter>
.</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-end-of-message" role="function">
<title>milter_server_context_end_of_message ()</title>
<indexterm zone="milter-server-context-end-of-message"><primary>milter_server_context_end_of_message</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_end_of_message (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                                      <parameter>const <link linkend="gchar"><type>gchar</type></link> *chunk</parameter>,
                                      <parameter><link linkend="gsize"><type>gsize</type></link> size</parameter>);</programlisting>
<para>すべての本文のかたまりを送信したことを通知します。未送信の最後の本文のかたまりも一緒に送信することができます。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>chunk</para></entry>
<entry role="parameter_description"><para>本文のかたまり。<link linkend="NULL:CAPS"><literal>NULL</literal></link>かもしれません。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>size</para></entry>
<entry role="parameter_description"><para>the size of <parameter>chunk</parameter>
.</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-quit" role="function">
<title>milter_server_context_quit ()</title>
<indexterm zone="milter-server-context-quit"><primary>milter_server_context_quit</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_quit (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>);</programlisting>
<para>現在の接続を終了します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-abort" role="function">
<title>milter_server_context_abort ()</title>
<indexterm zone="milter-server-context-abort"><primary>milter_server_context_abort</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_abort (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>);</programlisting>
<para>現在の接続を中止します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>成功時は<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-is-enable-step" role="function">
<title>milter_server_context_is_enable_step ()</title>
<indexterm zone="milter-server-context-is-enable-step"><primary>milter_server_context_is_enable_step</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_is_enable_step (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                                      <parameter><link linkend="MilterStepFlags"><type>MilterStepFlags</type></link> step</parameter>);</programlisting>
<para>Gets whether <parameter>step</parameter>
 flag is enabled in the <parameter>context</parameter>
's option.</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>step</para></entry>
<entry role="parameter_description"><para>ステップフラグ。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para><parameter>step</parameter>フラグが有効なら<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>、そうでなければ<link linkend="FALSE:CAPS"><literal>FALSE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-get-skip-body" role="function">
<title>milter_server_context_get_skip_body ()</title>
<indexterm zone="milter-server-context-get-skip-body"><primary>milter_server_context_get_skip_body</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
milter_server_context_get_skip_body (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>);</programlisting>
<para><parameter>context</parameter>が本文のかたまりを送っている間にスキップ応答を受け取ったかどうかを取得します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>本文のかたまりを省略していたら<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>、そうでなければ<link linkend="FALSE:CAPS"><literal>FALSE</literal></link>。</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-get-name" role="function">
<title>milter_server_context_get_name ()</title>
<indexterm zone="milter-server-context-get-name"><primary>milter_server_context_get_name</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> *
milter_server_context_get_name (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>);</programlisting>
<para>Gets the name of <parameter>context</parameter>
.</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para> the name of <parameter>context</parameter>
.</para>
<para/>
</refsect3></refsect2>
<refsect2 id="milter-server-context-set-name" role="function">
<title>milter_server_context_set_name ()</title>
<indexterm zone="milter-server-context-set-name"><primary>milter_server_context_set_name</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
milter_server_context_set_name (<parameter><link linkend="MilterServerContext"><type>MilterServerContext</type></link> *context</parameter>,
                                <parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>);</programlisting>
<para>Sets the name of <parameter>context</parameter>
.</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>name</para></entry>
<entry role="parameter_description"><para>名前。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="MilterServerContext.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="MILTER-SERVER-CONTEXT-DEFAULT-CONNECTION-TIMEOUT:CAPS" role="macro">
<title>MILTER_SERVER_CONTEXT_DEFAULT_CONNECTION_TIMEOUT</title>
<indexterm zone="MILTER-SERVER-CONTEXT-DEFAULT-CONNECTION-TIMEOUT:CAPS"><primary>MILTER_SERVER_CONTEXT_DEFAULT_CONNECTION_TIMEOUT</primary></indexterm>
<programlisting language="C">#define MILTER_SERVER_CONTEXT_DEFAULT_CONNECTION_TIMEOUT     300
</programlisting>
<para>既定の秒単位での接続タイムアウト。</para>
</refsect2>
<refsect2 id="MILTER-SERVER-CONTEXT-DEFAULT-WRITING-TIMEOUT:CAPS" role="macro">
<title>MILTER_SERVER_CONTEXT_DEFAULT_WRITING_TIMEOUT</title>
<indexterm zone="MILTER-SERVER-CONTEXT-DEFAULT-WRITING-TIMEOUT:CAPS"><primary>MILTER_SERVER_CONTEXT_DEFAULT_WRITING_TIMEOUT</primary></indexterm>
<programlisting language="C">#define MILTER_SERVER_CONTEXT_DEFAULT_WRITING_TIMEOUT         10
</programlisting>
<para>既定の秒単位での書き込みタイムアウト。</para>
</refsect2>
<refsect2 id="MILTER-SERVER-CONTEXT-DEFAULT-READING-TIMEOUT:CAPS" role="macro">
<title>MILTER_SERVER_CONTEXT_DEFAULT_READING_TIMEOUT</title>
<indexterm zone="MILTER-SERVER-CONTEXT-DEFAULT-READING-TIMEOUT:CAPS"><primary>MILTER_SERVER_CONTEXT_DEFAULT_READING_TIMEOUT</primary></indexterm>
<programlisting language="C">#define MILTER_SERVER_CONTEXT_DEFAULT_READING_TIMEOUT         10
</programlisting>
<para>既定の秒単位での読み込みタイムアウト。</para>
</refsect2>
<refsect2 id="MILTER-SERVER-CONTEXT-DEFAULT-END-OF-MESSAGE-TIMEOUT:CAPS" role="macro">
<title>MILTER_SERVER_CONTEXT_DEFAULT_END_OF_MESSAGE_TIMEOUT</title>
<indexterm zone="MILTER-SERVER-CONTEXT-DEFAULT-END-OF-MESSAGE-TIMEOUT:CAPS"><primary>MILTER_SERVER_CONTEXT_DEFAULT_END_OF_MESSAGE_TIMEOUT</primary></indexterm>
<programlisting language="C">#define MILTER_SERVER_CONTEXT_DEFAULT_END_OF_MESSAGE_TIMEOUT 300
</programlisting>
<para>既定の秒単位でのメッセージ終了時の応答待ちタイムアウト。</para>
</refsect2>
<refsect2 id="MilterServerContextError" role="enum">
<title>enum MilterServerContextError</title>
<indexterm zone="MilterServerContextError"><primary>MilterServerContextError</primary></indexterm>
<para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>の関数呼び出し中に発生するエラーを識別します。</para>
<refsect3 role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-ERROR-CONNECTION-FAILURE:CAPS">MILTER_SERVER_CONTEXT_ERROR_CONNECTION_FAILURE</para></entry>
<entry role="enum_member_description"><para>接続が失敗したことを示します。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-ERROR-NO-SPEC:CAPS">MILTER_SERVER_CONTEXT_ERROR_NO_SPEC</para></entry>
<entry role="enum_member_description"><para>接続指定が設定されていないことを示します。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-ERROR-INVALID-STATE:CAPS">MILTER_SERVER_CONTEXT_ERROR_INVALID_STATE</para></entry>
<entry role="enum_member_description"><para>現在の<link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>が予期しない応答を受け取ったことを示します。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-ERROR-BUSY:CAPS">MILTER_SERVER_CONTEXT_ERROR_BUSY</para></entry>
<entry role="enum_member_description"><para>前の操作の結果を受け取る前に新しい操作が要求されたことを示します。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-ERROR-IO-ERROR:CAPS">MILTER_SERVER_CONTEXT_ERROR_IO_ERROR</para></entry>
<entry role="enum_member_description"><para>milterプロトコルデータの読み書き時に発生した入出力エラーを示します。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-ERROR-NEWER-VERSION-REQUESTED:CAPS">MILTER_SERVER_CONTEXT_ERROR_NEWER_VERSION_REQUESTED</para></entry>
<entry role="enum_member_description"><para>未サポートの新しいバージョンが要求されたことを示します。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="MilterServerContextState" role="enum">
<title>enum MilterServerContextState</title>
<indexterm zone="MilterServerContextState"><primary>MilterServerContextState</primary></indexterm>
<para><link linkend="MilterServerContext"><literal>MilterServerContext</literal></link>の状態を識別します。</para>
<refsect3 role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-INVALID:CAPS">MILTER_SERVER_CONTEXT_STATE_INVALID</para></entry>
<entry role="enum_member_description"><para>不正な状態。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-START:CAPS">MILTER_SERVER_CONTEXT_STATE_START</para></entry>
<entry role="enum_member_description"><para>はじまったばかり。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-DEFINE-MACRO:CAPS">MILTER_SERVER_CONTEXT_STATE_DEFINE_MACRO</para></entry>
<entry role="enum_member_description"><para>マクロ定義を送信しました。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-NEGOTIATE:CAPS">MILTER_SERVER_CONTEXT_STATE_NEGOTIATE</para></entry>
<entry role="enum_member_description"><para>ネゴシエーション中。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-CONNECT:CAPS">MILTER_SERVER_CONTEXT_STATE_CONNECT</para></entry>
<entry role="enum_member_description"><para>接続情報を送信しました。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-HELO:CAPS">MILTER_SERVER_CONTEXT_STATE_HELO</para></entry>
<entry role="enum_member_description"><para>HELOコマンドの情報を送信しました。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-ENVELOPE-FROM:CAPS">MILTER_SERVER_CONTEXT_STATE_ENVELOPE_FROM</para></entry>
<entry role="enum_member_description"><para>MAIL FROMコマンドの情報を送信しました。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-ENVELOPE-RECIPIENT:CAPS">MILTER_SERVER_CONTEXT_STATE_ENVELOPE_RECIPIENT</para></entry>
<entry role="enum_member_description"><para>RCPT TOコマンドの情報を送信しました。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-DATA:CAPS">MILTER_SERVER_CONTEXT_STATE_DATA</para></entry>
<entry role="enum_member_description"><para>DATAコマンドの情報を送信しました。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-UNKNOWN:CAPS">MILTER_SERVER_CONTEXT_STATE_UNKNOWN</para></entry>
<entry role="enum_member_description"><para>未知のSMTPコマンドを送信しました。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-HEADER:CAPS">MILTER_SERVER_CONTEXT_STATE_HEADER</para></entry>
<entry role="enum_member_description"><para>ヘッダを送信した。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-END-OF-HEADER:CAPS">MILTER_SERVER_CONTEXT_STATE_END_OF_HEADER</para></entry>
<entry role="enum_member_description"><para>すべてのヘッダを送信しました。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-BODY:CAPS">MILTER_SERVER_CONTEXT_STATE_BODY</para></entry>
<entry role="enum_member_description"><para>本文の1かたまりを送信しました。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-END-OF-MESSAGE:CAPS">MILTER_SERVER_CONTEXT_STATE_END_OF_MESSAGE</para></entry>
<entry role="enum_member_description"><para>本文すべてを送信しました。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-QUIT:CAPS">MILTER_SERVER_CONTEXT_STATE_QUIT</para></entry>
<entry role="enum_member_description"><para>終了要求を送信しました。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
<row role="constant"><entry role="enum_member_name"><para id="MILTER-SERVER-CONTEXT-STATE-ABORT:CAPS">MILTER_SERVER_CONTEXT_STATE_ABORT</para></entry>
<entry role="enum_member_description"><para>中止要求を送信しました。</para>
</entry>
<entry role="enum_member_annotations"/>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="MilterServerContext-struct" role="struct">
<title>struct MilterServerContext</title>
<indexterm zone="MilterServerContext-struct"><primary>MilterServerContext</primary></indexterm>
<programlisting language="C">struct MilterServerContext;</programlisting>
<para>
</para>
</refsect2>

</refsect1>
<refsect1 id="MilterServerContext.property-details" role="property_details">
<title role="property_details.title">プロパティ詳細</title>
<refsect2 id="MilterServerContext--connection-timeout" role="property"><title>The <literal>“connection-timeout”</literal> property</title>
<indexterm zone="MilterServerContext--connection-timeout"><primary>MilterServerContext:connection-timeout</primary></indexterm>
<programlisting>  “connection-timeout”       <link linkend="gdouble"><type>gdouble</type></link></programlisting>
<para>The timeout seconds for connecting to a filter.</para><para>Flags: Read / Write / Construct</para>
<para>Allowed values: &gt;= 0</para>
<para>Default value: 300</para>
</refsect2>
<refsect2 id="MilterServerContext--end-of-message-timeout" role="property"><title>The <literal>“end-of-message-timeout”</literal> property</title>
<indexterm zone="MilterServerContext--end-of-message-timeout"><primary>MilterServerContext:end-of-message-timeout</primary></indexterm>
<programlisting>  “end-of-message-timeout”   <link linkend="gdouble"><type>gdouble</type></link></programlisting>
<para>The timeout seconds between sending end-of-message to a filter and waiting for its reply.</para><para>Flags: Read / Write / Construct</para>
<para>Allowed values: &gt;= 0</para>
<para>Default value: 300</para>
</refsect2>
<refsect2 id="MilterServerContext--message-result" role="property"><title>The <literal>“message-result”</literal> property</title>
<indexterm zone="MilterServerContext--message-result"><primary>MilterServerContext:message-result</primary></indexterm>
<programlisting>  “message-result”           <link linkend="MilterMessageResult"><type>MilterMessageResult</type></link> *</programlisting>
<para>現在処理中のメッセージの結果。</para><para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="MilterServerContext--name" role="property"><title>The <literal>“name”</literal> property</title>
<indexterm zone="MilterServerContext--name"><primary>MilterServerContext:name</primary></indexterm>
<programlisting>  “name”                     <link linkend="gchar"><type>gchar</type></link> *</programlisting>
<para>MilterServerContextの名前。</para><para>Flags: Read / Write</para>
<para>デフォルト値: NULL</para>
</refsect2>
<refsect2 id="MilterServerContext--reading-timeout" role="property"><title>The <literal>“reading-timeout”</literal> property</title>
<indexterm zone="MilterServerContext--reading-timeout"><primary>MilterServerContext:reading-timeout</primary></indexterm>
<programlisting>  “reading-timeout”          <link linkend="gdouble"><type>gdouble</type></link></programlisting>
<para>The timeout seconds for reading reply from a filter.</para><para>Flags: Read / Write / Construct</para>
<para>Allowed values: &gt;= 0</para>
<para>デフォルト値: 10</para>
</refsect2>
<refsect2 id="MilterServerContext--state" role="property"><title>The <literal>“state”</literal> property</title>
<indexterm zone="MilterServerContext--state"><primary>MilterServerContext:state</primary></indexterm>
<programlisting>  “state”                    <link linkend="MilterServerContextState"><type>MilterServerContextState</type></link></programlisting>
<para>MilterServerContextの状態。</para><para>Flags: Read / Write</para>
<para>Default value: MILTER_SERVER_CONTEXT_STATE_START</para>
</refsect2>
<refsect2 id="MilterServerContext--status" role="property"><title>The <literal>“status”</literal> property</title>
<indexterm zone="MilterServerContext--status"><primary>MilterServerContext:status</primary></indexterm>
<programlisting>  “status”                   <link linkend="MilterStatus"><type>MilterStatus</type></link></programlisting>
<para>MilterServerContextのステータス。</para><para>Flags: Read / Write</para>
<para>Default value: MILTER_STATUS_NOT_CHANGE</para>
</refsect2>
<refsect2 id="MilterServerContext--writing-timeout" role="property"><title>The <literal>“writing-timeout”</literal> property</title>
<indexterm zone="MilterServerContext--writing-timeout"><primary>MilterServerContext:writing-timeout</primary></indexterm>
<programlisting>  “writing-timeout”          <link linkend="gdouble"><type>gdouble</type></link></programlisting>
<para>The timeout seconds for writing information from MTA to a filter.</para><para>Flags: Read / Write / Construct</para>
<para>Allowed values: &gt;= 0</para>
<para>デフォルト値: 10</para>
</refsect2>

</refsect1>
<refsect1 id="MilterServerContext.signal-details" role="signals">
<title role="signals.title">シグナル詳細</title>
<refsect2 id="MilterServerContext-connection-timeout" role="signal"><title>The <literal>“connection-timeout”</literal> signal</title>
<indexterm zone="MilterServerContext-connection-timeout"><primary>MilterServerContext::connection-timeout</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-end-of-message-timeout" role="signal"><title>The <literal>“end-of-message-timeout”</literal> signal</title>
<indexterm zone="MilterServerContext-end-of-message-timeout"><primary>MilterServerContext::end-of-message-timeout</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-message-processed" role="signal"><title>The <literal>“message-processed”</literal> signal</title>
<indexterm zone="MilterServerContext-message-processed"><primary>MilterServerContext::message-processed</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="MilterMessageResult"><type>MilterMessageResult</type></link> *arg1,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-reading-timeout" role="signal"><title>The <literal>“reading-timeout”</literal> signal</title>
<indexterm zone="MilterServerContext-reading-timeout"><primary>MilterServerContext::reading-timeout</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-ready" role="signal"><title>The <literal>“ready”</literal> signal</title>
<indexterm zone="MilterServerContext-ready"><primary>MilterServerContext::ready</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-state-transited" role="signal"><title>The <literal>“state-transited”</literal> signal</title>
<indexterm zone="MilterServerContext-state-transited"><primary>MilterServerContext::state-transited</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link>     *milterservercontext,
               <link linkend="MilterServerContextState"><type>MilterServerContextState</type></link> arg1,
               <link linkend="gpointer"><type>gpointer</type></link>                 user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-stop-on-body" role="signal"><title>The <literal>“stop-on-body”</literal> signal</title>
<indexterm zone="MilterServerContext-stop-on-body"><primary>MilterServerContext::stop-on-body</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gchar"><type>gchar</type></link>               *arg1,
               <link linkend="guint64"><type>guint64</type></link>              arg2,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>

<para/>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-stop-on-connect" role="signal"><title>The <literal>“stop-on-connect”</literal> signal</title>
<indexterm zone="MilterServerContext-stop-on-connect"><primary>MilterServerContext::stop-on-connect</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gchar"><type>gchar</type></link>               *arg1,
               <link linkend="gpointer"><type>gpointer</type></link>             arg2,
               <link linkend="guint"><type>guint</type></link>                arg3,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>

<para/>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-stop-on-data" role="signal"><title>The <literal>“stop-on-data”</literal> signal</title>
<indexterm zone="MilterServerContext-stop-on-data"><primary>MilterServerContext::stop-on-data</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>

<para/>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-stop-on-end-of-header" role="signal"><title>The <literal>“stop-on-end-of-header”</literal> signal</title>
<indexterm zone="MilterServerContext-stop-on-end-of-header"><primary>MilterServerContext::stop-on-end-of-header</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>

<para/>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-stop-on-end-of-message" role="signal"><title>The <literal>“stop-on-end-of-message”</literal> signal</title>
<indexterm zone="MilterServerContext-stop-on-end-of-message"><primary>MilterServerContext::stop-on-end-of-message</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gchar"><type>gchar</type></link>               *arg1,
               <link linkend="guint64"><type>guint64</type></link>              arg2,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>

<para/>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-stop-on-envelope-from" role="signal"><title>The <literal>“stop-on-envelope-from”</literal> signal</title>
<indexterm zone="MilterServerContext-stop-on-envelope-from"><primary>MilterServerContext::stop-on-envelope-from</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gchar"><type>gchar</type></link>               *arg1,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>

<para/>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-stop-on-envelope-recipient" role="signal"><title>The <literal>“stop-on-envelope-recipient”</literal> signal</title>
<indexterm zone="MilterServerContext-stop-on-envelope-recipient"><primary>MilterServerContext::stop-on-envelope-recipient</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gchar"><type>gchar</type></link>               *arg1,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>

<para/>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-stop-on-header" role="signal"><title>The <literal>“stop-on-header”</literal> signal</title>
<indexterm zone="MilterServerContext-stop-on-header"><primary>MilterServerContext::stop-on-header</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gchar"><type>gchar</type></link>               *arg1,
               <link linkend="gchar"><type>gchar</type></link>               *arg2,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>

<para/>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-stop-on-helo" role="signal"><title>The <literal>“stop-on-helo”</literal> signal</title>
<indexterm zone="MilterServerContext-stop-on-helo"><primary>MilterServerContext::stop-on-helo</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gchar"><type>gchar</type></link>               *arg1,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>

<para/>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-stopped" role="signal"><title>The <literal>“stopped”</literal> signal</title>
<indexterm zone="MilterServerContext-stopped"><primary>MilterServerContext::stopped</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="MilterServerContext-writing-timeout" role="signal"><title>The <literal>“writing-timeout”</literal> signal</title>
<indexterm zone="MilterServerContext-writing-timeout"><primary>MilterServerContext::writing-timeout</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="MilterServerContext"><type>MilterServerContext</type></link> *milterservercontext,
               <link linkend="gpointer"><type>gpointer</type></link>             user_data)</programlisting>
<para>
</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>milterservercontext</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2>
</refsect1>

</refentry>
