<refentry id="camel-CamelIMAPPStream">
<refmeta>
<refentrytitle role="top_of_page" id="camel-CamelIMAPPStream.top_of_page">CamelIMAPPStream</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAMEL Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>CamelIMAPPStream</refname>
<refpurpose></refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

<refsynopsisdiv id="camel-CamelIMAPPStream.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>
                    <link linkend="CamelIMAPPStream">CamelIMAPPStream</link>;
enum                <link linkend="camel-imapp-token-t">camel_imapp_token_t</link>;
<link linkend="CamelStream">CamelStream</link>*        <link linkend="camel-imapp-stream-new">camel_imapp_stream_new</link>              (<link linkend="CamelStream">CamelStream</link> *source);
<link linkend="camel-imapp-token-t">camel_imapp_token_t</link> <link linkend="camel-imapp-stream-token">camel_imapp_stream_token</link>            (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="char">char</link> **start,
                                                         unsigned <link linkend="int">int</link> *len);
<link linkend="void">void</link>                <link linkend="camel-imapp-stream-ungettoken">camel_imapp_stream_ungettoken</link>       (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         <link linkend="camel-imapp-token-t">camel_imapp_token_t</link> tok,
                                                         unsigned <link linkend="char">char</link> *token,
                                                         unsigned <link linkend="int">int</link> len);
<link linkend="void">void</link>                <link linkend="camel-imapp-stream-set-literal">camel_imapp_stream_set_literal</link>      (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="int">int</link> literal);
<link linkend="int">int</link>                 <link linkend="camel-imapp-stream-gets">camel_imapp_stream_gets</link>             (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="char">char</link> **start,
                                                         unsigned <link linkend="int">int</link> *len);
<link linkend="int">int</link>                 <link linkend="camel-imapp-stream-getl">camel_imapp_stream_getl</link>             (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="char">char</link> **start,
                                                         unsigned <link linkend="int">int</link> *len);
<link linkend="int">int</link>                 <link linkend="camel-imapp-stream-atom">camel_imapp_stream_atom</link>             (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="char">char</link> **start,
                                                         unsigned <link linkend="int">int</link> *len);
<link linkend="int">int</link>                 <link linkend="camel-imapp-stream-astring">camel_imapp_stream_astring</link>          (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="char">char</link> **start);
<link linkend="int">int</link>                 <link linkend="camel-imapp-stream-nstring">camel_imapp_stream_nstring</link>          (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="char">char</link> **start);
<link linkend="int">int</link>                 <link linkend="camel-imapp-stream-nstring-stream">camel_imapp_stream_nstring_stream</link>   (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         <link linkend="CamelStream">CamelStream</link> **stream);
<link linkend="int">int</link>                 <link linkend="camel-imapp-stream-text">camel_imapp_stream_text</link>             (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="char">char</link> **text);
<link linkend="guint32">guint32</link>             <link linkend="camel-imapp-stream-number">camel_imapp_stream_number</link>           (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is);
</synopsis>
</refsynopsisdiv>









<refsect1 id="camel-CamelIMAPPStream.description" role="desc">
<title role="desc.title">Description</title>
<para>

</para>
</refsect1>

<refsect1 id="camel-CamelIMAPPStream.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="CamelIMAPPStream" role="struct">
<title>CamelIMAPPStream</title>
<indexterm zone="CamelIMAPPStream"><primary>CamelIMAPPStream</primary></indexterm><programlisting>typedef struct {
	CamelStream parent;

	CamelStream *source;

	/*int state;*/
	unsigned char *buf, *ptr, *end;
	unsigned int literal;

	unsigned int unget;
	camel_imapp_token_t unget_tok;
	unsigned char *unget_token;
	unsigned int unget_len;

	unsigned char *tokenbuf, *tokenptr, *tokenend;
} CamelIMAPPStream;
</programlisting>
<para>

</para></refsect2>
<refsect2 id="camel-imapp-token-t" role="enum">
<title>enum camel_imapp_token_t</title>
<indexterm zone="camel-imapp-token-t"><primary>camel_imapp_token_t</primary></indexterm><programlisting>typedef enum {
	IMAP_TOK_PROTOCOL = -2,
	IMAP_TOK_ERROR = -1,
	IMAP_TOK_TOKEN = 256,
	IMAP_TOK_STRING,
	IMAP_TOK_INT,
	IMAP_TOK_LITERAL,
} camel_imapp_token_t;
</programlisting>
<para>

