mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-09 19:38:22 +00:00
199 lines
9.7 KiB
HTML
199 lines
9.7 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
|
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||
|
|
<title>MiniMIME: mm_parse.c File Reference</title>
|
||
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||
|
|
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||
|
|
</head><body>
|
||
|
|
<!-- Generated by Doxygen 1.5.1 -->
|
||
|
|
<div class="tabs">
|
||
|
|
<ul>
|
||
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||
|
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||
|
|
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||
|
|
</ul></div>
|
||
|
|
<div class="tabs">
|
||
|
|
<ul>
|
||
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
||
|
|
<li><a href="globals.html"><span>Globals</span></a></li>
|
||
|
|
</ul></div>
|
||
|
|
<h1>mm_parse.c File Reference</h1><code>#include <sys/types.h></code><br>
|
||
|
|
<code>#include <sys/stat.h></code><br>
|
||
|
|
<code>#include <stdio.h></code><br>
|
||
|
|
<code>#include <stdlib.h></code><br>
|
||
|
|
<code>#include <unistd.h></code><br>
|
||
|
|
<code>#include <fcntl.h></code><br>
|
||
|
|
<code>#include <string.h></code><br>
|
||
|
|
<code>#include <ctype.h></code><br>
|
||
|
|
<code>#include <assert.h></code><br>
|
||
|
|
<code>#include "<a class="el" href="mm__internal_8h-source.html">mm_internal.h</a>"</code><br>
|
||
|
|
<code>#include "mm_util.h"</code><br>
|
||
|
|
<code>#include "mimeparser.h"</code><br>
|
||
|
|
<code>#include "mimeparser.tab.h"</code><br>
|
||
|
|
<table border="0" cellpadding="0" cellspacing="0">
|
||
|
|
<tr><td></td></tr>
|
||
|
|
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
||
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="mm__parse_8c.html#187cf71c0f6c2da1384823e3f20aa1a2">PARSER_initialize</a> (MM_CTX *, int)</td></tr>
|
||
|
|
|
||
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="92d7d8e20b6def16fcf2649e0d88651f"></a><!-- doxytag: member="mm_parse.c::PARSER_setbuffer" ref="92d7d8e20b6def16fcf2649e0d88651f" args="(const char *)" -->
|
||
|
|
void </td><td class="memItemRight" valign="bottom"><b>PARSER_setbuffer</b> (const char *)</td></tr>
|
||
|
|
|
||
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="04446354e4248226578b90007d728a7b"></a><!-- doxytag: member="mm_parse.c::PARSER_setfp" ref="04446354e4248226578b90007d728a7b" args="(FILE *)" -->
|
||
|
|
void </td><td class="memItemRight" valign="bottom"><b>PARSER_setfp</b> (FILE *)</td></tr>
|
||
|
|
|
||
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mm__parse_8c.html#58c960b6017f13d4e4ec5f09b3c38495">mm_parse_mem</a> (MM_CTX *ctx, const char *text, int parsemode, int flags)</td></tr>
|
||
|
|
|
||
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mm__parse_8c.html#cc9f623682b05f330c46e72e4e9d66cc">mm_parse_file</a> (MM_CTX *ctx, const char *filename, int parsemode, int flags)</td></tr>
|
||
|
|
|
||
|
|
</table>
|
||
|
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||
|
|
Functions to parse MIME messages <hr><h2>Function Documentation</h2>
|
||
|
|
<a class="anchor" name="cc9f623682b05f330c46e72e4e9d66cc"></a><!-- doxytag: member="mm_parse.c::mm_parse_file" ref="cc9f623682b05f330c46e72e4e9d66cc" args="(MM_CTX *ctx, const char *filename, int parsemode, int flags)" -->
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">int mm_parse_file </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">MM_CTX * </td>
|
||
|
|
<td class="paramname"> <em>ctx</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const char * </td>
|
||
|
|
<td class="paramname"> <em>filename</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">int </td>
|
||
|
|
<td class="paramname"> <em>parsemode</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">int </td>
|
||
|
|
<td class="paramname"> <em>flags</em></td><td> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td></td><td width="100%"></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div>
|
||
|
|
<div class="memdoc">
|
||
|
|
|
||
|
|
<p>
|
||
|
|
Parses a file into a MiniMIME context<p>
|
||
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
||
|
|
<tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>A valid MiniMIME context object </td></tr>
|
||
|
|
<tr><td valign="top"></td><td valign="top"><em>filename</em> </td><td>The name of the file to parse </td></tr>
|
||
|
|
<tr><td valign="top"></td><td valign="top"><em>parsemode</em> </td><td>The parsemode </td></tr>
|
||
|
|
<tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>The flags to pass to the parser </td></tr>
|
||
|
|
</table>
|
||
|
|
</dl>
|
||
|
|
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or -1 on failure </dd></dl>
|
||
|
|
<dl class="note" compact><dt><b>Note:</b></dt><dd>Sets mm_errno if an error occurs</dd></dl>
|
||
|
|
This function parses a MIME message, stored in the filesystem according to the parseflags and stores the results in the MiniMIME context specified by ctx.<p>
|
||
|
|
The following modes can be used to specify how the message should be parsed:<p>
|
||
|
|
<ul>
|
||
|
|
<li>MM_PARSE_STRICT: Do not tolerate MIME violations</li><li>MM_PARSE_LOOSE: Tolerate as much MIME violations as possible</li></ul>
|
||
|
|
<p>
|
||
|
|
The context needs to be initialized before using <a class="el" href="group__context.html#g919fd41f85534d9c87c256857faa2610">mm_context_new()</a> and may be freed using <a class="el" href="group__context.html#g76392d5269e9ef340c2f5f8336f7193b">mm_context_free()</a>.
|
||
|
|
</div>
|
||
|
|
</div><p>
|
||
|
|
<a class="anchor" name="58c960b6017f13d4e4ec5f09b3c38495"></a><!-- doxytag: member="mm_parse.c::mm_parse_mem" ref="58c960b6017f13d4e4ec5f09b3c38495" args="(MM_CTX *ctx, const char *text, int parsemode, int flags)" -->
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">int mm_parse_mem </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">MM_CTX * </td>
|
||
|
|
<td class="paramname"> <em>ctx</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">const char * </td>
|
||
|
|
<td class="paramname"> <em>text</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">int </td>
|
||
|
|
<td class="paramname"> <em>parsemode</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">int </td>
|
||
|
|
<td class="paramname"> <em>flags</em></td><td> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td></td><td width="100%"></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div>
|
||
|
|
<div class="memdoc">
|
||
|
|
|
||
|
|
<p>
|
||
|
|
Parses a NUL-terminated string into a MiniMIME context<p>
|
||
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
||
|
|
<tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>A valid MiniMIME context object </td></tr>
|
||
|
|
<tr><td valign="top"></td><td valign="top"><em>text</em> </td><td>The NUL-terminated string to parse </td></tr>
|
||
|
|
<tr><td valign="top"></td><td valign="top"><em>parsemode</em> </td><td>The parsemode </td></tr>
|
||
|
|
<tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>The flags to pass to the parser </td></tr>
|
||
|
|
</table>
|
||
|
|
</dl>
|
||
|
|
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or -1 on failure </dd></dl>
|
||
|
|
<dl class="note" compact><dt><b>Note:</b></dt><dd>Sets mm_errno if an error occurs</dd></dl>
|
||
|
|
This function parses a MIME message, stored in the memory region pointed to by text (must be NUL-terminated) according to the parseflags and stores the results in the MiniMIME context specified by ctx.<p>
|
||
|
|
The following modes can be used to specify how the message should be parsed:<p>
|
||
|
|
<ul>
|
||
|
|
<li>MM_PARSE_STRICT: Do not tolerate MIME violations</li><li>MM_PARSE_LOOSE: Tolerate as much MIME violations as possible</li></ul>
|
||
|
|
<p>
|
||
|
|
The context needs to be initialized before using <a class="el" href="group__context.html#g919fd41f85534d9c87c256857faa2610">mm_context_new()</a> and may be freed using <a class="el" href="group__context.html#g76392d5269e9ef340c2f5f8336f7193b">mm_context_free()</a>.
|
||
|
|
</div>
|
||
|
|
</div><p>
|
||
|
|
<a class="anchor" name="187cf71c0f6c2da1384823e3f20aa1a2"></a><!-- doxytag: member="mm_parse.c::PARSER_initialize" ref="187cf71c0f6c2da1384823e3f20aa1a2" args="(MM_CTX *, int)" -->
|
||
|
|
<div class="memitem">
|
||
|
|
<div class="memproto">
|
||
|
|
<table class="memname">
|
||
|
|
<tr>
|
||
|
|
<td class="memname">void PARSER_initialize </td>
|
||
|
|
<td>(</td>
|
||
|
|
<td class="paramtype">MM_CTX * </td>
|
||
|
|
<td class="paramname"> <em>newctx</em>, </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td class="paramkey"></td>
|
||
|
|
<td></td>
|
||
|
|
<td class="paramtype">int </td>
|
||
|
|
<td class="paramname"> <em>mode</em></td><td> </td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td></td>
|
||
|
|
<td>)</td>
|
||
|
|
<td></td><td></td><td width="100%"></td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</div>
|
||
|
|
<div class="memdoc">
|
||
|
|
|
||
|
|
<p>
|
||
|
|
Initializes the parser engine.
|
||
|
|
</div>
|
||
|
|
</div><p>
|
||
|
|
<hr size="1"><address style="align: right;"><small>Generated on Thu Mar 29 17:59:08 2007 for MiniMIME by
|
||
|
|
<a href="http://www.doxygen.org/index.html">
|
||
|
|
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
|
||
|
|
</body>
|
||
|
|
</html>
|