<?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="MilterAgent">
<refmeta>
<refentrytitle role="top_of_page" id="MilterAgent.top_of_page">MilterAgent</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>milter managerライブラリ</refmiscinfo>
</refmeta>
<refnamediv>
<refname>MilterAgent</refname>
<refpurpose/>
</refnamediv>

<refsynopsisdiv id="MilterAgent.synopsis" role="synopsis">
<title role="synopsis.title">概要</title>

<synopsis>#define             <link linkend="MILTER-AGENT-ERROR:CAPS">MILTER_AGENT_ERROR</link>
enum                <link linkend="MilterAgentError">MilterAgentError</link>;
                    <link linkend="MilterAgent-struct">MilterAgent</link>;
<link linkend="GQuark"><returnvalue>GQuark</returnvalue></link>              <link linkend="milter-agent-error-quark">milter_agent_error_quark</link>            (void);
<link linkend="MilterEncoder"><returnvalue>MilterEncoder</returnvalue></link> *     <link linkend="milter-agent-get-encoder">milter_agent_get_encoder</link>            (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent);
<link linkend="MilterDecoder"><returnvalue>MilterDecoder</returnvalue></link> *     <link linkend="milter-agent-get-decoder">milter_agent_get_decoder</link>            (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent);
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="milter-agent-set-writer">milter_agent_set_writer</link>             (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterWriter"><returnvalue>MilterWriter</returnvalue></link> *writer);
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="milter-agent-set-reader">milter_agent_set_reader</link>             (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterReader"><returnvalue>MilterReader</returnvalue></link> *reader);
<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>            <link linkend="milter-agent-write-packet">milter_agent_write_packet</link>           (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent,
                                                         const <link linkend="char"><returnvalue>char</returnvalue></link> *packet,
                                                         <link linkend="gsize"><returnvalue>gsize</returnvalue></link> packet_size,
                                                         <link linkend="GError"><returnvalue>GError</returnvalue></link> **error);
<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>            <link linkend="milter-agent-flush">milter_agent_flush</link>                  (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent,
                                                         <link linkend="GError"><returnvalue>GError</returnvalue></link> **error);
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="milter-agent-start">milter_agent_start</link>                  (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent);
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="milter-agent-shutdown">milter_agent_shutdown</link>               (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent);
</synopsis>
</refsynopsisdiv>
<refsect1 id="MilterAgent.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">オブジェクト階層</title>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----MilterAgent
         +----<link linkend="MilterProtocolAgent">MilterProtocolAgent</link>
</synopsis>
</refsect1>
<refsect1 id="MilterAgent.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">実装されたインターフェイス</title>
<para>MilterAgentは<link linkend="MilterErrorEmittable">MilterErrorEmittable</link>と<link linkend="MilterFinishedEmittable">MilterFinishedEmittable</link>を実装しています。</para>
</refsect1>

<refsect1 id="MilterAgent.description" role="desc">
<title role="desc.title">説明</title>
<para>
</para>
</refsect1>
<refsect1 id="MilterAgent.details" role="details">
<title role="details.title">詳細</title>
<refsect2 id="MILTER-AGENT-ERROR:CAPS" role="macro">
<title>MILTER_AGENT_ERROR</title>
<indexterm zone="MILTER-AGENT-ERROR:CAPS"><primary>MILTER_AGENT_ERROR</primary></indexterm>
<programlisting>#define MILTER_AGENT_ERROR           (milter_agent_error_quark())
</programlisting>
<para>
</para></refsect2>
<refsect2 id="MilterAgentError" role="enum">
<title>enum MilterAgentError</title>
<indexterm zone="MilterAgentError"><primary>MilterAgentError</primary></indexterm>
<programlisting>typedef enum
{
    MILTER_AGENT_ERROR_IO_ERROR,
    MILTER_AGENT_ERROR_DECODE_ERROR
} MilterAgentError;
</programlisting>
<para>
</para></refsect2>
<refsect2 id="MilterAgent-struct" role="struct">
<title>MilterAgent</title>
<indexterm zone="MilterAgent-struct"><primary>MilterAgent</primary></indexterm>
<programlisting>typedef struct _MilterAgent MilterAgent;</programlisting>
<para>
</para></refsect2>
<refsect2 id="milter-agent-error-quark" role="function">
<title>milter_agent_error_quark ()</title>
<indexterm zone="milter-agent-error-quark"><primary>milter_agent_error_quark</primary></indexterm>
<programlisting><link linkend="GQuark"><returnvalue>GQuark</returnvalue></link>              milter_agent_error_quark            (void);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>返値</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-agent-get-encoder" role="function">
<title>milter_agent_get_encoder ()</title>
<indexterm zone="milter-agent-get-encoder"><primary>milter_agent_get_encoder</primary></indexterm>
<programlisting><link linkend="MilterEncoder"><returnvalue>MilterEncoder</returnvalue></link> *     milter_agent_get_encoder            (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>返値</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-agent-get-decoder" role="function">
<title>milter_agent_get_decoder ()</title>
<indexterm zone="milter-agent-get-decoder"><primary>milter_agent_get_decoder</primary></indexterm>
<programlisting><link linkend="MilterDecoder"><returnvalue>MilterDecoder</returnvalue></link> *     milter_agent_get_decoder            (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>返値</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-agent-set-writer" role="function">
<title>milter_agent_set_writer ()</title>
<indexterm zone="milter-agent-set-writer"><primary>milter_agent_set_writer</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                milter_agent_set_writer             (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterWriter"><returnvalue>MilterWriter</returnvalue></link> *writer);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>writer</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-agent-set-reader" role="function">
<title>milter_agent_set_reader ()</title>
<indexterm zone="milter-agent-set-reader"><primary>milter_agent_set_reader</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                milter_agent_set_reader             (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterReader"><returnvalue>MilterReader</returnvalue></link> *reader);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>reader</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-agent-write-packet" role="function">
<title>milter_agent_write_packet ()</title>
<indexterm zone="milter-agent-write-packet"><primary>milter_agent_write_packet</primary></indexterm>
<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>            milter_agent_write_packet           (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent,
                                                         const <link linkend="char"><returnvalue>char</returnvalue></link> *packet,
                                                         <link linkend="gsize"><returnvalue>gsize</returnvalue></link> packet_size,
                                                         <link linkend="GError"><returnvalue>GError</returnvalue></link> **error);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>packet</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>packet_size</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>error</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>返値</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-agent-flush" role="function">
<title>milter_agent_flush ()</title>
<indexterm zone="milter-agent-flush"><primary>milter_agent_flush</primary></indexterm>
<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>            milter_agent_flush                  (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent,
                                                         <link linkend="GError"><returnvalue>GError</returnvalue></link> **error);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>error</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>返値</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-agent-start" role="function">
<title>milter_agent_start ()</title>
<indexterm zone="milter-agent-start"><primary>milter_agent_start</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                milter_agent_start                  (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-agent-shutdown" role="function">
<title>milter_agent_shutdown ()</title>
<indexterm zone="milter-agent-shutdown"><primary>milter_agent_shutdown</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                milter_agent_shutdown               (<link linkend="MilterAgent"><returnvalue>MilterAgent</returnvalue></link> *agent);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>

</refentry>