</para></refsect2>
<refsect2 id="camel-imapp-stream-new" role="function">
<title>camel_imapp_stream_new ()</title>
<indexterm zone="camel-imapp-stream-new"><primary>camel_imapp_stream_new</primary></indexterm><programlisting><link linkend="CamelStream">CamelStream</link>*        camel_imapp_stream_new              (<link linkend="CamelStream">CamelStream</link> *source);</programlisting>
<para>
Returns a NULL stream.  A null stream is always at eof, and
always returns success for all reads and writes.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>source</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the stream
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-imapp-stream-token" role="function">
<title>camel_imapp_stream_token ()</title>
<indexterm zone="camel-imapp-stream-token"><primary>camel_imapp_stream_token</primary></indexterm><programlisting><link linkend="camel-imapp-token-t">camel_imapp_token_t</link> camel_imapp_stream_token            (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="char">char</link> **start,
                                                         unsigned <link linkend="int">int</link> *len);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>is</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>start</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-imapp-stream-ungettoken" role="function">
<title>camel_imapp_stream_ungettoken ()</title>
<indexterm zone="camel-imapp-stream-ungettoken"><primary>camel_imapp_stream_ungettoken</primary></indexterm><programlisting><link linkend="void">void</link>                camel_imapp_stream_ungettoken       (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         <link linkend="camel-imapp-token-t">camel_imapp_token_t</link> tok,
                                                         unsigned <link linkend="char">char</link> *token,
                                                         unsigned <link linkend="int">int</link> len);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>is</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tok</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>token</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-imapp-stream-set-literal" role="function">
<title>camel_imapp_stream_set_literal ()</title>
<indexterm zone="camel-imapp-stream-set-literal"><primary>camel_imapp_stream_set_literal</primary></indexterm><programlisting><link linkend="void">void</link>                camel_imapp_stream_set_literal      (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="int">int</link> literal);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>is</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>literal</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-imapp-stream-gets" role="function">
<title>camel_imapp_stream_gets ()</title>
<indexterm zone="camel-imapp-stream-gets"><primary>camel_imapp_stream_gets</primary></indexterm><programlisting><link linkend="int">int</link>                 camel_imapp_stream_gets             (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="char">char</link> **start,
                                                         unsigned <link linkend="int">int</link> *len);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>is</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>start</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-imapp-stream-getl" role="function">
<title>camel_imapp_stream_getl ()</title>
<indexterm zone="camel-imapp-stream-getl"><primary>camel_imapp_stream_getl</primary></indexterm><programlisting><link linkend="int">int</link>                 camel_imapp_stream_getl             (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="char">char</link> **start,
                                                         unsigned <link linkend="int">int</link> *len);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>is</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>start</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-imapp-stream-atom" role="function">
<title>camel_imapp_stream_atom ()</title>
<indexterm zone="camel-imapp-stream-atom"><primary>camel_imapp_stream_atom</primary></indexterm><programlisting><link linkend="int">int</link>                 camel_imapp_stream_atom             (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="char">char</link> **start,
                                                         unsigned <link linkend="int">int</link> *len);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>is</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>start</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-imapp-stream-astring" role="function">
<title>camel_imapp_stream_astring ()</title>
<indexterm zone="camel-imapp-stream-astring"><primary>camel_imapp_stream_astring</primary></indexterm><programlisting><link linkend="int">int</link>                 camel_imapp_stream_astring          (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="char">char</link> **start);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>is</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>start</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-imapp-stream-nstring" role="function">
<title>camel_imapp_stream_nstring ()</title>
<indexterm zone="camel-imapp-stream-nstring"><primary>camel_imapp_stream_nstring</primary></indexterm><programlisting><link linkend="int">int</link>                 camel_imapp_stream_nstring          (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="char">char</link> **start);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>is</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>start</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-imapp-stream-nstring-stream" role="function">
<title>camel_imapp_stream_nstring_stream ()</title>
<indexterm zone="camel-imapp-stream-nstring-stream"><primary>camel_imapp_stream_nstring_stream</primary></indexterm><programlisting><link linkend="int">int</link>                 camel_imapp_stream_nstring_stream   (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         <link linkend="CamelStream">CamelStream</link> **stream);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>is</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-imapp-stream-text" role="function">
<title>camel_imapp_stream_text ()</title>
<indexterm zone="camel-imapp-stream-text"><primary>camel_imapp_stream_text</primary></indexterm><programlisting><link linkend="int">int</link>                 camel_imapp_stream_text             (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is,
                                                         unsigned <link linkend="char">char</link> **text);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>is</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>text</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-imapp-stream-number" role="function">
<title>camel_imapp_stream_number ()</title>
<indexterm zone="camel-imapp-stream-number"><primary>camel_imapp_stream_number</primary></indexterm><programlisting><link linkend="guint32">guint32</link>             camel_imapp_stream_number           (<link linkend="CamelIMAPPStream">CamelIMAPPStream</link> *is);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>is</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
