You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
asterisk/main/minimime/mm-docs/html/group__codecs.html

244 lines
11 KiB

<!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: Manipulating MiniMIME codecs</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&nbsp;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
</ul></div>
<h1>Manipulating MiniMIME codecs</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Codec manipulation</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codecs.html#g6ccb0f7a1d7c870dc3dae04f31d6ccca">mm_codec_hasdecoder</a> (const char *encoding)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codecs.html#g50ff257b794ceaec7aedf9ae18bfcc57">mm_codec_hasencoder</a> (const char *encoding)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codecs.html#g9e19f6343128fd7e4ec57c3d55049b55">mm_codec_isregistered</a> (const char *encoding)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codecs.html#gf97a7311c909888ed9f6f14d6f1bf397">mm_codec_register</a> (const char *encoding, char *(*encoder)(char *data, u_int32_t i), char *(*decoder)(char *data))</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codecs.html#g0c71696bc70f834386193e3c7a0e2ca4">mm_codec_unregister</a> (const char *encoding)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codecs.html#g7c9e6538f84c368be2b56a3c9ba702be">mm_codec_unregisterall</a> (void)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codecs.html#gf39e72460fb85f5ca41f6e270a68aacc">mm_codec_registerdefaultcodecs</a> (void)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g6ccb0f7a1d7c870dc3dae04f31d6ccca"></a><!-- doxytag: member="mm_codecs.c::mm_codec_hasdecoder" ref="g6ccb0f7a1d7c870dc3dae04f31d6ccca" args="(const char *encoding)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int mm_codec_hasdecoder </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>encoding</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Looks up whether a context has an decoder installed for a given encoding<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>encoding</em>&nbsp;</td><td>The encoding specifier to look up </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if a decoder is installed or 0 if not </dd></dl>
</div>
</div><p>
<a class="anchor" name="g50ff257b794ceaec7aedf9ae18bfcc57"></a><!-- doxytag: member="mm_codecs.c::mm_codec_hasencoder" ref="g50ff257b794ceaec7aedf9ae18bfcc57" args="(const char *encoding)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int mm_codec_hasencoder </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>encoding</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Looks up whether a context has an encoder installed for a given encoding<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>&nbsp;</td><td>A valid MIME context </td></tr>
<tr><td valign="top"></td><td valign="top"><em>encoding</em>&nbsp;</td><td>The encoding specifier to look up </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if an encoder is installed or 0 if not </dd></dl>
</div>
</div><p>
<a class="anchor" name="g9e19f6343128fd7e4ec57c3d55049b55"></a><!-- doxytag: member="mm_codecs.c::mm_codec_isregistered" ref="g9e19f6343128fd7e4ec57c3d55049b55" args="(const char *encoding)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int mm_codec_isregistered </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>encoding</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Looks up whether a codec for a given encoding is installed to a 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>encoding</em>&nbsp;</td><td>The encoding specifier to look up </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if a codec was found or 0 if not </dd></dl>
</div>
</div><p>
<a class="anchor" name="gf97a7311c909888ed9f6f14d6f1bf397"></a><!-- doxytag: member="mm_codecs.c::mm_codec_register" ref="gf97a7311c909888ed9f6f14d6f1bf397" args="(const char *encoding, char *(*encoder)(char *data, u_int32_t i), char *(*decoder)(char *data))" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int mm_codec_register </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>encoding</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *(*)(char *data, u_int32_t i)&nbsp;</td>
<td class="paramname"> <em>encoder</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *(*)(char *data)&nbsp;</td>
<td class="paramname"> <em>decoder</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Registers a codec with the MiniMIME library<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>encoding</em>&nbsp;</td><td>The encoding specifier for which to register the codec </td></tr>
<tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>The encoder function for this encoding </td></tr>
<tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>The decoder function for this encoding </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if successfull or 0 if not</dd></dl>
This function registers a codec for a given MiniMIME context. The codec may provide an decoder, an encoder or both (but not none). If there is a codec already installed for this encoding, the function will puke.
</div>
</div><p>
<a class="anchor" name="gf39e72460fb85f5ca41f6e270a68aacc"></a><!-- doxytag: member="mm_codecs.c::mm_codec_registerdefaultcodecs" ref="gf39e72460fb85f5ca41f6e270a68aacc" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mm_codec_registerdefaultcodecs </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Registers the default codecs to a MiniMIME context<p>
This functions registers the codecs for the following encodings to a MiniMIME context:<p>
<ul>
<li>Base64</li><li>(TODO:) Quoted-Printable </li></ul>
</div>
</div><p>
<a class="anchor" name="g0c71696bc70f834386193e3c7a0e2ca4"></a><!-- doxytag: member="mm_codecs.c::mm_codec_unregister" ref="g0c71696bc70f834386193e3c7a0e2ca4" args="(const char *encoding)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int mm_codec_unregister </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>encoding</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Unregisters a MiniMIME codec<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>encoding</em>&nbsp;</td><td>The encoding specifier which to unregister </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if unregistered successfully, or -1 if there was no such codec </dd></dl>
</div>
</div><p>
<a class="anchor" name="g7c9e6538f84c368be2b56a3c9ba702be"></a><!-- doxytag: member="mm_codecs.c::mm_codec_unregisterall" ref="g7c9e6538f84c368be2b56a3c9ba702be" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int mm_codec_unregisterall </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Unregisters all codecs within a 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>&nbsp;</td><td>A valid MiniMIME context </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if all codecs were unregistered successfully or -1 if an error occured. </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Foobar </dd></dl>
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Thu Mar 29 17:59:08 2007 for MiniMIME by&nbsp;
<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>