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

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

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

<synopsis>
                    <link linkend="urlmatch-t">urlmatch_t</link>;
<link linkend="gboolean">gboolean</link>            (<link linkend="CamelUrlScanFunc">*CamelUrlScanFunc</link>)                 (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *pos,
                                                         const <link linkend="char">char</link> *inend,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-url-file-start">camel_url_file_start</link>                (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *pos,
                                                         const <link linkend="char">char</link> *inend,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-url-file-end">camel_url_file_end</link>                  (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *pos,
                                                         const <link linkend="char">char</link> *inend,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-url-web-start">camel_url_web_start</link>                 (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *pos,
                                                         const <link linkend="char">char</link> *inend,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-url-web-end">camel_url_web_end</link>                   (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *pos,
                                                         const <link linkend="char">char</link> *inend,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-url-addrspec-start">camel_url_addrspec_start</link>            (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *pos,
                                                         const <link linkend="char">char</link> *inend,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-url-addrspec-end">camel_url_addrspec_end</link>              (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *pos,
                                                         const <link linkend="char">char</link> *inend,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);
                    <link linkend="urlpattern-t">urlpattern_t</link>;
                    <link linkend="CamelUrlScanner">CamelUrlScanner</link>;
<link linkend="CamelUrlScanner">CamelUrlScanner</link>*    <link linkend="camel-url-scanner-new">camel_url_scanner_new</link>               (void);
<link linkend="void">void</link>                <link linkend="camel-url-scanner-free">camel_url_scanner_free</link>              (<link linkend="CamelUrlScanner">CamelUrlScanner</link> *scanner);
<link linkend="void">void</link>                <link linkend="camel-url-scanner-add">camel_url_scanner_add</link>               (<link linkend="CamelUrlScanner">CamelUrlScanner</link> *scanner,
                                                         <link linkend="urlpattern-t">urlpattern_t</link> *pattern);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-url-scanner-scan">camel_url_scanner_scan</link>              (<link linkend="CamelUrlScanner">CamelUrlScanner</link> *scanner,
                                                         const <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> inlen,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);
</synopsis>
</refsynopsisdiv>









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

</para>
</refsect1>

<refsect1 id="camel-camel-url-scanner.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="urlmatch-t" role="struct">
<title>urlmatch_t</title>
<indexterm zone="urlmatch-t"><primary>urlmatch_t</primary></indexterm><programlisting>typedef struct {
	const char *pattern;
	const char *prefix;
	off_t um_so;
	off_t um_eo;
} urlmatch_t;
</programlisting>
<para>

</para></refsect2>
<refsect2 id="CamelUrlScanFunc" role="function">
<title>CamelUrlScanFunc ()</title>
<indexterm zone="CamelUrlScanFunc"><primary>CamelUrlScanFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            (*CamelUrlScanFunc)                 (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *pos,
                                                         const <link linkend="char">char</link> *inend,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pos</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>inend</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>match</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-url-file-start" role="function">
<title>camel_url_file_start ()</title>
<indexterm zone="camel-url-file-start"><primary>camel_url_file_start</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_url_file_start                (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *pos,
                                                         const <link linkend="char">char</link> *inend,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pos</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>inend</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>match</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-url-file-end" role="function">
<title>camel_url_file_end ()</title>
<indexterm zone="camel-url-file-end"><primary>camel_url_file_end</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_url_file_end                  (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *pos,
                                                         const <link linkend="char">char</link> *inend,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pos</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>inend</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>match</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-url-web-start" role="function">
<title>camel_url_web_start ()</title>
<indexterm zone="camel-url-web-start"><primary>camel_url_web_start</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_url_web_start                 (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *pos,
                                                         const <link linkend="char">char</link> *inend,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pos</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>inend</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>match</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-url-web-end" role="function">
<title>camel_url_web_end ()</title>
<indexterm zone="camel-url-web-end"><primary>camel_url_web_end</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_url_web_end                   (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *pos,
                                                         const <link linkend="char">char</link> *inend,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pos</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>inend</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>match</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-url-addrspec-start" role="function">
<title>camel_url_addrspec_start ()</title>
<indexterm zone="camel-url-addrspec-start"><primary>camel_url_addrspec_start</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_url_addrspec_start            (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *pos,
                                                         const <link linkend="char">char</link> *inend,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pos</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>inend</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>match</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-url-addrspec-end" role="function">
<title>camel_url_addrspec_end ()</title>
<indexterm zone="camel-url-addrspec-end"><primary>camel_url_addrspec_end</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_url_addrspec_end              (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *pos,
                                                         const <link linkend="char">char</link> *inend,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);</programlisting>
<para>

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


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="urlpattern-t" role="struct">
<title>urlpattern_t</title>
<indexterm zone="urlpattern-t"><primary>urlpattern_t</primary></indexterm><programlisting>typedef struct {
	char *pattern;
	char *prefix;
	CamelUrlScanFunc start;
	CamelUrlScanFunc end;
} urlpattern_t;
</programlisting>
<para>

</para></refsect2>
<refsect2 id="CamelUrlScanner" role="struct">
<title>CamelUrlScanner</title>
<indexterm zone="CamelUrlScanner"><primary>CamelUrlScanner</primary></indexterm><programlisting>typedef struct _CamelUrlScanner CamelUrlScanner;</programlisting>
<para>

</para></refsect2>
<refsect2 id="camel-url-scanner-new" role="function">
<title>camel_url_scanner_new ()</title>
<indexterm zone="camel-url-scanner-new"><primary>camel_url_scanner_new</primary></indexterm><programlisting><link linkend="CamelUrlScanner">CamelUrlScanner</link>*    camel_url_scanner_new               (void);</programlisting>
<para>

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


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-url-scanner-free" role="function">
<title>camel_url_scanner_free ()</title>
<indexterm zone="camel-url-scanner-free"><primary>camel_url_scanner_free</primary></indexterm><programlisting><link linkend="void">void</link>                camel_url_scanner_free              (<link linkend="CamelUrlScanner">CamelUrlScanner</link> *scanner);</programlisting>
<para>

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


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-url-scanner-add" role="function">
<title>camel_url_scanner_add ()</title>
<indexterm zone="camel-url-scanner-add"><primary>camel_url_scanner_add</primary></indexterm><programlisting><link linkend="void">void</link>                camel_url_scanner_add               (<link linkend="CamelUrlScanner">CamelUrlScanner</link> *scanner,
                                                         <link linkend="urlpattern-t">urlpattern_t</link> *pattern);</programlisting>
<para>

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


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-url-scanner-scan" role="function">
<title>camel_url_scanner_scan ()</title>
<indexterm zone="camel-url-scanner-scan"><primary>camel_url_scanner_scan</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_url_scanner_scan              (<link linkend="CamelUrlScanner">CamelUrlScanner</link> *scanner,
                                                         const <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> inlen,
                                                         <link linkend="urlmatch-t">urlmatch_t</link> *match);</programlisting>
<para>

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


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

</refsect1>




</refentry>
